0

制限されたネットワーク/インターネットへのアクセスが制限された環境で作業しています。プロキシを使用して Web サービスを呼び出す必要があるためです。

これは、Web サービスと応答を呼び出している場所からの PHP コードです。

$client = new SoapClient("http: //www.xyz.com/abc/wsdls/login.wsdl", array("trace" => 1, "exceptions" => 1, 'proxy_host' => $proxy_host, 'proxy_port' => $proxy_port, 'proxy_login' => $proxy_login, 'proxy_password' => $proxy_password)); 

応答は

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from ' http://www.xyz.com/abc/wsdls/login.wsdl ': failed to load external entity

エラーメッセージからURLをコピーしてブラウザに貼り付けると(同じプロキシ設定で)動作します。

2番目のシナリオは、変数の代わりに値を渡すと、異なる応答が得られることです

$client = new SoapClient("http: //www.xyz.com/abc/wsdls/login.wsdl", array("trace" => 1, "exceptions" => 1, 'proxy_host' => "192.168.0.3", 'proxy_port' => 3128, 'proxy_login' => "actualuserName", 'proxy_password' => "actualPassword")); 

警告: SoapClient::SoapClient(http: //www.xyz.com/abc/wsdls/login.wsdl): ストリームを開くことができませんでした: HTTP 要求が失敗しました! HTTP/1.0 407 Proxy Authentication Required in /var/www/myproj/login.php 行 56

必要なプロキシ パラメータを渡しましたが、まだエラーが発生します。ドメイン名と IP アドレスの両方が、ファイアウォールのサーバー/プロキシ設定にリストされています。

4

0 に答える 0