我正在使用PHP 5.6,因为客户端正在使用它。我必须通过SOAP与Microsoft WCF服务进行通信,而不使用WSDL。
我或多或少都存在,但如果有办法为SOAP信封设置默认的XML命名空间,它会让我的生活变得更轻松。
我认为在SoapClient
构造函数上设置'URI'选项可以做到这一点,但它没有。
WCF服务设置此默认命名空间,因此如果没有它,我必须使用该命名空间显式标记所有SoapVar
变量才能使其工作。
是否可以让SoapClient
设置默认命名空间?
即
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://tempuri.org/">
<!-- SOAP Contents -->
</soap:Envelope>
默认命名空间为http://tempuri.org/
。
答案 0 :(得分:0)
如果您要求那么您可能正在使用WSDL模式。 WSDL定义了默认命名空间。
否则the docs会帮助您:
如果在非WSDL模式下工作,则必须设置location和uri选项,其中location是要将请求发送到的SOAP服务器的URL,而uri是SOAP服务的目标命名空间。