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

发布于 2024-11-09 21:05:38 字数 177 浏览 6 评论 0原文

尝试创建 SoapClient 对象时出现“命名空间必须与封闭架构不匹配”错误。代码很简单:

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

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

I'm getting "Namespace must not match the enclosing schema" error when trying to create SoapClient object. Code is simple:

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

How can I create object by ignoring this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷情 2024-11-16 21:05:38

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

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

其中 locationuri 描述为:

一系列选项。如果工作于
WSDL模式,该参数可选。
如果工作在非 WSDL 模式下,
必须设置位置和 uri 选项,
其中location是要请求的URL
uri 是目标命名空间
SOAP 服务。

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

I'm not sure what the WSDL looks like, so it's a bit hard to tell if the error can be avoided. However, you can switch to creating a SoapClient using non WSDL mode:

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

Where location and uri are described as:

An array of options. If working in
WSDL mode, this parameter is optional.
If working in non-WSDL mode, the
location and uri options must be set,
where location is the URL to request
and uri is the target namespace of the
SOAP service.

Source: http://www.php.net/manual/en/soapclient.soapclient.php

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文