【问题标题】:Calling WSDL Service via jQuery通过 jQuery 调用 WSDL 服务
【发布时间】:2011-04-05 20:07:32
【问题描述】:

我一直在谷歌上搜索使用 jQuery 调用基于 WSDL (SOAP) 的服务,但我没有找到任何东西。

真的有办法像我调用基于 REST 的服务一样调用它们吗?

我的示例网址是http://sub.domain.com/j/services/ivos?wsdl

【问题讨论】:

  • 你想对这个调用的结果做什么? WSDL 只是 XML,因此您应该能够解析它。但是之后你想做什么呢?

标签: jquery web-services wsdl


【解决方案1】:

如果您可以修改发送到您的 wsdl 的标头,我想这是可能的。

【讨论】:

  • 要从 wsdl 获取结果,您需要发送一个特定的标头请求。肥皂请求示例:POST/BibleWebservice.asmx HTTP/1.1" 主机:www.webservicex.net 内容类型:text/xml; charset=utf-8 webserviceX.NET/GetBookTitles。如果您能够修改 jquery 发送的标头到 wsdl,我想你会得到正确的结果,
  • 实际上该服务是由某个人通过 Visual Studio 创建的,我不确定如何使用它。您能否发布一些链接让我了解基于 SOAP 的服务,因为当我指向 ?wsdl 链接时,其中包含大量 XML?
  • 还需要一个肥皂信封
  • 它是需要发送到 wsdl 的所需 xml(函数名、参数等),wsdl 总是有关于 SOAP 信封应该如何看起来像示例的说明:w3schools.com/soap/soap_envelope.asp,
  • 现在我意识到了。我认为问题应该如何使用 WSDL 响应 XML 创建 SOAP Envelope?
【解决方案2】:

查看堆栈溢出问题Simplest SOAP example,如果这是你需要的

虽然我不确定您需要做什么,但 wsdl 只会以 xml 形式发送 Web 服务描述。

我解决这个问题的方法是创建一个休息包装器,负责处理肥皂并发送 json 响应。

这样你就可以使用 $.ajax、$.getJSON、$.post 等调用它

【讨论】:

  • 没有服务已经通过 SOAP 编写。我只想知道如何使用 JS 调用它们。你知道吗?
  • 不,我确信有库可以做到这一点,我只是说在服务器端包装它可能会更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
相关资源
最近更新 更多