PHP SoapClient错误

时间:2015-07-23 23:45:12

标签: php xml soap

我试图通过肥皂电话获取一些信息,但我收到以下警告/错误:

遇到PHP错误 严重性:警告 消息:SoapClient :: SoapClient():php_network_getaddresses:getaddrinfo failed:名称或服务未知

遇到PHP错误 严重性:警告 消息:SoapClient :: SoapClient(https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0):无法打开流:php_network_getaddresses:getaddrinfo failed:名称或服务未知

遇到PHP错误 严重性:警告 消息:SoapClient :: SoapClient():I / O警告:无法加载外部实体" https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0"

致命错误:未捕获的SoapFault异常:[WSDL] SOAP-ERROR:解析架构:无法从' https://ec2amaz-dbmdpji/ExtServices/contract/ContractService.svc?xsd=xsd0'导入架构。

以下是我的电话:

$client = new SoapClient(SAAM_URL, array(
            'style' => SOAP_DOCUMENT, 
            'use' => SOAP_LITERAL));

SAAM_URL是带URL的常量(是https:// url)。

有人告诉我这个问题可能与ssl证书的问题有关,所以我试图取消'通过执行验证:

$context = stream_context_create(array(
                        'ssl' => array(
                            'verify_peer' => false,
                            'verify_peer_name' => false,
                            'allow_self_signed' => true
                            )
                    ));

$client = new SoapClient(SAAM_URL, array(
            'style' => SOAP_DOCUMENT, 
            'use' => SOAP_LITERAL,
            'stream_context' => $context));

但没有发生任何事情,我仍然遇到同样的错误。有什么建议吗?

PD:我检查了网址,并显示了正确的内容。

由于

2 个答案:

答案 0 :(得分:0)

我遇到同样的麻烦,然后我使用了SoapUI然后我发现wsdl正在重定向到另一个地址。

答案 1 :(得分:0)

PHP不会使用您的流上下文来访问WSDL文件。流上下文仅用于实际的SOAP调用。

这提出了一个问题,但有一个选择是下载WSDL及其包含的模式,并在本地使用它们。

以下another question存在类似问题,可能有解决方法。