是否可以使用CXF生成可序列化的类?

我正在使用Apache CXF从WSDL文件生成类,但它们不实现将对象放入JMS队列所需的Serializable。 是否可以这样做或者我必须将生成的类转换为我自己的类并发送它们?

我自己找到了解决方案,所以如果有人在将来需要它的话:

1. add this plugin to pom.xml

  org.apache.cxf cxf-codegen-plugin ${cxf.version}   generate-sources generate-sources  ${basedir}/src/main/java ${basedir}/src/main/resources  *Service.wsdl    ${basedir}/src/main/resources/your_wsdl.wsdl  -client -impl -server -verbose -validate   ${basedir}/src/main/resources/binding.xml      wsdl2java     

2. write a custom binding (binding.xml)

         

3. run 'mvn generate-sources'

一个更简单的bindings.xml版本,它确保所有生成的文件都实现Serializable:

           

仅当wsdl具有单个模式时,使用根元素绑定文件才能使用jaxb:globalBindings。 问题是jaxb:globalBindings是全局的,因此不能多次指定。

如果是这种情况,您可以使用以下绑定文件与jaxb:bindings: