根据 WS-i 的 BP2406 验证 nuSoap(绑定需要为真)

Validating nuSoap against WS-i 's BP2406 (Binding required true)

今天带给我的问题如下。我们已经拥有功能齐全的 WS 几年了。这被不同的客户使用,但我们的目标是销售给需要我们的 Web 服务与 WS-i 兼容的新潜在客户。

我使用 PHP 和 nuSoap 构建 WS,我使用 SoapUi,它使用 Ws-i 测试工具来验证合规性。 Vaidation 因这个错误而失败 ---BP2406

SOAPBody ({http://schemas.xmlsoap.org/wsdl/soap/}body):
required=null
use=encoded
encodingStyles=[http://schemas.xmlsoap.org/soap/encoding/]
namespaceURI=http://mydomain/webservice.php
Element Location:
  lineNumber=134

以及我的 WSDL 的第 134 和 135 行

<binding name="MyWSBinding" type="tns:MyWsPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

有没有人知道如何使用 php 的 nuSoap 将绑定权限设置为兼容。任何建议都会有所帮助。

提前致谢。

我验证了。如果有人 evr 遇到这个错误。修复方法是将 'rpc'/'literal' 或 false 作为参数添加到 $server->register() 方法。 由于此参数是可选的,您的 WS 可以工作,但如果未指定则不会验证。