服务器端为:
POST /service/transactions.asmx HTTP/1.1
Host: test.vps-online.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://test-online.net/service/addMember"<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <addMember xmlns="http://test-online.net/service/">
      <merchantid>string</merchantid>
      <requestid>string</requestid>
      <firstname>string</firstname>
      <lastname>string</lastname>
      <middlename>string</middlename>
      <dateofbirth>string</dateofbirth>
      <gender>string</gender>
      <civilstatus>string</civilstatus>
      <address1>string</address1>
      <address2>string</address2>
      <city>string</city>
      <district>string</district>
      <state>string</state>
      <postal>string</postal>
      <country>string</country>
      <mobile>string</mobile>
      <phone>string</phone>
      <fax>string</fax>
      <email>string</email>
      <currency>string</currency>
      <signature>string</signature>
    </addMember>
  </soap:Body>
</soap:Envelope>
返回的是:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <addMemberResponse xmlns="http://test-online.net/service/">
      <addMemberResult>
        <application>
          <merchantid>string</merchantid>
          <requestid>string</requestid>
          <responseid>string</responseid>
          <timestamp>string</timestamp>
        </application>
        <responseStatus>
          <responsecode>string</responsecode>
          <responsemessage>string</responsemessage>
        </responseStatus>
        <loadInfo>
          <urlString>string</urlString>
        </loadInfo>
        <Info>
          <AddMemberResponse>
            <username>string</username>
            <password>string</password>
            <accountnumber>string</accountnumber>
            <walletid>string</walletid>
          </AddMemberResponse>
          <AddMemberResponse>
            <username>string</username>
            <password>string</password>
            <accountnumber>string</accountnumber>
            <walletid>string</walletid>
          </AddMemberResponse>
        </Info>
        <QInfo>
          <QueryMemTransResponse>
            <AccountNumber>string</AccountNumber>
            <Balanceamount>string</Balanceamount>
            <Currency>string</Currency>
            <acctrans xsi:nil="true" />
          </QueryMemTransResponse>
          <QueryMemTransResponse>
            <AccountNumber>string</AccountNumber>
            <Balanceamount>string</Balanceamount>
            <Currency>string</Currency>
            <acctrans xsi:nil="true" />
          </QueryMemTransResponse>
        </QInfo>
        <QProfile>
          <QueryMemProfile>
            <username>string</username>
            <password>string</password>
            <walletid>string</walletid>
            <accountnumber>string</accountnumber>
          </QueryMemProfile>
          <QueryMemProfile>
            <username>string</username>
            <password>string</password>
            <walletid>string</walletid>
            <accountnumber>string</accountnumber>
          </QueryMemProfile>
        </QProfile>
        <signature>string</signature>
      </addMemberResult>
    </addMemberResponse>
  </soap:Body>
</soap:Envelope>我写的客户端为:
import java.io.*;
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;public class HelloWorldClient {
     public static void main(String[] arg) throws Exception {
     Call c = null;
     URL url = null;
     Vector params = null;
     Response rep = null;
     String merchantid = "1111111111";
     String requestid = "1111111111";
     String firstname = "1111111111";
     String lastname = "1111111111";
     String middlename = "1111111111";
     String dateofbirth = "1111111111";
     String gender = "1111111111";
     String civilstatus = "1111111111";
     String address1 = "1111111111";
     String address2 = "1111111111";
     String city = "1111111111";
     String district = "1111111111";
     String state = "1111111111";
     String postal = "1111111111";
     String country = "1111111111";
     String mobile = "1111111111";
     String phone = "1111111111";
     String fax = "1111111111";
     String email = "1111111111";
     String currency = "1111111111";
     String signature = "1111111111";
     String ourUrn = "http://test-online.net/service";
     String ourMethod = "addMember";
     url = new URL("http://test-online.net/service/transactions.asmx");     c = new Call();
     c.setTargetObjectURI(ourUrn);
     c.setMethodName(ourMethod);
     c.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
     
     params = new Vector();
     params.addElement(new Parameter("merchantid", String.class,merchantid, null));
     params.addElement(new Parameter("requestid", String.class,requestid, null));
     params.addElement(new Parameter("firstname", String.class,firstname, null));
     params.addElement(new Parameter("lastname", String.class,lastname, null));
     params.addElement(new Parameter("middlename", String.class,middlename, null));
     params.addElement(new Parameter("dateofbirth", String.class,dateofbirth, null));
     params.addElement(new Parameter("gender", String.class,gender, null));
     params.addElement(new Parameter("civilstatus", String.class,civilstatus, null));
     params.addElement(new Parameter("address1", String.class,address1, null));
     params.addElement(new Parameter("address2", String.class,address2, null));
     params.addElement(new Parameter("city", String.class,city, null));
     params.addElement(new Parameter("district", String.class,district, null));
     params.addElement(new Parameter("state", String.class,state, null));
     params.addElement(new Parameter("postal", String.class,postal, null));
     params.addElement(new Parameter("country", String.class,country, null));
     params.addElement(new Parameter("mobile", String.class,mobile, null));
     params.addElement(new Parameter("phone", String.class,phone, null));
     params.addElement(new Parameter("fax", String.class,fax, null));
     params.addElement(new Parameter("email", String.class,email, null));
     params.addElement(new Parameter("currency", String.class,currency, null));
     params.addElement(new Parameter("signature", String.class,signature, null));     c.setParams(params);
     System.out.print("and its answer is: ");
     rep = c.invoke(url, "");
     if (rep.generatedFault()) {
       Fault fault = rep.getFault();
       System.out.println("\nCall failed!");
       System.out.println("Code = " + fault.getFaultCode());
       System.out.println("String = " + fault.getFaultString());
     } else {
       Parameter result = rep.getReturnValue();
       System.out.print(result.getValue());
       System.out.println();
     }
   }
}
运行的时候提示的错误是:
and its answer is: 
Call failed!
Code = soap:Client
String = Server did not recognize the value of HTTP Header SOAPAction: 
麻烦各位给我看看上面的代码有什么错误吗,还需要设置哪些地方才能addMember成功,已经得到服务器返回的值呢!!
请教各位了,不甚感激!!!!!!!!!!

解决方案 »

  1.   

    Code = soap:Client
    服务器不能识别SOAPAction的HTTP头的值
    感觉你java类里。不能把东西写到main方法里吧。写在main方法里怎么行?
      

  2.   

    我只是做一个测试,看能不能发送soap和接收soap就可以了
      

  3.   

    请问如何设置客户端发送的名称呢?
    服务器端给出的SOAPAction: "http://test-online.net/service/addMember"
      

  4.   

    没有人知道啊SOAPAction怎么设置啊,我向http://test-online.net/service/transactions.asmx发送soap的时候有返回的消息Server did not recognize the value of HTTP Header SOAPAction,就是还不知道怎么设置这个东西
      

  5.   

    百度说:
    SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个HTTP SOAP请求时,其HTTP客户端必须使用/指明SOAPAction HTTP request header。
      SOAPAction header的内容可以被用在服务端,诸如:防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串("")表示SOAP消息的目的地由HTTP请求的URI标识;无值则表示没有指定这条消息的目的地。http://www.11zhuce.com/seo/SOAPAction.html
    这里面有很多SOAPAction的说明例子。你可以去看看。看着看着估计就能整明白了。有事没事百度下。对学习很有帮助的
      

  6.   


    有设置头部信息么setHeader
      

  7.   

    请教一下大家这个是怎么回事
    import org.apache.axis.client.*;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;Service service = new Service();
    Call call = (Call)service.createCall();Call类是包Client里面的,但是createCall()的返回值是javax.xml.rpc.Call
    org.apache.axis.client.Call实现了接口javax.xml.rpc.CallCall call = (Call)service.createCall();强制转换的时候就报错,提示javax.xml.rpc.Call不能转换为
    org.apache.axis.client.Call,如果要转换成org.apache.axis.client.Call,该怎么办
      

  8.   

    下面的方法可以实现发送soap
    import javax.xml.namespace.QName;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    public class TestWebService {
        public static void main(String[] args) {
       // TODO Auto-generated method stub
       System.out.println("Start invoking....");
       try
       {
         String endPoint="http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx";
         Service service = new Service();
         Call call = (Call)service.createCall();
         call.setTargetEndpointAddress(new java.net.URL(endPoint));
         call.setOperation("getVersionTime");
         call.setUseSOAPAction(true);
         call.setSOAPActionURI("http://webxml.com.cn/getVersionTime");
         call.setOperationName(new QName("www.webxml.com.cn","getVersionTime"));
         call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
         String str=(String)call.invoke( new Object[]{});
         System.out.println(str);
       }catch(Exception e)
       {
         e.printStackTrace();
       }
    }}
    Call call = (Call)service.createCall();这行代码转换的时候就会出错
      

  9.   

    String url = "http://test-online.net/service/transactions.asmx";//提供接口的地址
            String soapaction = "http://test-online.net/service/";   //域名,这是在server定义的
          
            String merchantid = "1111111111";
            String requestid = "2222222";
            String firstname = "33333";
            String lastname = "44444";
            String middlename = "55555";
            String dateofbirth = "66666";
            String gender = "77777";
            String civilstatus = "88888";
            String address1 = "999999";
            String address2 = "1111111111";
            String city = "1111111111";
            String district = "1111111111";
            String state = "1111111111";
            String postal = "1111111111";
            String country = "1111111111";
            String mobile = "1111111111";
            String phone = "1111111111";
            String fax = "1111111111";
            String email = "1111111111";
            String currency = "1111111111";
            String signature = "1111111111";
            Service service = new Service();
            try {
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(url);
                call.setOperationName(new QName(soapaction, "addMember")); //设置要调用哪个方法
                call.addParameter(new QName(soapaction, "merchantid"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "requestid"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "firstname"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "lastname"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "middlename"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "dateofbirth"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "gender"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "civilstatus"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "address1"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "address2"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "city"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "district"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "state"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "postal"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "country"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "mobile"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "phone"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "fax"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "email"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "currency"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.addParameter(new QName(soapaction, "signature"),org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
                call.setReturnType(new QName(soapaction, "addMember"), Vector.class); //要返回的数据类型(自定义类型)
                call.setUseSOAPAction(true);
                call.setSOAPActionURI(soapaction+"addMember");
                /////////////////////////////////////////////////////
                Object[] ps={merchantid,requestid,firstname,lastname,middlename,dateofbirth,gender,civilstatus,address1,address2,city,district,state,postal,country,mobile,phone,fax,email,currency,signature};
                /////////////////////////////////////////////////////
                Vector v = (Vector) call.invoke(ps);//调用方法并传递参数
                for (int i = 0; i < v.size(); i++) {
                    System.out.println(v.get(i));
                }        } catch (Exception ex) {
                ex.printStackTrace();
            }这样就可以调用了,但是会报一个这个错误org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.同样的方式
    String url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";//提供接口的地址
            String soapaction = "http://WebXml.com.cn/";   //域名,这是在server定义的
            String City = "北京";
            Service service = new Service();
            try {
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(url);
                call.setOperationName(new QName(soapaction, "getWeatherbyCityName")); //设置要调用哪个方法
                call.addParameter(new QName(soapaction, "theCityName"), //设置要传递的参数
                        org.apache.axis.encoding.XMLType.XSD_STRING,
                        javax.xml.rpc.ParameterMode.IN);
                call.setReturnType(new QName(soapaction, "getWeatherbyCityName"), Vector.class); //要返回的数据类型(自定义类型)
                call.setUseSOAPAction(true);
                call.setSOAPActionURI(soapaction + "getWeatherbyCityName");            Vector v = (Vector) call.invoke(new Object[]{City});//调用方法并传递参数
                for (int i = 0; i < v.size(); i++) {
                    System.out.println(v.get(i));
                }        } catch (Exception ex) {
                ex.printStackTrace();
            }
    就没有问题,可以返回正确的值,是不是服务器端有什么问题呢,明天再搞了,回去休息了
      

  10.   

    增加一项call.setReturnClass(org.w3c.dom.Element.class);就不会报错了
      

  11.   

    服务器端的返回是
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <addMemberResponse xmlns="http://test-online.net/service/">
          <addMemberResult>
            <application>
              <merchantid>string</merchantid>
              <requestid>string</requestid>
              <responseid>string</responseid>
              <timestamp>string</timestamp>
            </application>
            <responseStatus>
              <responsecode>string</responsecode>
              <responsemessage>string</responsemessage>
            </responseStatus>
            <loadInfo>
              <urlString>string</urlString>
            </loadInfo>
            <Info>
              <AddMemberResponse>
                <username>string</username>
                <password>string</password>
                <accountnumber>string</accountnumber>
                <walletid>string</walletid>
              </AddMemberResponse>
              <AddMemberResponse>
                <username>string</username>
                <password>string</password>
                <accountnumber>string</accountnumber>
                <walletid>string</walletid>
              </AddMemberResponse>
            </Info>
            <QInfo>
              <QueryMemTransResponse>
                <AccountNumber>string</AccountNumber>
                <Balanceamount>string</Balanceamount>
                <Currency>string</Currency>
                <acctrans xsi:nil="true" />
              </QueryMemTransResponse>
              <QueryMemTransResponse>
                <AccountNumber>string</AccountNumber>
                <Balanceamount>string</Balanceamount>
                <Currency>string</Currency>
                <acctrans xsi:nil="true" />
              </QueryMemTransResponse>
            </QInfo>
            <QProfile>
              <QueryMemProfile>
                <username>string</username>
                <password>string</password>
                <walletid>string</walletid>
                <accountnumber>string</accountnumber>
              </QueryMemProfile>
              <QueryMemProfile>
                <username>string</username>
                <password>string</password>
                <walletid>string</walletid>
                <accountnumber>string</accountnumber>
              </QueryMemProfile>
            </QProfile>
            <signature>string</signature>
          </addMemberResult>
        </addMemberResponse>
      </soap:Body>
    </soap:Envelope>请问我要怎么样才能得到这些值得呢,是不是还要专门写一个类来获取,现在设定类的返回是Element,XML方面的知识还不熟悉,请教各位大虾了
      

  12.   

    还是我要根据服务器返回的soap消息重新写一个接收类呢?如果是,请问这个类的格式该怎么写
      

  13.   

    CSDN牛人那么多难道就没有人晓得了吗?
    客户端org.w3c.dom.Document o= (org.w3c.dom.Document) call.invoke(ps);
    然后我来解析Document 
    发现Document 只有<application>
      <merchantid>string</merchantid>
      <requestid>string</requestid>
      <responseid>string</responseid>
      <timestamp>string</timestamp>
      </application>
    这一段,其它提供的返回字段都没有了,不知道是哪里错了,还是服务器端是返回了这么一点soap消息呢?
      

  14.   

    WDSL如下:<wsdl:definitions targetNamespace="http://test-online.net/service/">

    <wsdl:types>

    <s:schema elementFormDefault="qualified" targetNamespace="http://test-online.net/service/">

    <s:element name="addMember">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="merchantid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="firstname" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="lastname" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="middlename" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="dateofbirth" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="gender" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="civilstatus" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="address1" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="address2" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="district" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="state" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="postal" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="country" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="mobile" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="phone" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="fax" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="currency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="addMemberResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="addMemberResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:complexType name="ServiceResponse">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="application" type="tns:Application"/>
    <s:element minOccurs="0" maxOccurs="1" name="responseStatus" type="tns:ResponseStatus"/>
    <s:element minOccurs="0" maxOccurs="1" name="loadInfo" type="tns:LInfo"/>
    <s:element minOccurs="0" maxOccurs="1" name="Info" type="tns:ArrayOfAddMemberResponse"/>
    <s:element minOccurs="0" maxOccurs="1" name="QInfo" type="tns:ArrayOfQueryMemTransResponse"/>
    <s:element minOccurs="0" maxOccurs="1" name="QProfile" type="tns:ArrayOfQueryMemProfile"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="Application">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="merchantid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="responseid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="timestamp" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="ResponseStatus">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="responsecode" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="responsemessage" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="LInfo">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="urlString" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="ArrayOfAddMemberResponse">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="AddMemberResponse" nillable="true" type="tns:AddMemberResponse"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="AddMemberResponse">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletid" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="ArrayOfQueryMemTransResponse">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="QueryMemTransResponse" nillable="true" type="tns:QueryMemTransResponse"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="QueryMemTransResponse">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="AccountNumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Balanceamount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Currency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="acctrans" type="tns:ArrayOfAccountTrans"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="ArrayOfAccountTrans">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="AccountTrans" nillable="true" type="tns:AccountTrans"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="AccountTrans">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="loadproc" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transamount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transcurrency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="procresponsecode" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="loadtimestamp" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transsettleamount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transsettlecurrency" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="ArrayOfQueryMemProfile">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="QueryMemProfile" nillable="true" type="tns:QueryMemProfile"/>
    </s:sequence>
    </s:complexType>

    <s:complexType name="QueryMemProfile">

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    </s:sequence>
    </s:complexType>

    <s:element name="queryMember">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="merchantid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="orgrequestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="trxhstimeperiodfrom" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="trxhstimeperiodto" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="queryMemberResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="queryMemberResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="load">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletId" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transAmount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="currency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="loadproc" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="procresponseid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="loadResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="loadResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="creditMember">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="merchantid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="merchantaccountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="currency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transamount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="creditMemberResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="creditMemberResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="debitMember">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="merchantid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="merchantaccountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="requestid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="walletid" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="accountnumber" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="currency" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="transamount" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>
      

  15.   


    <s:element name="debitMemberResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="debitMemberResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="refund">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Postdata" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>

    <s:element name="refundResponse">

    <s:complexType>

    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="refundResult" type="tns:ServiceResponse"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>

    <wsdl:message name="addMemberSoapIn">
    <wsdl:part name="parameters" element="tns:addMember"/>
    </wsdl:message>

    <wsdl:message name="addMemberSoapOut">
    <wsdl:part name="parameters" element="tns:addMemberResponse"/>
    </wsdl:message>

    <wsdl:message name="queryMemberSoapIn">
    <wsdl:part name="parameters" element="tns:queryMember"/>
    </wsdl:message>

    <wsdl:message name="queryMemberSoapOut">
    <wsdl:part name="parameters" element="tns:queryMemberResponse"/>
    </wsdl:message>

    <wsdl:message name="loadSoapIn">
    <wsdl:part name="parameters" element="tns:load"/>
    </wsdl:message>

    <wsdl:message name="loadSoapOut">
    <wsdl:part name="parameters" element="tns:loadResponse"/>
    </wsdl:message>

    <wsdl:message name="creditMemberSoapIn">
    <wsdl:part name="parameters" element="tns:creditMember"/>
    </wsdl:message>

    <wsdl:message name="creditMemberSoapOut">
    <wsdl:part name="parameters" element="tns:creditMemberResponse"/>
    </wsdl:message>

    <wsdl:message name="debitMemberSoapIn">
    <wsdl:part name="parameters" element="tns:debitMember"/>
    </wsdl:message>

    <wsdl:message name="debitMemberSoapOut">
    <wsdl:part name="parameters" element="tns:debitMemberResponse"/>
    </wsdl:message>

    <wsdl:message name="refundSoapIn">
    <wsdl:part name="parameters" element="tns:refund"/>
    </wsdl:message>

    <wsdl:message name="refundSoapOut">
    <wsdl:part name="parameters" element="tns:refundResponse"/>
    </wsdl:message>

    <wsdl:portType name="transactionsSoap">

    <wsdl:operation name="addMember">
    <wsdl:input message="tns:addMemberSoapIn"/>
    <wsdl:output message="tns:addMemberSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="queryMember">
    <wsdl:input message="tns:queryMemberSoapIn"/>
    <wsdl:output message="tns:queryMemberSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="load">
    <wsdl:input message="tns:loadSoapIn"/>
    <wsdl:output message="tns:loadSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="creditMember">
    <wsdl:input message="tns:creditMemberSoapIn"/>
    <wsdl:output message="tns:creditMemberSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="debitMember">
    <wsdl:input message="tns:debitMemberSoapIn"/>
    <wsdl:output message="tns:debitMemberSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="refund">
    <wsdl:input message="tns:refundSoapIn"/>
    <wsdl:output message="tns:refundSoapOut"/>
    </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="transactionsSoap" type="tns:transactionsSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

    <wsdl:operation name="addMember">
    <soap:operation soapAction="http://test-online.net/service/addMember" style="document"/>

    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="queryMember">
    <soap:operation soapAction="http://test-online.net/service/queryMember" style="document"/>

    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="load">
    <soap:operation soapAction="http://test-online.net/service/load" style="document"/>

    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="creditMember">
    <soap:operation soapAction="http://test-online.net/service/creditMember" style="document"/>

    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="debitMember">
    <soap:operation soapAction="http://test-online.net/service/debitMember" style="document"/>

    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="refund">
    <soap:operation soapAction="http://test-online.net/service/refund" 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="transactionsSoap12" type="tns:transactionsSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>

    <wsdl:operation name="addMember">
    <soap12:operation soapAction="http://test-online.net/service/addMember" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="queryMember">
    <soap12:operation soapAction="http://test-online.net/service/queryMember" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="load">
    <soap12:operation soapAction="http://test-online.net/service/load" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="creditMember">
    <soap12:operation soapAction="http://test-online.net/service/creditMember" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="debitMember">
    <soap12:operation soapAction="http://test-online.net/service/debitMember" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="refund">
    <soap12:operation soapAction="http://test-online.net/service/refund" style="document"/>

    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="transactions">

    <wsdl:port name="transactionsSoap" binding="tns:transactionsSoap">
    <soap:address location="http://test-online.net/service/transactions.asmx"/>
    </wsdl:port>

    <wsdl:port name="transactionsSoap12" binding="tns:transactionsSoap12">
    <soap12:address location="http://test-online.net/service/transactions.asmx"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>希望各位高人帮我看看