2

ある Java アプリケーションから別のアプリケーションに XML ファイルを送信する必要があります。

現在、次のように動作します: - アプリケーション 1 からローカル XML ファイルにエクスポート - アプリケーション 2 でローカル XML ファイルをインポート

今、私はWebサービスを介してこれを行う必要があります. 必要なデータを使用してアプリケーション 2 にリダイレクトするアプリケーション 1 で JAX-WS Web サービスを作成することは可能ですか?

XML ファイルではなく、シリアル化されたオブジェクトとしてデータ (オブジェクト) を送信できます。しかし、これは可能ですか?もしそうなら、どのように?

どちらのアプリケーションも Eclipse-Scout で作成されています。

前もって感謝します。

4

2 に答える 2

0

webservice はシンプルで、2 つのアプリが異なるマシンで実行されている場合に便利です。

送信サーバー: http 用のライブラリを使用 (post または get)

1 ファイルのみを保持します。HTTP / POST を使用するだけです。テキストとバイナリで機能します

2 より単純: データが小さなテキストの場合、HTTP / GET を使用できます (特殊文字に注意してください: エンコードできます)。

3 すべてのデータを 1 つの構造体 (オブジェクト) に入れることができる場合は、それをシリアル化し、結果を文字列に入れて送信します。

受信サーバー:

tomcat を使う場合は HttpServlet を拡張し、doPost や doGet で取得する

または、別のライト http サーバーを使用することもできます

または石鹸ライブラリ(実際には必要ありません)。

DOPOST/DOGET

送信サーバー: HttpURLConnection conn= (HttpURLConnection) url.openConnection(); //など。

受信サーバー:

public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String one_parameter = request.getParameter("name_of_parameter");

詳細については、次のリンクを参照してください。

Java - POST メソッドを介して HTTP パラメータを簡単に送信

サーブレットの doGet と doPost

于 2015-12-21T13:19:50.940 に答える
0

(コメントはちょっと長いです)

JAX-WS のような肥大化したものから離れて、標準のサーブレットと JAXB または XStream をデシリアライゼーション/シリアル化に使用することをお勧めします。

また、Java (バイナリ) デシリアライゼーションまたはデフォルトの XStream を、認証されていない入力/トランスポート (例: HTTP または HTTPS を使用する場合でも信頼できないクライアント) で使用しないでください。これは常に、Web サービス インターフェイスを再開発しない限り緩和できないリモート コード実行のエクスプロイトにつながります。最近のインスタンス...

于 2015-12-21T14:32:39.003 に答える