2012-03-02 33 views
0

有了这个类:如何序列化webservice中的公共静态最终字符串?

public class Class1 implements Serializable 
{ 
    public final static String VALUE = "oneValue"; 
} 

这个类在一个web服务中使用。

在Web服务客户端,我想:

String value = Class1.VALUE 

有没有办法来序列等公共最后静态字符串,所以我可以在Web服务客户端的价值?

我使用Axis2。

回答

2

这是一个类级别字段,所以答案是否定的。如果客户端代码具有不同版本的类,它在给定的静态字段中具有不同的值,这就是他们将要获得的值。

+0

你有选择吗?我试图使用一个枚举,但没有成功...... – Ricardo 2012-03-02 18:57:34

+0

只是使它成为一个实例字段,因为它应该是。 – 2012-03-02 19:23:29

+0

即使它是一个实例字段,该值也不会被序列化。这不是Web服务的工作方式。 – tom 2012-03-02 19:27:27

1

枚举可以帮助你,但枚举的任何私人领域不会给客户端可见。

但是,当客户端发送一个枚举值到您的Web服务将被映射到您的实际枚举所有你的私人领域,他们将使用服务器端。

的基本规则是,客户端将不会看到任何逻辑/默认值。他们只看到你的领域的getters和setters。

+0

我在使用与axis2的枚举时遇到问题。我会再试一次... – Ricardo 2012-03-02 19:04:23

+0

不幸的是,我只有CXF的经验。 Axis2似乎处于濒死状态,没有支持,但Web服务是Web服务。这不应该改变任何事情。 – tom 2012-03-02 19:05:33

相关问题