服务器端为:
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成功,已经得到服务器返回的值呢!!
请教各位了,不甚感激!!!!!!!!!!
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成功,已经得到服务器返回的值呢!!
请教各位了,不甚感激!!!!!!!!!!
服务器不能识别SOAPAction的HTTP头的值
感觉你java类里。不能把东西写到main方法里吧。写在main方法里怎么行?
服务器端给出的SOAPAction: "http://test-online.net/service/addMember"
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的说明例子。你可以去看看。看着看着估计就能整明白了。有事没事百度下。对学习很有帮助的
有设置头部信息么setHeader
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,该怎么办
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();这行代码转换的时候就会出错
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();
}
就没有问题,可以返回正确的值,是不是服务器端有什么问题呢,明天再搞了,回去休息了
<?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方面的知识还不熟悉,请教各位大虾了
客户端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消息呢?
−
<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>
<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>希望各位高人帮我看看