どのように私は、HTTPのない、DelphiでのプロセスのSOAPリクエストを作成してすることができますか?
質問
推奨される方法を作成する方法を示しています/チュートリアルと例えばTHTTPRIOなしDelphiでのプロセスプレーンなSOAPリクエストは、私が実装したい場合は、<のhref = "http://www.w3.org/Submission、ありますAMQPを超えるSOAP noreferrer"> / SOAPJMS /」のrel = "nofollowをnoreferrer"> SOAP経由JMS に、?
簡易コード例:
// create a SOAP request (client side)
RequestXML := Service.Add(Arg1, Arg2);
このコードは、引数ARG1とARG2とメソッド呼び出しを「追加」のためのSOAPメッセージでXMLを生成します。
// process a SOAP request (server side)
ResponseXML := Service.ProcessRequest(RequestXML);
このコードでは、SOAPリクエストのXMLを取得し、メソッドを呼び出します。メソッド呼び出しの結果をSOAPレスポンスとしてラップされ、クライアントに送信する準備ができているされます。
解決
TLinkedRIOクラスで覗いてください(のhttp://shenoyatwork.blogspot .COM / 2004/10 /使用-tlinkedrio.html に)。これは、SOAPリクエストを作成し、ファイルに書き込みます。 TLinkedRIOはテスト目的のために使用されているので、それはまた、サービスを実装する(デルファイ)サーバーを検索し、サーバがファイルからの読み出し要求を持って、それを処理し、別のファイルへの応答を書き込むためのコードが含まれています。呼び出し側(のクライアントは、の)その後、応答ファイルから読み込みます。あなたは、異なるトランスポートを使用したい場合は、その部分を行う必要はありません。応答が真のサービスから来ます。しかし、それはXMLシリアル化は、トランスポートから分離されているかを示すために良い例です。
PS:SOAPの直列化は基本的にその輸送ニーズにIWebNodeを期待しています。そして、すなわち、そのインターフェイスのメソッドを実行します。どのように/どこに要求ストリームを送信し、どのように/あなたは、トランスポートの実装に任されてから応答ストリームを取得するところます。