2
我已经按照我的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 2013-02-19 06:51:02
我没有提供任何额外的选择在wsimport仍然产生 – user1428716 2013-02-19 07:10:00
好的..请保持相应的绑定和端口名相同..它应该解决您的问题.. – user1428716 2013-02-19 07:12:42