2012-03-08 56 views
0

我已經創建了一個數據服務,它通過TryIt和SoapUI正確地進行測試。然而,當我試圖把它列入到一個小工具,我總是得到這樣的錯誤:WSO2 Gadget無法訪問SOAP有效載荷

"An error occurred while relaying a SOAP payload, to end point https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/ " The gadget includes this fragment: function doSOAPCall(){ var endpoint = " https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/ "; var payload = ""; var operation = "urn:getproduct"; document.getElementById("response-disp").innerHTML = wso2.io.makeSOAPRequest(endpoint, operation, payload); }

數據服務是基於例如http://wso2.org/library/tutorials/2011/11/expose-your-cloud-data-as-rdf-data-model。請注意,該操作不需要任何參數,但我已經嘗試了有效負載的每個變體而沒有成功。

回答

1

我試過你的步驟,發現你的小工具代碼段有兩個問題需要進行SOAP調用。

第一個問題是,由於您正在從數據服務端點訪問的操作,因此不需要任何有效負載傳遞給它。這樣,在小工具xml中,您必須將有效負載設置爲'null'[NOT payload =「 「。

第二個問題是,您在小工具xml中定義的操作名稱不正確。一旦我通過嘗試選項嘗試了您的數據服務,我發現您的訪問操作名稱爲「_getProduct」,而不是「getProduct」 。

一旦糾正超過兩個問題,SOAP小工具可以很好地處理您的端點,並且可以從您的訪問操作中獲得對小工具的響應。修正的doSOAPCall()函數代碼段如下所示。

函數doSOAPCall(){var endpoint =「https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/」; var payload = null; var operation =「urn:_getproduct」; (「response-disp」)。innerHTML = wso2.io.makeSOAPRequest(endpoint,operation,payload); }

謝謝;

Lalaji