0
我在查找有關如何在Android中調用標準SOAP Web服務的好信息時遇到了很多問題。任何幫助如何使用Android SOAP Web服務調用
我在查找有關如何在Android中調用標準SOAP Web服務的好信息時遇到了很多問題。任何幫助如何使用Android SOAP Web服務調用
使用以下代碼從Android調用SOAP Web服務使用NTLM AUTHENTICATION。
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.implicitTypes = true;
soapEnvelope.dotNet = true;
SoapObject soapReq = new SoapObject("urn:microsoft-dynamics-schemas/page/customercard","Read");
soapEnvelope.setOutputSoapObject(soapReq);
propinfo = new PropertyInfo();
propinfo.setName("No");
propinfo.setValue(no);
propinfo.setType(no.getClass());
propinfo.setNamespace("urn:microsoft-dynamics-schemas/page/customercard");
soapReq.addProperty(propinfo);
NtlmTransport ntlm = new NtlmTransport(url, userid, password, domainname,systemname);
try{
if (headers!=null){
ntlm.call("urn:microsoft-dynamics-schemas/page/customercard/Read", soapEnvelope,headers);
}else{
ntlm.call("urn:microsoft-dynamics-schemas/page/customercard/Read", soapEnvelope);
}
Object retObj = soapEnvelope.bodyIn;
if (retObj instanceof SoapFault){
SoapFault fault = (SoapFault)retObj;
Exception ex = new Exception(fault.faultstring);
if (eventHandler != null)
eventHandler.Wsdl2CodeFinishedWithException(ex);
}else{
SoapObject result=(SoapObject)retObj;
if (result.getPropertyCount() > 0){
System.out.println("RESULT 2"+result);
Object obj = result.getProperty(0);
SoapObject j = (SoapObject)obj;
}
首先,您應該通過AsyncTask調用Web服務。 您必須擁有一個bean類並在清單文件中添加Internet權限。 查詢this Example供您參考
您遇到了什麼麻煩? – user3317558
我沒有任何麻煩,我不知道如何使用SOAP? – venu
你有[google搜索](https://www.google.co.in/?gfe_rd=cr&ei=kusBU86GBOrV8gfQs4GQDQ#q=Android%2BSoap+Example)? – user3317558