2012-03-14 16 views
0

PHPを使用してSOAP Webサービスと通信していますが、問題があります。php SOAPを使用して「SSLですべての認証を行う必要があります」

// Create SOAP client object 
$objClient = new SoapClient("https://panopto_host/Panopto/PublicAPI/4.0/Auth.svc?wsdl", array('trace' => true)); 

// These parameters satisfy this specific remote call. 
$loginParams = array('userKey' => 'cmjw', 'password' => 'bleh'); 

$objLogin = $objClient->LogOnWithPassword($loginParams); 

私が手にエラーが「すべての認証はSSL上で行わなければならない」です。私はこれがサーバーアプリケーションのエラーメッセージか標準のSOAPエラーかどうかはわかりませんが、wierdのことは.Netで非常に単純なプログラムを作成し、プロキシクラスを生成するためのサービス参照を作成していて、うまくいきます。

メソッド呼び出しにSSLを使用するためにPHPで何が欠けていますか?

ありがとうございました。 Corey。

答えて

0

WSDLのサービスURLがhttp URLである場合、WSDLがhttps経由でダウンロードされても、リクエストはhttp経由で行われる可能性があります。 WSDLの内容を共有できますか?

+0

https://dlri.hosted.panopto.com/Panopto/PublicAPI/4.0/Auth.svc?wsdl [link](https://dlri.hosted.panopto.com/Panopto/PublicAPI/4.0/Auth。 svc?wsdl) – cardinalPilot

+0

'operation'' LogOnWithPassword'要素は、http:// tempuri.org/IAuth/LogOnWithPassword'というHTTP URLをhttpsのものではなく指していると思います –

+1

良い点。その考え方に従って、私はサービス石鹸を見ました:アドレスの場所とそれは正しいことができないhttpを持っていた。 WSDLをダウンロードし、httpsに変更して参照したところ、動作するようです。正しい方向のポイントをありがとう。 .Netはサービス参照にhttpsを持っているために働いていました。 – cardinalPilot

関連する問題