jax-ws web方法可以返回具有静态方法的对象吗?

时间:2009-09-22 20:15:22

标签: java service jax-ws static-methods

public class Pojo {
   private String value;

   public static void printValue() {
      System.out.println("value=" + value);
   }
}

我想从Web服务返回此内容,如下所示:

@WebService
public class MyService {
   @WebMethod
   public Pojo getPojo() {
      return new Pojo();
   }
}

似乎无法找到关于我是否能够,应该,不能或不应该得到的明确答案。

2 个答案:

答案 0 :(得分:2)

仅通过网络发送数据。不发送静态或非静态方法。

如果在接收端你将数据绑定到同一个类 - 很好,你有你的方法,但SOAP与它无关,这是你自己的诡计。当然,用其他语言编写的客户端(C#,python,...)将没有您的方法。

P.S。您要发回的任何对象的类总是有方法。你的Pojo是从Object隐含的子类,因此有toString(),hashCode()等等。 JAX-WS并不关心。

答案 1 :(得分:1)

没有。想一想:

  1. Web服务意味着与平台无关
  2. 通过网络发送的内容只是XML(或其他一些格式)数据
  3. 那你怎么能通过电线发送静态方法呢?非Java客户端如何能够解释您的Web服务的响应?