0

TryIt と SoapUI を介して正しくテストするデータ サービスを作成しました。ただし、ガジェットに含めようとすると、常に次のエラーが発生します。

「エンドポイントhttps://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/への SOAP ペイロードのリレー中にエラーが発生しました 」ガジェットには次のフラグメントが含まれています: function doSOAPCall(){ var endpoint = " https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/ "; var ペイロード = ""; var operation = "urn:getproduct"; document.getElementById("response-disp").innerHTML = wso2.io.makeSOAPRequest(エンドポイント、操作、ペイロード); }

データ サービスは、サンプルhttp://wso2.org/library/tutorials/2011/11/expose-your-cloud-data-as-rdf-data-modelに基づいています。操作にパラメーターは必要ありませんが、ペイロードのすべてのバリアントを試しましたが成功しませんでした。

4

1 に答える 1

1

手順を試してみたところ、SOAP 呼び出しを行うガジェット コード セグメントに 2 つの問題があることがわかりました。

1 つ目は、データ サービス エンドポイントからアクセスしている操作であるため、ペイロードを渡す必要がないため、ガジェット xml 内でペイロードを「null」[NOT ペイロード=""] に設定する必要があることです。

2 つ目の問題は、ガジェット xml で定義されている操作名が正しくないことです。try-it オプションでデータ サービスを試してみたところ、アクセス操作名が「_getProduct」であり、「getProduct」ではないことがわかりました。

上記の 2 つの問題を修正すると、SOAP ガジェットはエンドポイントで適切に動作し、アクセス操作からガジェットへの応答を取得できるようになります。修正された doSOAPCall() 関数のコード セグメントは次のとおりです。

function doSOAPCall(){ var endpoint = "https://data.stratoslive.wso2.com/services/t/inova8.com/ProductVendorDataService.SOAP11Endpoint/"; var ペイロード = null; var operation = "urn:_getproduct"; document.getElementById("response-disp").innerHTML = wso2.io.makeSOAPRequest(エンドポイント、操作、ペイロード); }

ありがとう;

ララジ

于 2012-03-10T15:52:20.723 に答える