2009-06-18 24 views
0

さまざまな実行可能ファイル間で渡されるSOAPメッセージに依存する既存のシステムを調べています。私はそれらのアプリケーションの1つを私自身のものに置き換えようとしており、ドキュメンテーションを見て、私は困難に遭遇しています。次のようなSOAPパケットを作成しようとしています。

私はこの前にSOAPを使っていませんでしたが、このタスクを達成するためにどのツールを使用するのか、またどのようなキーワードを検索するべきかについてはわかりません。私は何をする必要があることは、このようになりますSOAPメッセージを作成することができることです。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" 
> <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <GetSpecialList xmlns="SpecialManagerAPI"/> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 

を、私はローカルIP(127.0.0.1)ポート1234へのTCP経由で送信してからの応答を取得する必要がありますそれ。上記のメッセージを作成するにはどうすればいいですか、それを簡単に送信する方法は何ですか?

+0

公開側にはwsdlがありますか?その場合は、サービス参照機能を使用して、独自の実行可能ファイルにサービスを持ち込むことができます。 – spender

+0

たとえば、WebServiceを公開すると、http:// localhost:1234/TheService?wsdlのようになります。これを使用して、パブリッシャからのWSDL URLを使用してプロジェクトにサービス参照を追加することによって、VSサービスにWebサービスをインポートできます – spender

答えて

1

Webサービスについては、少なくとも少しは学ぶことを強くお勧めします。あなたは、メッセージの作成と送信についての考え方の点で、間違ったトラックで既にオフになっています。

良いリソースの1つはGetting Started with Windows Communication Foundationです。また、ウェブキャストOverview (Level 100)を参照してください。

0

System.Web.HttpRequestClassはこれを行うための裸の方法です。ヘッダーを適切に設定する必要があります(特に、 "SOAPAction"ヘッダー)。しかし、私はこれに反対するあなたに助言したい!サービスのwsdlを探して、Visual StudioでAddWebReferenceまたはWsdl.exeのいずれかを使用してクラスを作成します。これは、(またはいくつかの)あなたと協力してうまく形成されたクラスを構築します!

0

次の3つの基本的なオプションがあります。サービスは、あなたが(特定のWCFのアドオンとVS 2008とVS 2005)サービス参照の追加]を経由して、それに接続するか、Web参照を追加することができますWSDLまたはDISCOサービスの説明を持っている場合

  1. を(VS 2005)。 soapクライアントクラスを生成するためのツールに相当するコマンドラインは、それぞれsvcutil.exeとwsdl.exeです。
  2. answerで提案されているC. Rossとし、カスタムビルド文字列を使用してHttpRequestClassを使用できます。
  3. XmlDocumentクラスは、xmlメッセージを作成し、HttpRequestクラスを使用して送信することができます。テンプレートXML文書を作成し、実行可能ファイルに埋め込みリソースとして保存することをお勧めします。その後、xpathクエリーを実行してパラメータを変更できます。
関連する問題