2017-01-21 11 views
0

私はwsld urlを持っています。私はこのwsdlのために認証するためにカスタムHTTPリクエストヘッダーを追加する必要があります。私がsoapclientを次のようにしようとすると、エラーが発生します。Soapclient wsdlがカスタムhttpリクエストヘッダで初期化します

/* userName and password is masked in this question */ 
$opts = array(
     'http'=>array(
       "userName:xxxxx\r\n". 
       "password:xxxxxx\r\n" 
     ) 

); 
$streamContext = stream_context_create($opts); 
$cilent = new SoapClient("https://iflyrestest.ibsgen.com:6013/iRes_Booking_WS/services/AvailabilityPort?wsdl" , array('stream_context' => $streamContext)); 

エラー:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in 

応答が似ているので 'あなたはこのURLにアクセスする権限がありません...'

また、私は同じstream_contextで関数 'file_get_contentを()' してみてください、私は正常にこのURLの内容を取得します。

このケースではどのようにsoapclientを使用しますか?

答えて

0

もし基本認証であれば、あなたの資格情報でstream_contextの代わりにloginpassword SoapClientオプションを使うだけで動作するはずです。

+0

@mikeel残念ながら、wsdlはhttpの基本認証を使用しません。私はそれらをhttpヘッダー経由で送る必要があります –

関連する問題