Java 如何在JAXB中转换整数参数?

Java 如何在JAXB中转换整数参数?,java,web-services,jaxb,Java,Web Services,Jaxb,我正在使用JAX-WS和JAXB创建一个SOAP服务。有一个计数参数。如何使用costomize DataTypeConvert转换它?我想通过costomisze DataTypeConvert将Integernot转换为POJO param对象。因为如果SOAP消息包含count标记,则该值将设置为0,但是如果SOAP消息不包含count标记,则该值将设置为null。我希望在两种情况下都将此参数设置为null。如果是POJO中的整数字段,我可以使用@XmlJavaTypeAdapter对其进

我正在使用JAX-WS和JAXB创建一个SOAP服务。有一个计数参数。如何使用costomize DataTypeConvert转换它?我想通过costomisze DataTypeConvert将Integernot转换为POJO param对象。因为如果SOAP消息包含count标记,则该值将设置为0,但是如果SOAP消息不包含count标记,则该值将设置为null。我希望在两种情况下都将此参数设置为null。如果是POJO中的整数字段,我可以使用@XmlJavaTypeAdapter对其进行转换。但是@XmlJavaTypeAdapter不能在方法中直接使用的整数参数上使用

     @WebMethod
     public Team getTeamByCondition(@WebParam(name = "Name") String name,
        @WebParam(name = "Condition") String condition,
        @WebParam(name = "Count") Integer count) {
     }

如果有人能告诉我JAX-WS如何转换参数?

您可以使用JAXB为您的计数创建一个包装器类

@XmlType
class Count {
    @XmlValue
    Integer count;
}
另一种选择。。。
如果您想使用包装器类,请查看。那里有很好的样品。基本上,您可以使用@XmlJavaTypeAdapter注释整数。注释应指向您创建的适配器。您仍然需要创建如上所述的包装类,但适配器可以将您定义的任何整数映射到此包装类。

有什么方法可以应用我自己的DataTyepConvert吗?我不想对每种简单的数据类型都使用包装器类。