PHP SoapClient创建错误:“;命名空间必须与封闭架构“”不匹配;


PHP SoapClient creating error: "Namespace must not match the enclosing schema"

尝试创建SoapClient对象时,我收到"Namespace must not match the enclosing schema"错误。代码很简单:

<?php $client = new 'SoapClient('http://www.server.com/Service?wsdl');

如何通过忽略此错误来创建对象?

我不确定WSDL是什么样子的,所以很难判断是否可以避免错误。但是,您可以切换到使用非WSDL模式创建SoapClient

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
                                 'uri'      => "http://test-uri/"));

其中locationuri描述为:

一组选项。如果在WSDL模式,此参数是可选的。如果在非WSDL模式下工作必须设置location和uri选项,其中location是要请求的URLuri是SOAP服务。

来源:http://www.php.net/manual/en/soapclient.soapclient.php