我正在使用soap
(wsdl2java)自动生成CXF
个网络服务类。
生成的soap方法来自xml标签,如:
<wsdl:message name="GetAvailabilityReq">
<wsdl:part name="parameters" element="q1:GetAvailabilityReq"
xmlns:q1="http://path.to./MyService" />
</wsdl:message>
生成的Web服务将具有各种方法,如:
@WebService
public interface MyWebservice {
@WebResult
@WebMethod
public AvailabilityRsp getAvailability(@WebParam AvailabilityReq req);
@WebResult
@WebMethod
public BookingRsp getBooking(@WebParam BookingReq req);
}
如何在同一interface
下对所有请求进行分组?
例如AvailabilityReq implements BaseReq
和BookingReq implements BaseReq
?或者也可以是extends
。
注意:所有请求都不会通过提供的wsdl
文件共享公共接口,但我希望生成该文件。
我可能要告诉jaxb / cxf这是关于自动生成的,但是如何?
答案 0 :(得分:0)
解决方案是在pom.xml中提供以下信息:
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.8.2</version>
</dependency>
<extraargs>
<extraarg>-xjc-XautoInheritance</extraarg>
<extraarg>-xjc-XautoInheritance-xmlRootElementsImplement=package.to.MyCommonInterface</extraarg>
</extraargs>