PHP:默认SOAP XML命名空间

时间:2017-01-06 13:57:22

标签: php xml wcf soap

我正在使用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/

1 个答案:

答案 0 :(得分:0)

如果您要求那么您可能正在使用WSDL模式。 WSDL定义了默认命名空间。

否则the docs会帮助您:

  

如果在非WSDL模式下工作,则必须设置location和uri选项,其中location是要将请求发送到的SOAP服务器的URL,而uri是SOAP服务的目标命名空间。