2011-12-09 6 views
1

私はC#からSOAPサービスを呼び出そうとしています。残念ながら、それがPHPで実装されている方法は、私にはやや難解です。私は、サービスを呼び出す方法を説明するPHPでここにこのコードを与えてきました:PHPのソープ配列オブジェクト。データがSOAPリクエストでどこで終了するか

$oClient = new SoapClient("http://xxxxxxxxx?wsdl", 
array(
    'trace'   => 1, 
    'exceptions' => true, 
    'login'   => "xxxxxxxx", 
    'password'  => "xxxxxxxx"  
    )); 

トラブルは、私はC#または何フォーマットされたメッセージのように見えるに配列を渡す方法が分からないということです。

PHPがこの情報をSOAPリクエストに挿入する方法を知りたいと思います。私はメッセージを正しく書式設定されているかどうかを確認するためにセキュリティを削除する男を得て、すべてがうまくいき、このカスタム配列オブジェクトとは別にリクエストを処理するように書いています。

私は出力を監視するためにLinuxマシンを構築しようとしましたが、何らかの理由で私のマシン上でLinuxを稼働させることができませんでした。そして、これを今すぐ浪費しています。 。

この情報はSOAPリクエストのヘッダーに表示する必要がありますが、ドキュメントが不足しているようだと思います。私はPHPのドキュメントが本当に好きではありません

答えて

0

あなたは何をしようとしていますか?提供したPHPコードは、WSDL(Web Service Description Language)の説明に基づくSOAPサービスのSOAPクライアントをhttp://xxxxxxxxx?wsdlに構築しますが、何も呼び出されません。あなたはこのようにWSDLで記述された様々な関数を呼び出す:「SomeFunctionは」リモート関数の名前であり、配列はそのパラメータである

$oClient->__soapCall("SomeFunction", array($a, $b, $c)); 

とにかく、C#でSOAPクライアントを構築しようとしているようです.C#ライブラリや拡張が必要です.SOFサービスの呼び出しはPHPと大きく異なるはずはありません。基本的には、クライアントを構築し、WSDLファイルに記述されている(とそれらのパラメータである)リモート関数を呼び出します。あなたはXMLパケットを見るべきではありません。

あなたには、いくつかの例を参照したい場合は、パケットがどのように見えるかどのように、ここでは1です:Annotated WSDL Examples @w3c.org

そして、いくつかの説明:Using WSDL in SOAP applications @ibm.com

しかし、そのすべてが選択した言語でライブラリによって世話をしています。ここで議論は、stackoverflowで:Which C# SOAP Client Library is easiest to use?

+0

私は通常、Web参照を使用しますが、実際にはapacheのような配列オブジェクトを持っていません。私は弾丸を噛んでWCFを学ばなければならないと思う。 – IAMMRBONGO

+0

実際には、私は今実現したばかりだ。配列にはSOAPサービスで必要な情報が含まれているため、ある時点で送信する必要があります。したがって、SOAPパケットに何らかの形で表示する必要がありますか、クライアントがサービスとの通信を開始するときにHTTP応答で送信されます。 – IAMMRBONGO

+0

後でメソッドを使用してWeb参照を呼び出すことは明らかです。 .netによって自動生成されたWeb参照は、私が呼び出すメソッドスタブを生成します。私はこれらを呼び出そうとしましたが、ユーザー名とパスワードが認識されないのは、資格情報がPHPでインスタンス化するときにSOAPClientに配置する配列に格納されているためです。 .netのSoapClientにはPHPのようなものはありません。したがって、私は低レベルで配列がPHPでどのように渡されるかを調べようとしています。 – IAMMRBONGO

関連する問題