首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SoapClient“无法连接到主机”异常,只有一个WSDL API

SoapClient“无法连接到主机”异常,只有一个WSDL API
EN

Stack Overflow用户
提问于 2016-04-26 22:52:34
回答 1查看 7.9K关注 0票数 1

在迁移到一台新的OVH VPS机器后,我遇到了一个与API的WSDL连接问题,所以这可能是某种奇怪的配置错误。

我在SoapClient中使用的其他WSDL运行得很好,没有问题。我可以在地址上使用file_get_contents,但是当我使用SoapClient时,当我试图使用该API中的过程时,我会给出一个异常“无法连接到主机”。

有什么想法吗?我尝试了一些带有SSL选项的stream_context。最有趣的是,在另一个OVH VPS上工作得很好。

系统是带有PHP 5.6.19的Debian 8。

WSDL的地址在这里:https://api-test.paczkawruchu.pl/WebServicePwR/WebServicePwRTest.asmx?WSDL

EN

Stack Overflow用户

发布于 2016-04-27 16:12:53

在咨询了WSDL提供者,并检查了两端的日志后,我们找到了答案。看起来PHP5.6有一些问题,您必须将参数更改为SOAP 1.2。这最终解决了问题。可以在这里找到解决方案,在第一条评论中:SOAP PHP fault parsing WSDL: failed to load external entity?

代码语言:javascript
运行
复制
// options for ssl in php 5.6.5
$opts = array(
    'ssl' => array('ciphers'=>'RC4-SHA', 'verify_peer'=>false, 'verify_peer_name'=>false)
);
// SOAP 1.2 client
$params = array ('encoding' => 'UTF-8', 'verifypeer' => false, 'verifyhost' => false, 'soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 1, "connection_timeout" => 180, 'stream_context' => stream_context_create($opts) );
$oSoapClient = new SoapClient ( $url . "?WSDL", $params );
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36868510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档