2

SOAP over JMSSOAP over AMQPまたはSOAP over SMTPを実装する場合など、THTTPRio を使用せずに Delphi でプレーンな SOAP リクエストを作成および処理する方法を示す推奨される方法/チュートリアルはありますか?

簡略化されたコード例:

// create a SOAP request (client side)
RequestXML := Service.Add(Arg1, Arg2);

このコードは、引数 Arg1 および Arg2 を使用した「Add」メソッド呼び出しの SOAP メッセージを含む XML を生成します。

// process a SOAP request (server side)
ResponseXML := Service.ProcessRequest(RequestXML);

このコードは、SOAP 要求 XML を受け取り、メソッドを呼び出します。メソッド呼び出しの結果は SOAP 応答としてラップされ、クライアントに送信する準備が整います。

4

1 に答える 1

4

TLinkedRIO クラス ( http://shenoyatwork.blogspot.com/2004/10/using-tlinkedrio.html ) をのぞいてみましょう。SOAP リクエストを作成し、ファイルに書き込みます。TLinkedRIO はテスト目的で使用されるため、サービスを実装する (Delphi) サーバーを検索し、サーバーにファイルから要求を読み取らせて処理させ、別のファイルに応答を書き込むためのコードも含まれています。次に、呼び出し元 ( client ) が応答ファイルから読み取ります。別のトランスポートを使用したい場合は、その部分を行う必要はありません: 応答は真のサービスから来ます。ただし、XML シリアライゼーションがトランスポートから分離されていることを示す良い例です。

PS: SOAP シリアライゼーションでは、基本的に、トランスポートのニーズに IWebNode が必要です。つまり、そのインターフェイスの Execute メソッドです。リクエスト ストリームをどこにどのように送信し、どのようにどこからレスポンス ストリームを取得するかは、トランスポートの実装次第です。

于 2009-12-16T02:37:14.057 に答える