2012-07-11 65 views
0

我正嘗試在註冊表中上傳碳檔案。一切似乎是確定,當我添加新的應用程序,但日誌顯示以下錯誤:WS02部署碳檔案時發生GREG錯誤

An error occurred while determining the latest version of the resource at the given path: 
/_system/governance/trunk/wsdls/.... (path to the wsld deployed) 
org.wso2.carbon.registry.core.exceptions.RegistryException: Failed to obtain the user realm for tenant: -1 

我登錄與管理用戶的一切都是應該的上傳是在註冊表中。

任何幫助?

感謝,

回答

0

我試着用WSO2 G-註冊4.1.1,但無法重現它重現此。

請指出您嘗試過此方案的G-Reg版本。

當您從管理控制檯上傳CAR文件時,請確保在上載較新版本之前刪除先前版本的相同CAR文件。

此錯誤似乎與版本控制有關。

由於您刪除了舊版本的CAR文件,上述建議將解決您的問題。

感謝和問候,

Harshana

+0

我認爲,當我上傳的WSDL首次,這不會發生。當我刪除碳應用程序時,我將其刪除,之後刪除服務和wsdl。這是一個正確的方法嗎?我應該保留wsdl和服務嗎? – fipries 2012-07-12 06:21:09

+0

我的註冊表版本也是4.1.1。 – fipries 2012-07-12 07:57:45

+0

如果您使用CAR文件部署WSDL,那麼當您刪除/刪除CAR文件時,CAR文件部署人員會負責取消部署的資源。因此,您不需要明確地從註冊表中刪除它們。 當你這樣做時,CAR部署者將無法執行其任務,因此你可能會面臨一些不可預測的行爲。因此,請勿手動刪除WSDL或服務。讓部署人員來處理它。 – 2012-07-16 19:22:16

0

的WSDL存​​儲在/_system/governance/../trunk/wsdl/ ..位置,如果你上傳到通過管理控制檯或上傳從開發資源Studio註冊表瀏覽器。

但是,當您通過C-App部署WSDL時,從Developer Studio創建註冊表資源時,需指定要部署的位置。因此,通過C-Apps部署的WSDL部署到此指定位置,而不是其他位置。

因此,從您的代理服務中,您應該引用您提到的位置來部署WSDL,但不是默認位置。

修復此問題後,您的代理服務將正常工作。

感謝和問候,

Harshana

+0

我已經檢查過,當您通過管理控制檯上傳包含汽車文件的wsdl時,wsld文件將放置在根文件夾中。如果我通過汽車檔案上傳,它將放置在我設置的位置。兩種情況下,wsld都由系統處理,結果是新的wsdl/schema元數據。當我取消部署生成新的wsdl/schema的汽車應用程序時,它無法刪除wsdl/schema元數據條目。當你說「你應該參考你提到的位置來部署你的WSDL而不是默認位置」時,你的意思是trunk/wsdl位置還是我放置wsdl的位置? – fipries 2012-07-24 07:47:57

+0

我的意思是你放置WSDL文件的人。 無論何時WSDL存​​儲在G-Reg中,都有一個處理WSDL文件的處理程序,它將被調用並生成元數據。 還有一件事是,如果您從代理服務引用此WSDL文件,則需要將此WSDL上載到ESB的註冊表,而不是G-Reg。您可以通過在Developer Studio中更改C-App中的註冊工件的服務器角色來完成此操作。 – 2012-07-28 15:48:30

+0

對於所有組件,我們只有一個greg,所以我將wsdl上傳到esb中的config文件夾。這意味着wsdl被放置在greg的esbConfig文件夾中。當我通過配置治理樹從esb到代理嚮導,我看不到任何wsdl,但放置在中繼文件夾中。 「wsld」表示包含wsdl的文件,無論文件擴展名如何。我用一些簡單的文本做了一些上傳* .wsdl,* .xml和* .txt文件的測試。文本文件是我成功從ESB中看到的唯一文件。它可能是一種過濾器,讓你使用trunk wsdl? – fipries 2012-07-30 12:47:13

相關問題