私はこの SOAP の概念全体に完全に慣れていないので、エラーが発生したときに何を探すべきかわかりません。基本的に、私は別の会社からいくつかのデータを取得しようとしています。その会社は私にデジタル証明書といくつかの xsd および wsdl ファイルを提供し、サーバーの IP をホワイトリストに登録できるように要求しました。私が言ったように、私は彼らが私に与えたファイルをどうするか分からなかったので、私はそれらを私のサーバーにアップロードし、グーグルを始めました.次のコードを一緒に貼り付けました.検出):
$protected_url = "http://www.myurl.com/WSDLFILE.wsdl";
$my_cert_file = "http://www.myurl.com/CERTFILE.pem";
$client = new SoapClient($protected_url, array('local_cert'=> $my_cert_file,'trace'=>1));
$params->Affiliate->AffiliateID = 555;
$params->Address->AddressLine = "123 Main Street";
$params->Contact = 'No';
$result = $client->QueryAddress($params);
そして、次のエラーが表示されます
[10-Apr-2013 18:59:46 America/New_York] PHP Fatal error: Uncaught SoapFault exception: [HTTP] Forbidden in /home/mysite/index.php:15
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://secure....', 'http://www....', 1, 0)
#1 /home/mysite/index.php(15): SoapClient->__call('QueryAddress', Array)
#2 /home/mysite/index.php(15): SoapClient->QueryAddress(Object(stdClass))
#3 {main}
thrown in /home/mysite/index.php on line 15
何を探しているのかわからないので、助けを探すのはちょっと難しいので、どんなガイダンスもありがたいです
編集:cURLを使用して「CURLOPT_SSLCERT」オプションを設定することで、実際に成功した応答を得ることができたことも追加する必要がありますが、SOAPを使用する必要があります