0

Web サービスから php SOAPclient を使用してメソッドを呼び出そうとしていますが、次のエラーが発生します。

PHP Fatal error:  Uncaught SoapFault exception: [HTTP] Forbidden ( The page must be viewed over a secure channel (Secure Sockets Layer (SSL)). Contact the server administrator.  ) 
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://www.ebri...', 'eBridge.WebServ...', 1, 0)
#1 /var/application/test-control4-xml.php(284): SoapClient->__call('GetDocumentList', Array)
#2 /var/application/test-control4-xml.php(284): SoapClient->GetDocumentList(Array)
#3 {main}

私が使用しているコードは次のとおりです。

$client = new SoapClient("https://www.ebridgeservices.com/ePortalService.asmx?WSDL");
$params=
array( 'login' => $user,
    'password' => $password,
    'status'=>'All',
    'docType'=>'850',
    'fromDate'=> $from_date,
    'toDate'=> $to_date,        
    'partner'=>'OurPartner') ;          
$results = $client->GetDocumentList($params);       
var_dump($results->GetDocumentListResponse); 

ご覧のとおり、https アドレスを使用しているため、このエラーが発生する理由がわかりません。私は何か間違ったことをしていますか?

4

2 に答える 2

1

このエラーの一般的な原因は、使用しているバージョンの php が openssl ライブラリなしでコンパイルされている場合です。簡単に言えば、あなたのphpはhttps接続を介してリクエストを行うことができません。

phpinfo() の出力を確認し、openssl または任意のタイプの SSL サポートがあることを確認してください。

于 2012-04-10T18:56:16.267 に答える
0

その WSDL をhttp://soapclient.com/soaptest.htmlにフィードすると、その WSDL ファイル内のリンクが、サーバー上の http:// ではなく、 https:// の URL を指していることがわかります。それについて彼らのサポートを求めたいと思うかもしれません。

于 2012-04-10T19:05:18.270 に答える