2016-04-26 12 views
1

新しいOVH VPSマシンに移行した後、APIとのWSDL接続に問題があります。SoapClient "WSDL APIを1つ使用してホストに接続できませんでした"

SoapClientで使用するその他のWSDLは問題なく正常に動作します。私はアドレスでfile_get_contentsを使用することができますが、SoapClientを使用すると、そのAPIからプロシージャを使用しようとすると「ホストに接続できませんでした」という例外が発生します。

アイデア?いくつかのSSLオプションを使ってstream_contextを試しました。何が面白い、他のOVH VPSでうまくいきます。

システムは、PHP 5.6.19搭載のDebian 8です。

WSDLのAddresssはここにある:WSDLプロバイダとの協議の後https://api-test.paczkawruchu.pl/WebServicePwR/WebServicePwRTest.asmx?WSDL

答えて

2

、および両側のログをチェックし、我々はanwserを見つけました。 PHP 5.6のようにいくつか問題があり、パラメータをSOAP 1.2に変更する必要があります。これは最終的に問題を解決しました。解像度が最初のコメントでは、ここで見つけることができます SOAP PHP fault parsing WSDL: failed to load external entity?

// 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); 
+0

それとも、$のparams =を[ 'soap_version' => SOAP_1_2、 'stream_context' => stream_context_create([ 'SSL' => [ 'verify_peer' => false]])] 私のため... –

+2

最高です: "openssl.cafile = C:/path/to/ssl/cacert.pem"をphp.iniに追加してください! –

関連する問題