我正在使用Netbeans 6.5生成JAX-WS Metro服务和Glassfish 2.1作为应用程序服务器。
假设我有两个网络服务,例如
...
@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中。
我该怎么做?
答案 0 :(得分:2)
您不应该尝试代理调用同一应用程序内部的方法的请求 - 这将导致对象的不必要的序列化/反序列化到XML消息并返回。
如果您需要在同一个应用程序中调用另一个方法,请重新设计您的应用程序,以便您可以访问您需要调用的应用程序的任何区域。
答案 1 :(得分:0)
您不希望通过代理客户端调用实际的Web服务,因为这样您将不必要地序列化/反序列化数据。
在上面的例子中假设doXXX方法在一个名为XXX的类中,并且doYYY方法在一个名为YYY的类中。
(请注意,该类将由@WebService()标记注释。)
从doXXX方法调用doYYY():
YYY yyy = new YYY ();
yyy.doYYY ();