现有一个项目的wsdl文件,怎么以socket组包的方式组SOAP报文来和webservice服务端交互

现有一个项目的wsdl文件,如何以socket组包的方式组SOAP报文来和webservice服务端交互
本帖最后由 kazoroth 于 2011-10-27 02:54:56 编辑 因为之前做的都是基于TCP/IP的socket报文,而且我们开发的平台不支持webservice直接调用,所以只能以socket组包的方式组soap包。由于本人对wsdl不熟,所以不知道怎么组包,只是自己做过一个提供加法服务的webservice,函数原型为:long add(long a,long b) ,然后自己通过c#写了个客户端调用了这个加法webservice,并且抓包得到了如下报文(红字是客户端发包,蓝字是webservice服务端返回,两个加数分别为99999、55555,返回的是155554):
POST /axis2/services/AddService.AddServiceHttpSoap11Endpoint/ HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3623)
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:TTAdd"
Host: 10.229.21.55:8080
Content-Length: 303
Expect: 100-continue
Connection: Keep-Alive
HTTP/1.1 100 Continue
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><TTAdd xmlns="http://ws"><a>99999</a><b>55555</b></TTAdd></soap:Body></soap:Envelope>HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Sun, 23 Oct 2011 15:16:23 GMT

f9
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:TTAddResponse xmlns:ns="http://ws"><ns:return>155554</ns:return></ns:TTAddResponse></soapenv:Body></soapenv:Envelope>
0
尽管如此,手上有了个项目的wsdl文件,还是不知道该如何通过上述组包的方式组SOAP包,希望有高手能够指点。能够以该文档中的getvioinfo这个函数举个例子就好,主要是想了解该报文的xml的结点结构具体是如何写的,谢谢!下面的工程的wsdl文件:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://webservice.gxjj.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://webservice.gxjj.com" xmlns:intf="http://webservice.gxjj.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2.1
Built on Aug 08, 2005 (11:49:10 PDT)-->

   <wsdl:message name="delete_fineResponse">

      <wsdl:part name="delete_fineReturn" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="getvioinfoRequest">

      <wsdl:part name="jdsbh" type="xsd:string"/>

      <wsdl:part name="jdslb" type="xsd:string"/>

      <wsdl:part name="yhm" type="xsd:string"/>

      <wsdl:part name="mm" type="xsd:string"/>

   </wsdl:message>

   <wsdl:message name="delete_fineRequest">

      <wsdl:part name="jdsbh" type="xsd:string"/>

      <wsdl:part name="jdslb" type="xsd:string"/>

      <wsdl:part name="sjbh" type="xsd:string"/>

      <wsdl:part name="yhm" type="xsd:string"/>

      <wsdl:part name="mm" type="xsd:string"/>