php - soapclient 解析模式 : can't import schema from

标签 php soap-client

示例脚本:

try {
        $client = new SoapClient("http://webservices.sabre.com/wsdl/sabreXML1.0.00/GHT/HotelDirectUpdate.wsdl", array("trace" => 0));
    } catch (Exception $ex) {
        var_dump($ex->faultcode, $ex->faultstring, $ex->faultactor, $ex->detail, $ex->_name, $ex->headerfault);
    }

输出:

string(4) "WSDL"
string(216) "SOAP-ERROR: Parsing Schema: can't import schema from 'http://webservices.sabre.com/wsdl/sabreXML1.0.00/GHT/HotelDirectUpdateRQ.xsd', unexpected 'targetNamespace'='http://webservices.sabre.com/hgc/hoteldirectupdaterq'"
NULL
NULL
NULL
NULL

我知道 wsdl 文件是正确的。我通过 http://www.soapclient.com/interop/interopTest.html 检查了 wsdl 文件它看起来不错。但是当我从 php 调用 wsdl 文件时,它给出了上述错误。

有什么想法/建议吗?

最佳答案

我们还发现 SoapClient 无法处理某些模式,但不会出现您收到的错误。最不坏的解决方案似乎是使用 Java 与 SOAP 服务交互,使用 PHP-Java BridgeGearman做 PHP-Java 互操作。

关于php - soapclient 解析模式 : can't import schema from,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905349/

相关文章:

php - mysqli_query() 返回全表的空结果

php - 如何从 Vtiger 6.3 文本中删除省略号?

如果信息太多,php 脚本不返回任何内容

php - 如何使用 PHP 代码从服务器下载文件

php - 通过 HTTPS 的 SOAP 客户端,双方都带有 SSL 证书

php - 如何解决此 SOAP 异常 'Unmarshalling Error'

php - Codeigniter: 'You did not select a file to upload',当通过 Ajax 发送数据时

php - PHP SOAP 类转换如何工作以及如何获得一致的列表结果?

java - 如何将 Int 传递给 Java 中的 Soap 请求

asp.net-core-2.0 - Asp.Net Core 2.0 WCF 客户端 CustomBinding PlatformNotSupportedException : BuildChannelFactoryCore is not supported