【问题标题】:How do I call a specific web service method with AJAX?如何使用 AJAX 调用特定的 Web 服务方法?
【发布时间】:2013-03-20 15:07:34
【问题描述】:

如何通过 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>

【问题讨论】:

  • 你试过http://newsite.wrapcompliance.org/FactoriesWS.wsdl/factCountByCountryID
  • 是的,.ajax 函数进入了错误案例。错误是“未找到”
  • 那些很快将这个问题标记为“重复”的人并没有注意到他们认为这个重复的问题实际上是关于链接到 jQuery 库,除了“jQuery”之外几乎没有与这里提出的问题有关。
  • OP 没有说明错误是什么。他的代码没有任何迹象表明它实际上正在加载 jQuery 库。所以人们认为他的错误是因为这个是有道理的。如果不是,那么 OP,请说明您的确切错误是什么,并表明您正在正确使用 jQuery,我很乐意添加我的重新打开投票。
  • 如果他还没有真正加载 jQuery 库,那么错误调用函数到底如何工作?它会在“$.ajax”处失败并返回完全不同的错误消息。

标签: jquery html ajax database wsdl


【解决方案1】:

使用jQuery.soap 插件,它将为您处理 SOAP 部分。您需要先对其进行配置,然后才能使用:

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

【讨论】:

  • 这看起来很有趣。我是否需要包含任何其他 .js 文件才能使其正常工作?我阅读了您提供的链接,但没有看到。
  • 是的,你需要。插件的网站和下载地址在这里:plugins.jquery.com/soap
【解决方案2】:

首先你的地址有误! 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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多