У меня есть веб-служба , которая получает пользовательский объект и возвращает другой пользовательский объект . Его можно успешно развернуть на GlassFish или JBoss.
@WebMethod(operationName = "providerRQ")
@WebResult(name = "BookingInfoResponse" , targetNamespace = "http://tlonewayresprovidrs.jaxbutil.rakes.nhst.com/")
public com.nhst.rakes.jaxbutil.tlonewayresprovidrs.BookingInfoResponse providerRQ(@WebParam(name = "BookingInfoRequest" , targetNamespace = "http://tlonewayresprovidrq.jaxbutil.rakes.nhst.com/")
com.nhst.rakes.jaxbutil.tlonewayresprovidrq.BookingInfoRequest BookingInfoRequest) {
com.nhst.rakes.jaxbutil.tlonewayresprovidrs.BookingInfoResponse BookingInfoResponse = new com.nhst.rakes.jaxbutil.tlonewayresprovidrs.BookingInfoResponse();
return BookingInfoResponse;
}
Но когда я создаю клиента для этого веб-сервиса, два экземпляра BookingInfoRequest и BookingInfoResponse генерируются, даже если мне нужен только один экземпляр.
На этот раз возвращается ошибка, в которой говорится, что несколько классов с одинаковыми именами невозможны .......
Вот WSDL .....
<?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. --><definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://demo/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://demo/" name="DemoJAXBParamService">
<wsp:Policy wsu:Id="DemoJAXBParamPortBindingPolicy">
<ns1:OptimizedMimeSerialization xmlns:ns1="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" />
</wsp:Policy>
<types>
<xsd:schema>
<xsd:import namespace="http://tlonewayresprovidrs.jaxbutil.rakes.nhst.com/" schemaLocation="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService?xsd=1" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://tlonewayresprovidrs.jaxbutil.rakes.nhst.com" schemaLocation="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService?xsd=2" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://tlonewayresprovidrq.jaxbutil.rakes.nhst.com/" schemaLocation="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService?xsd=3" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://tlonewayresprovidrq.jaxbutil.rakes.nhst.com" schemaLocation="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService?xsd=4" />
</xsd:schema>
<xsd:schema>
<xsd:import namespace="http://demo/" schemaLocation="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService?xsd=5" />
</xsd:schema>
</types>
<message name="providerRQ">
<part name="parameters" element="tns:providerRQ" />
</message>
<message name="providerRQResponse">
<part name="parameters" element="tns:providerRQResponse" />
</message>
<portType name="DemoJAXBParam">
<operation name="providerRQ">
<input wsam:Action="http://demo/DemoJAXBParam/providerRQRequest" message="tns:providerRQ" />
<output wsam:Action="http://demo/DemoJAXBParam/providerRQResponse" message="tns:providerRQResponse" />
</operation>
</portType>
<binding name="DemoJAXBParamPortBinding" type="tns:DemoJAXBParam">
<wsp:PolicyReference URI="#DemoJAXBParamPortBindingPolicy" />
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="providerRQ">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="DemoJAXBParamService">
<port name="DemoJAXBParamPort" binding="tns:DemoJAXBParamPortBinding">
<soap:address location="http://localhost:31133/DemoJAXBParamService/DemoJAXBParamService" />
</port>
</service>
</definitions>
Итак, я хочу знать, как генерировать только один экземпляр (я не знаю, почему два экземпляра создаются на стороне клиента?).
Пожалуйста, помогите мне двигаться в правильном направлении.