我有一个奇怪的问题。
我的Web服务定义为
@GET
@Path("/response/{id}/")
public Response getMyResponse(@PathParam("id") String id ... {
return Response.ok("myresponse").build();
}
(响应为import javax.ws.rs.core.Response;
)
然后,我使用Maven插件jaxws-maven-plugin(2.5)生成此服务的wsdl文件。我们得到:
<xs:element name="getMyResponse" type="tns:getMyResponse/>
<xs:element name="getMyResponseResponse" type="tns:getMyResponseResponse"/>
<xs:complexType name="getMyResponse">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="getMyResponseResponse">
<xs:sequence>
<xs:element name="return" type="tns:response" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="response" abstract="true">
<xs:sequence/>
</xs:complexType>
这使响应成为抽象类。当我使用cxf-codegen-plugin为此生成类时,会得到一个抽象的Response类,当我尝试调用该服务时会导致实例化异常。
现在,我在这里缺少什么吗?-我是否在尝试做一些不可能的事情(即无法通过SOAP发送响应?)-还是CXF有问题?我还能如何调用该服务?
谢谢