0
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();
   }
}

似乎无法找到关于我是否可以、应该、不能或不应该的明确答案。

4

2 回答 2

2

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

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

PS 你发回的任何对象的类总是有方法。您的 Pojo 是 Object 的隐式子类,因此具有 toString()、hashCode() 等。JAX-WS 不在乎。

于 2009-09-22T20:50:46.107 回答
1

不,想一想:

  1. Web 服务旨在独立于平台
  2. 通过网络发送的只是 XML(或其他格式)数据

那么如何通过网络发送静态方法呢?非 Java 客户端将如何解释您的 Web 服务的响应?

于 2009-09-22T20:25:23.263 回答