日期:2014-05-17  浏览次数:20641 次

一个很简单又很难的webservice
别人给了我wsdl文档http://180.168.105.214:8080/TTPOS/sales.asmx?WSDL,让我调用里面的方法向服务器传递数据并获得返回值(目前让我测试函数test_a_plus_b,因为其他的都要账号密码的)。网上有个类似的实例,但里面向服务器传数据时有个关键的代码
//1、创建服务(Service)
URL url = new URL(wsdlUrl);
//new QName()中的第二个参数是wsdl definition中的name属性。但在我wsdl文件中找不到name属性
QName sname = new QName(ns,"MyServiceImplService");
Service service = Service.create(url,sname);
//2、创建Dispatch
Dispatch<SOAPMessage> dispatch = service.createDispatch(new QName(ns,"MyServiceImplPort"), SOAPMessage.class, Service.Mode.MESSAGE);

wsdl definition中的name属性不要也可以吗?以test_a_plus_b为例,我该怎么向服务器发数据并获得返回值?
webservice 实例 soap wsdl

------解决方案--------------------
<wsdl:service name="sales">
  <wsdl:port name="salesSoap" binding="tns:salesSoap">
  <soap:address location="http://180.168.105.214:8080/TTPOS/sales.asmx" /> 
  </wsdl:port>
  <wsdl:port name="salesSoap12" binding="tns:salesSoap12">
  <soap12:address location="http://180.168.105.214:8080/TTPOS/sales.asmx" /> 
  </wsdl:port>
</wsdl:service>

它怎么就没有name属性
------解决方案--------------------

myeclipse10公司不允许装,所以平时都是用普通的eclipse来弄的,LZ你那个插件是对的,至于具体,网上找找吧