1

サイトに SSL 証明書があります。ホスティング プロバイダーによってインストールされ、正しくインストールされていることをテストしました。mindbodyonline.com/api から SOAP Web サービスを使用しようとしていますが、応答でこのメッセージが表示されます

このメソッドには、SSL (HTTPS) 経由でアクセスする必要があります。

私は Zend Framework の Soap Client を使用しており、ほとんどのサービスで動作していますが、この特定のサービスにはクレジット カード情報が含まれているため、おそらく安全な接続が必要です。SOAP リクエストを安全に送信する方法に関する情報を見つけることができませんでした。以下のコードを使用してクライアントを作成しています。

$client = new Zend_Soap_Client('https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL', array("soap_version"=>SOAP_1_1));

誰でも助けることができますか?

4

1 に答える 1

0

WSDLは、すべてのエンドポイントをhttpsではなくhttpとして指定します。そのため、Zend_Soap_Clientコンストラクターでエンドポイントを変更する必要がありました。Zend_Soap_Client Docs http://framework.zend.com/manual/en/zend.soap.client.htmlによると、ロケーションオプションはWSDLモードでは機能しませんが、間違っています。ロケーションオプションを追加すると、WSDLで指定されたエンドポイントが上書きされます。このコードを使用して動作させることができました

$client = new Zend_Soap_Client('https://api.mindbodyonline.com/0_5/ClientService.asmx?WSDL', array("soap_version"=>SOAP_1_1,'location'=>'https://api.mindbodyonline.com/0_5/ClientService.asmx'));

彼の助けをくれたdrew010に感謝します!

于 2012-06-12T21:51:17.987 に答える