1

Netbeans 6.5を使用してJAX-WSMetroサービスを生成し、Glassfish2.1をアプリケーションサーバーとして使用しています。

私が2つのWebサービスを持っていると仮定します。

..。

@WebMethod(operationName = "doXXX")
public String doXXX(
@WebParam(name = "id") String id
...    

...
@WebMethod(operationName = "doYYY")
public String doYYY(
@WebParam(name = "result") String result
... 

そして、私は両方を喜んで呼び出すWebサービスクライアント(Javaアプリケーション)を持っています。

ここで、メソッドXXXがメソッドYYYを呼び出すようにします。つまり、YYYのクライアントプロキシをWebサービスXXX内に配置する必要があります。

どうすればよいですか?

4

2 に答える 2

2

同じアプリケーション内でメソッドを呼び出すリクエストをプロキシしようとしないでください。これにより、オブジェクトのXMLメッセージへの不必要なシリアル化/逆シリアル化が発生します。

同じアプリケーション内で別のメソッドを呼び出す必要がある場合は、アプリケーションを再設計して、呼び出す必要のあるアプリケーションの任意の領域にアクセスできるようにします。

于 2010-02-05T01:48:36.697 に答える
0

私は遊んでそれを理解しました。

プロキシクライアントを介して実際のWebサービスを呼び出す必要はありません。そうすると、データが不必要にシリアル化/逆シリアル化されるためです。

上記の例で、doXXXメソッドがXXXというクラスの中にあり、doYYYメソッドがYYYというクラスの中にあると仮定します。

(クラスには@WebService()タグの注釈が付けられることに注意してください。)

doXXXメソッドからdoYYY()を呼び出すには:

YYY yyy = new YYY ();  
yyy.doYYY ();
于 2010-03-03T00:06:51.613 に答える