я следующие обязательные и обслуживания элементов в моей WSDL:wsimport с HTTP: связывание
<wsdl:binding name="MyServiceSOAP11Binding" type="impl:MyServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="getProjects4Me">
<soap:operation soapAction="getProjects4Me" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="MyServiceHttpBinding" type="impl:MyServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="getProjects4Me">
<http:operation location="MyService/getProjects4Me"/>
<wsdl:input>
<mime:content type="text/xml" part="getProjects4Me"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="getProjects4Me"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MyService">
<wsdl:port name="MyServiceSOAP11port_http" binding="impl:MyServiceSOAP11Binding">
<soap:address location="http://shop.my.com:80//services/MyService"/>
</wsdl:port>
<wsdl:port name="MyServiceHttpport" binding="impl:MyServiceHttpBinding">
<http:address location="http://shop.my.com:80/services/MyService"/>
</wsdl:port>
</wsdl:service>
Когда я использую wsimport на выше WSDL, он генерирует код для «MyServiceSOAP11port_http», но не для «MyServiceHttpport». Я что-то упускаю?
Моя wsimport ANT задача:
<target name="wsimport">
<exec executable="${jdk.home}/bin/wsimport">
<arg line="-keep -s ../wsimportsrc -p com.sample -verbose
-d ../wsimportclasses ../wsdl_xsd/MyService.xml"/>
</exec>
</target>
Не первый метод типа порта есть в MyService .class, но второй, соответствующий MyServiceHttpport, который имеет тип привязки как http, отсутствует. Я даже принудительно создал новый метод, аналогичный методу типа порта привязки SOAP, но при запуске клиента получил следующее исключение: Исключение в потоке «main» javax.xml.ws.WebServiceException: Неподдерживаемый конечный адрес: \t at com.sun.xml .internal.ws.api.pipe.TransportTubeFactory.create (Неизвестный источник) – Sandeep
Я не предоставлял никаких дополнительных опций в wsimport, пока он не сгенерирован – user1428716
Хорошо .. Пожалуйста, держите Correponding binding и portname одинаково .. он должен решить вашу проблему .. – user1428716