wsgen-定义没有jaxb批注的xml元素名称和名称空间

时间:2018-07-16 08:33:39

标签: java xml jaxb jax-ws wsgen

我有两个通过wsgen(JAX-WS 2.1)生成的Web服务,另一个是通过Weblogic Jwsc任务使用通用bean生成的Web服务。 他们俩都使用这个bean:

appl

如您所见,此bean上没有JAXB批注。 我的问题是,在第一种情况(wsgen)中,它会生成此复杂类型:

package com.mypackage;

public class MyAmazingBean {
    private String fieldNumberOne;
    private String age;
    // next omitted
}

没有名称空间,字段与类定义中的大小写相同。

在第二种情况下(Weblogic Jwsc),它会生成此复杂类型:

<xs:complexType name="myAmazingBean">
  <xs:sequence>
    <xs:element name="fieldNumberOne" type="xs:string" minOccurs="0"/>
    <xs:element name="age" type="xs:string" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

添加使用“ java:”的名称空间 所有字段均以大写字母开头

我们现在正在转移到另一个应用程序服务器,并且我们希望放弃Weblogic Jwsc的生成。因此,我想使用wsgen,但是我面临有关此差异的问题。如果我用Jaxb注释对bean进行注释以匹配Jwsc wsdl合同,那么我将破坏我的第一个服务合同。

那么您是否有任何想法使用wsgen生成我的所有服务并为我的消费者保留合同? (例如wsimport的绑定文件)谢谢

0 个答案:

没有答案