android webservice

 

 
public SoapPrimitive detail;
// 命名空間
private static final String NAMESPACE = "http://tempuri.org/";
//webservice地址
private static String WebServiceURL = "http://www.xxx.com/Services/xxx.asmx";
//此處是命名空間+方法名
private static String SOAP_ACTION = "http://tempuri.org/GetComapnyXML";
//WSDL文檔中的URL
private static final String WSDL="http://www.xxx.com/Services/xxxx.asmx?wsdl";
private OnClickListener calc = new OnClickListener() {
@Override
public void onClick(View v) {
//第一個參數是命名空間第二個參數是要調用的方法
SoapObject request = new SoapObject(NAMESPACE, "GetComapnyXML");
/* 第一種傳參,參數名不一定要於webservice參數統一,但一定要按順序
request.addProperty("StartCount", "1");
request.addProperty("EndCount", "2");
request.addProperty("jobCount", "2");
*/
 
/* 第二種傳參 */
PropertyInfo pi = new PropertyInfo();
pi.setName("StartCount");
pi.setValue("1");
request.addProperty(pi);
pi = new PropertyInfo();
pi.setName("EndCount");
pi.setValue("2");
request.addProperty(pi);
pi = new PropertyInfo();
pi.setName("jobCount");
pi.setValue("2");
request.addProperty(pi);
 
Element[] header = new Element[1];
header[0] = new Element().createElement(NAMESPACE, "CompanyToken");
//如果有多個按下面一樣寫法
Element pwd = new Element().createElement(NAMESPACE, "CompanyKey");
pwd.addChild(Node.TEXT, "密碼");
header[0].addChild(Node.ELEMENT, pwd);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.headerOut = header;
envelope.bodyOut = request;
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
//HttpTransportSE ht = new HttpTransportSE(WebServiceURL);
AndroidHttpTransport httpTranstation=new AndroidHttpTransport(WSDL);
try {
//ht.call(SOAP_ACTION, envelope);
httpTranstation.call(SOAP_ACTION, envelope);
detail = (SoapPrimitive) envelope.getResponse();
TextConten.setText(detail.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
Log.e(this.toString(),e.toString());
//Toast.makeText(WebserviceTestActivity.this,
// "文件流錯誤" + e.toString(), Toast.LENGTH_LONG);
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//Toast.makeText(WebserviceTestActivity.this,
// "XML文件流錯誤" + e.toString(), Toast.LENGTH_LONG);
} catch (Exception e) {
// TODO: handle exception
//Toast.makeText(WebserviceTestActivity.this,
// "錯誤" + e.toString(), Toast.LENGTH_LONG);
Log.e(this.toString(),e.toString());
}
}
};

 

<?xml version="1.0" encoding="utf-8"?>
<soap:Header>
<CompanyToken xmlns="http://tempuri.org/">
<CompanyKey>string</CompanyKey>
</CompanyToken>
</soap:Header>
<soap:Body>
<GetComapnyXML xmlns="http://tempuri.org/">
<StartCount>string</StartCount>
<EndCount>string</EndCount>
<jobCount>string</jobCount>
</GetComapnyXML>
</soap:Body>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章