jar:ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar public class WebServiceKsoap { private SoapSerializationEnvelope envelope; private AndroidHttpTransport transport; private SoapObject soap; public WebServiceKsoap() { envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; } public String callCatalog(String catalogid) { TbRecords record = DBManager.getDb().findTbRecordsByCodeId(catalogid); String version = record.getVersion(); try { soap = new SoapObject(Ksoap2.NAMESPACE, Ksoap2.CATALOG_METHOD_NAME); soap.addProperty("param", getParamXml(Ksoap2.APPID, catalogid, "", version)); envelope.bodyOut = soap; transport = new AndroidHttpTransport(Ksoap2.LOCALURL, 3000); transport.call(null, envelope); Object xmlsrc = envelope.getResponse(); return xmlsrc.toString(); } catch (IOException e) { return callRemoteCatalog(); } catch (XmlPullParserException e) { return null; } } protected String callRemoteCatalog() { AndroidHttpTransport remotetransport = new AndroidHttpTransport(Ksoap2.REMOTEURL, 5000); try { remotetransport.call(null, envelope); Object rexmlsrc = envelope.getResponse(); return rexmlsrc.toString(); } catch (IOException ex) { return null; } catch (XmlPullParserException ex) { return null; } } protected String getParamXml(String appId, String catalogId, String detailId, String version) { XmlRender xml = new XmlRender(XmlBuilder.PARAMXML); xml.setElementRightValue("PARAM", "APPID", appId); xml.setElementRightValue("PARAM", "CATALOGID", catalogId); xml.setElementRightValue("PARAM", "DETAILID", detailId); xml.setElementRightValue("PARAM", "VERSION", version); return xml.getXML(); } }