Hey CJ, can you give an example of how to include that into a project and how to call a web service method with it? I'm really struggling with this ksoap stuff.
On Oct 17, 12:14 pm, CJ <[EMAIL PROTECTED]> wrote: > go get thishttp://www.tuxpan.com/android-soap/android-ksoap2-build.zip > > On Oct 17, 11:25 am, opengl es <[EMAIL PROTECTED]> wrote: > > > Hi, > > > I can't find AndroidHttpTransport... > > (I'm using android-sdk-windows-1.0_r1) > > > Franck > > > On Oct 17, 6:26 am, "shailesh prakash" <[EMAIL PROTECTED]> wrote: > > > > Hi christian110011, > > > > for kSOAP, you have to do something like this : > > > // you have to download ksoap for j2me and extend it's > > > org.ksoap2.transport.Transport and implement ServiceConnection, coz > > > it is built > > > // for j2me not Android, you can eaisly find these two on other android > > > group > > > > Thread t = new Thread() > > > { > > > private static final String > > > SOAP_ACTION = "addition"; > > > private static final String > > > METHOD_NAME = "addition"; > > > private static final String > > > NAMESPACE = "http://ws.apache.org/axis2"; > > > > // This is for service > > > deployed on Tomcat, for JBOSS Android is not working on my emulator > > > > private static final String URL = > > > "http://yourIP:8080/Axis2ServiceServer/services/CalcService"; > > > Integer a = null; > > > Integer b = null; > > > > @Override > > > public void run() > > > { > > > String stA = ((EditText) > > > findViewById(R.id.EditText01)).getText().toString(); > > > String stB = ((EditText) > > > findViewById(R.id.EditText02)).getText().toString(); > > > SoapSerializationEnvelope > > > envelope = null; > > > try > > > { > > > a = > > > Integer.valueOf(stA); > > > b = > > > Integer.valueOf(stB); > > > SoapObject > > > request = new SoapObject(NAMESPACE,METHOD_NAME); > > > > > > request.addProperty("a", a); > > > > > > request.addProperty("b", b); > > > envelope = new > > > SoapSerializationEnvelope(SoapEnvelope.VER11); > > > > > > envelope.setOutputSoapObject(request); > > > > > > AndroidHttpTransport androidHttpTransport = new > > > AndroidHttpTransport(URL); > > > > > > androidHttpTransport.call(SOAP_ACTION, envelope); > > > Object result = > > > envelope.getResponse(); > > > KSoapClient.res = > > > result.toString(); > > > } > > > catch > > > (NumberFormatException nfe) > > > { > > > KSoapClient.res = > > > "Only Integer numbers "; > > > Log.e("Input > > > Error: ", nfe.getMessage()); > > > } > > > catch (SoapFault sf) > > > { > > > Log.e("Service > > > Response Error, "+ sf.faultcode+":", > > > sf.faultstring); > > > } > > > catch (IOException ioe) > > > { > > > Log.e("Service > > > Response Error: ", ioe.getMessage()); > > > } > > > catch > > > (XmlPullParserException xppe) > > > { > > > Log.e("Service > > > Response Error: ", xppe.getMessage()); > > > } > > > } > > > }; > > > t.start(); > > > > And if you like to create your own SOAP Engine(Custom Parser will do), > > > you may do, > > > > public String serviceResponse(String a , String b) > > > { > > > String s=null; > > > Integer ai = null; > > > Integer bi = null; > > > Document doc; > > > try > > > { > > > DocumentBuilderFactory factory = > > > DocumentBuilderFactory.newInstance(); > > > DocumentBuilder parser = > > > factory.newDocumentBuilder(); > > > > ai = Integer.valueOf(a); > > > bi = Integer.valueOf(b); > > > doc = parser.parse(new > > > URL("http://192.168.1.101:8089/axis/Calc.jws?method=add&a="+a+"&b="+b).openConnection().getInputStream()); > > > > > > if(null!=doc.getElementsByTagName("soapenv:Envelope")) > > > if(null!=doc.getElementsByTagName("soapenv:Body")) > > > { > > > if(null!=doc.getElementsByTagName("addReturn")) > > > { > > > NodeList nl > > > =doc.getElementsByTagName("addReturn"); > > > > > > s=nl.item(0).getFirstChild().getNodeValue(); > > > > } > > > else // not working due to IO error > > > { > > > > > > if(null!=doc.getElementsByTagName("soapenv:Fault")) > > > { > > > s = "Unable to get Service"; > > > } > > > else > > > { > > > > } > > > } > > > } > > > } catch (ParserConfigurationException e) { > > > > Log.e("Error", e.getMessage()); > > > } catch (FactoryConfigurationError e) { > > > > Log.e("Error", e.getMessage()); > > > } catch (SAXException e) { > > > > Log.e("Error", e.getMessage()); > > > } catch (MalformedURLException e) { > > > > Log.e("Error", e.getMessage()); > > > } catch (IOException e) { > > > > Log.e("Error", e.getMessage()); > > > } > > > catch(Exception e) > > > { > > > if (ai == null || bi == null) { > > > s = "Addition service is only for > > > integers!!"; > > > } > > > } > > > return s; > > > On Thu, Oct 16, 2008 at 6:07 PM, christian110011 > > > > <[EMAIL PROTECTED]> wrote: > > > > > hi all > > > > does anybody know how to call a soap web service from an android > > > > application (ie. the android app is the web service client)? which > > > > approaches are the best? any alternatives? > > > > thx :-) > > > > regards, christian- Hide quoted text - > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

