我试图通过肥皂电话获取一些信息,但我收到以下警告/错误:
遇到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:我检查了网址,并显示了正确的内容。
由于
答案 0 :(得分:0)
我遇到同样的麻烦,然后我使用了SoapUI然后我发现wsdl正在重定向到另一个地址。
答案 1 :(得分:0)
PHP不会使用您的流上下文来访问WSDL
文件。流上下文仅用于实际的SOAP
调用。
这提出了一个问题,但有一个选择是下载WSDL
及其包含的模式,并在本地使用它们。
以下another question存在类似问题,可能有解决方法。