У меня странная проблема.
У меня есть веб-сервис, определенный как
@GET
@Path("/response/{id}/")
public Response getMyResponse(@PathParam("id") String id ... {
return Response.ok("myresponse").build();
}
(Ответ import javax.ws.rs.core.Response;
)
Затем я использую плагин mavenjaxws-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?Как еще я могу вызвать сервис?
Спасибо