2013-03-20 51 views
0

如何通过AJAX调用特定的WSDL方法..我有以下服务:如何使用AJAX调用特定的Web服务方法?

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> 

+0

您是否尝试过通过'http:// newsite.wrapcompliance.org/FactoriesWS.wsdl/factCountByCountryID' – Musa 2013-03-20 15:11:33

+0

是,在阿贾克斯功能去了错误的情况下。错误是“未找到” – 2013-03-20 15:14:34

+0

那些很快将这个问题标记为“重复”的人没有注意到他们认为这个重复的问题实际上是关于链接到jQuery库,而“jQuery”处理这里提出的问题。 – 2014-11-21 18:28:36

回答

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/

1

使用jQuery.soap插件,将处理SOAP部分为您服务。您需要先配置它比你可以使用:

$.soap({ 
    method: 'factCountByCountryID', 
    params: { 
     countryCd: 'BGD', 
    }, 
    success: function (data) { 
     // do stuff with data 
    } 
}); 
+0

这看起来很有趣。我是否需要包含任何额外的.js文件才能使用?我读了你提供的链接,我没有看到。 – 2013-03-20 15:27:40

+0

是的,你需要。插件的网站和下载在这里:http://plugins.jquery.com/soap/ – 2013-03-20 15:32:03