我有两个通过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的绑定文件)谢谢