0

ajax を介して特定の WSDL メソッドを呼び出すにはどうすればよいですか。次のサービスがあります。

http://newsite.wrapcompliance.org/FactoriesWS.wsdl

factCountByCountryID()そして、3文字の文字列を指定すると整数を返すメソッドを呼び出そうとしています。これまでのコードは次のとおりです。

<h3>jQuery Test</h3>

<script type="text/javascript">

function callService()
{
$.ajax
({
    url: "http://newsite.wrapcompliance.org/FactoriesWS.wsdl",
    type: "POST",
    dataType: "html",
    data: {"countryCd":"BGD"},
    success: processData,
    error: onError
});

return false;
}

function processData(xml)
{
    alert(xml);
}

function onError(request, status, error)
{
alert("It didn't work!!!");
}

</script>

<form method="post" action="">
    <input type="button" value="Do it now!!" onclick="callService(); return false"/>
    </form>

4

2 に答える 2

1

まず、住所が間違っています!WSDL はサービスを記述するだけで、サービスの実装そのものではありません。このようにすると、リクエストをファイルに向けるだけで済みます。wsdlにはサービスの説明がありますが: " http://apollov-dev.worlddata.com:8080/WrapSystem/services/FactoriesWS "

さらに、サーバー側で消費される有効な SOAP メッセージを送信する必要があります。[WSDL に記述]

ある種のチュートリアル: http://openlandscape.net/2009/09/25/call-soap-xm-web-services-with-jquery-ajax/

于 2013-03-20T15:16:24.750 に答える
1

SOAP 部分を処理するjQuery.soapプラグインを使用します。最初に構成する必要があり、使用できるよりも:

$.soap({
    method: 'factCountByCountryID',
    params: {
        countryCd: 'BGD',
    },
    success: function (data) {
        // do stuff with data
    }
});
于 2013-03-20T15:22:40.023 に答える