4


1

wsHttpBindingを介してPHPでWCF WebServiceを呼び出す

basicHttpを介して接続できるWCF Webサービスがありますが、wsHttpは使用できません。 私は次のようにwshttp経由で接続しようとします:

$service = new SoapClient
("http://service.companyname.local:6666/Service/?wsdl",
 array(
         "location" => "http://service.companyname.local:6666/Service/WCF",

    "trace" => true,
    'soap_version' => SOAP_1_2
     )
);

SoapClientコンストラクターの呼び出しは正常に戻ります。 $ client→ FunctionNameを使用して呼び出そうとすると、ページはしばらくそこにロードされたままになり、最終的に「Error Fetching http headers」というエラーを返します。 これは正確には何を意味すると想定されており、どのように修正しますか? (.NETクライアントからサービスを利用することは完璧に機能します。)

2 Answer


6


wsHttpBindingのhttp://msdn.microsoft.com/en-us/library/ms730879.aspx[default config]は、PHP SoapClientが理解できない高度なWS-SecurityおよびWS-Addressing機能を使用します。 動作する可能性のある他のPHPアクセス可能なSOAPクライアント(たとえば、Apache Axis2 + Rampart / C)があります。または、互換性のないwsHttpBinding機能の一部をシャットオフすることもできます(おそらくメッセージセキュリティが最初です)。 動作しないとは言いませんが、すべてを正しく動作させるには、おそらく試行錯誤が必要です。


0


前回チェックしたとき、phpは `wsHttpBinding`をサポートしていませんでした