ポート 80 への要求をインターセプトし、要求を Web サーバー/アプリケーション サーバーに転送する前に、要求に対していくつかの追加作業を行う、ローカル マシン上の Windows サービスとして実行されるプログラム (programA と呼びます) があります。
programAが実行されているのと同じマシンで表示されるページを提供する別のサーバーでSring MVCアプリケーション(programB)を実行しているアプリケーションサーバーがあります。同じアプリケーション サーバーには、SOAP メッセージを受け入れて SOAP 要求を返すことができる Web サービス (programC) が実行されています。
今私がやりたいことは、次の一連のイベントを使用して SOAP メッセージを生成することです。
Step 1 - User loads the GUI application (programB) on the browser.
Step 2 - User selects a link on the page which results in an HTTP request to be generated.
Step 3 - On its way out, the HTTP request is intercepted by programA and formatted into a SOAP message and forward the request as a SOAP request to the web service (programC).
Step 4 - The web service(programC) processes the request and returns the SOAP response back to programA.
Step 5 - programA formats the response and returns it back as an HTTP response back to programA as the response for the original HTTP request for it to be displayed on the GUI.
programA と programC は既存のアプリケーションであり、既に配置されているため、MVC GUI とインターフェイスを開発するだけHTTP --> SOAP
で済みSOAP --> HTTP
ます。
私が苦労している主な領域は、ステップ 3 とステップ 5 です。具体的には、プログラム B からプログラム A へのデータがどのような形式になるかです。
programA は Java ベースのアプリケーションであり、任意のテキスト ベースの形式を受け入れることができ、最も一般的な形式 (XML、URL パラメータなど) を理解するように構成したり、別の形式 (Json など) をサポートするように更新したりできます。
主な質問は次のとおりです。
- programB が SOAP 要求を生成できるように、programA からの要求を HTTP 要求として programB に送信する最も一般的な方法は何ですか。
- XML はおそらく programA が処理する最も簡単な形式ですが、HTTP 要求の一部として XML を送信することは可能ですか? 私はJavascriptを考えていますが、XMLテキストを手動で構築する代わりに、よりクリーンな方法はありますか?
- 要求には、各リンクに name=value パラメーターを含めることができます。これらは programA で使用できますが、やはり十分にきれいに聞こえません。
あなたの意見は何ですか?