我正在使用 CXF
(wsdl2java) 自动生成 soap
Webservice 类。
生成的soap方法来自xml标签,例如:
<wsdl:message name="GetAvailabilityReq">
<wsdl:part name="parameters" element="q1:GetAvailabilityReq"
xmlns:q1="http://path.to./MyService" />
</wsdl:message>
生成的网络服务将具有多种方法,例如:
@WebService
public interface MyWebservice {
@WebResult
@WebMethod
public AvailabilityRsp getAvailability(@WebParam AvailabilityReq req);
@WebResult
@WebMethod
public BookingRsp getBooking(@WebParam BookingReq req);
}
如何将所有请求分组到同一接口(interface)
下?
例如AvailabilityReq实现BaseReq
并且BookingReq实现BaseReq
?或者它也可以是扩展
。
注意:所有请求都不通过提供的 wsdl
文件共享通用接口(interface),但我希望生成该接口(interface)。
我可能必须在自动生成时告诉 jaxb/cxf ,但是如何?
最佳答案
解决方案是在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>
关于java - 如何为自动生成的 SOAP Web 服务请求提供相同的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26012467/