java - 为不同包中的任何类全局注册 XmlAdapter

标签 java web-services jaxb cxf

我将 CXF 2.4 与 JAXB 结合使用。

我可以为我的 owm 类(例如 LWDate)的所有实例设置一个全局 XmlAdapter 吗?

我写了一个类:

public class LWDateAdapter extends XmlAdapter<Date, LWDate>

现在我必须在我计划与 CXF 一起使用的每个参数、方法或包上添加 @XmlJavaTypeAdapter。例如。

@WebMethod void test (@WebParam(name="Birthdate") @XmlJavaTypeAdapter(LWDateAdapter.class) LWDate pBirthdate){}

我想问问 CXF/JAXB 总是将我的类 LWDate 绑定(bind)到 java.util.Date 是否可能?

更新:@XmlJavaTypeAdapter 从版本 2.4.4 according to that issue 开始在包级别上工作.

最佳答案

对于您的用例,在包级别使用 @XmlJavaTypeAdapter 注释是您的最佳选择。下面是我在 Joda-Time 中使用此策略的帖子类:

如果您有一个始终希望使用 XmlAdapter 处理的域类,您可以在类型级别使用 @XmlJavaTypeAdapter 注释:

关于java - 为不同包中的任何类全局注册 XmlAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928168/

相关文章:

java - Sonarqube 对非字符串类型说 "String literal expressions should be on the left side of an equals comparison"

从 Web 服务引用的 C# 类未正确反序列化

java - SomeObject是一个接口(interface),JAXB不能处理接口(interface)

java - 如何在我的 Web 服务中创建自定义 JSON/XML 响应

java - 属性 'driverClassName' 抛出异常;嵌套异常是 java.lang.IllegalStateException : Could not load JDBC driver class

java - 如何在 JavaFX 中使用 try-catch?

java - 如何定义一个方法一次并将其用作其他方法的 "building plan"?

asp.net - Mono 不适合哪些方面?

linux - Delphi 创建的 Soap 服务器应用程序可以在 Linux 上运行吗?

JAXB XML -> Java 对象属性