【问题标题】:Does the soap:address variable within a WSDL file contain the location of the web service?WSDL 文件中的soap:address 变量是否包含Web 服务的位置?
【发布时间】:2012-02-01 04:27:32
【问题描述】:

我正在与提供 wsdl 文件以访问该功能的 Web 服务集成。 Web 服务最终将在本地运行,但我目前正在他们的服务器上远程测试它。 WSDL 文件(他们声称应该允许访问他们的远程服务器)在服务部分中有以下内容:

      <soap:address location="http://localhost/webservices/15/login.asmx" />

我是不是要疯了,或者这并不意味着它正在本地机器上而不是远程地寻找网络服务(并且大概这实际上应该指向他们远程机器上的网络服务器)?

【问题讨论】:

    标签: xml web-services soap wsdl


    【解决方案1】:

    不,soap:address 只是服务可能位于何处的提示。

    【讨论】:

    • 所以没有具体定义它的位置,这应该在WDSL之外单独定义(顺便说一下我用的是PHP)?
    • 可能有多个服务具有相同的 WSDL,位于不同的 URL。它没有在任何地方定义
    • 所以(在 ​​PHP 中)如果在连接时指定了 location 变量,它会使用它,否则它使用soap:address 变量中的地址(或者这实际上从未使用过)?否则除了指定 WSDL 文件的位置之外,还应该在 location 变量中指定 Web 服务的 url?例如 new SoapClient("some.wsdl", array('location' => "remotedomain.com/soap.php"))?谢谢 :)
    • 我不知道 PHP 是如何工作的。使用 .NET,如果需要,可以在运行时设置 URL,或者将其放入配置中。
    • 那么,如果 WSDL 没有定义您可以在哪里找到服务的正确 URL,那么拥有 WSDL 有什么意义呢?我认为soap:address不仅仅是一个提示,而是应该指向服务的实际位置。
    猜你喜欢
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多