【问题标题】:Any difference between a ?WSDL and ?wsdl parameter??WSDL 和 ?wsdl 参数之间有什么区别?
【发布时间】:2014-09-17 16:07:37
【问题描述】:

用大写?WSDL 或小写?wsdl 为Web 服务端点添加后缀有什么区别吗?

我正在使用 PHP 的 SoapClient。当我将 URL 设置为大写 ?WSDL(如 http://example.com/Foo.asmx?WSDL)时,我遇到内存限制错误或无内容错误。但是当我使用小写的?wsdlhttp://example.com/Foo.asmx?wsdl 时,它可以工作!

有什么区别? SOAP 服务器上的东西还是什么?

已编辑

我遇到了真正的问题。这是关于缓存和存储的,SOAP 无法存储缓存文件,因为服务器已满。不知道 wsdl 缓存是否适用于所有语言,但至少在 PHP 中,这个线程救了我:In PHP how can you clear a WSDL cache?

【问题讨论】:

    标签: php web-services soap wsdl


    【解决方案1】:

    ?wsdl?WSDL 或任何大小写字母组合之间不应有任何区别。请参阅以下示例:

    http://www.dneonline.com/calculator.asmx?WSDL
    http://www.dneonline.com/calculator.asmx?wsdl
    http://www.dneonline.com/calculator.asmx?Wsdl
    http://www.dneonline.com/calculator.asmx?WsDl

    这个特定的 Web 服务不关心,也不应该关心,只要我明确要求 WSDL。

    但这可能并非总是如此,具体取决于用于构建 Web 服务的技术以及代码如何检查参数是否存在。如果在代码中与 wsdl 字符串进行不区分大小写的比较,则任何组合都可以使用。如果比较区分大小写,则只有完全匹配才是有效的(这将是草率的编程,但会发生类似的事情)。

    你的是一个 dot.NET 服务,所以它不应该关心。但也许它前面有防火墙,或者反向代理,它被错误地配置为只接受完全匹配。在您的浏览器中使用不同的大小写组合请求 WSDL,然后查看您获得的状态码。

    底线是无关紧要,但有时这就是您必须处理的问题。

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2013-01-10
      • 1970-01-01
      • 2011-05-29
      相关资源
      最近更新 更多