What?
The AndroidSOAP is an "yet another" SOAP client for Android platform, it is compatible with 1.5+ versions.
But... this is only a proof-of-concept library, I've tested it with JBoss WebService stack, see the example.
Why?
It is a very easy way to call a SOAP servie, because it is based on JAX-WS interfaces. You can use all interfaces what the 'wsimport' generates from the WSDL.
Short example:
ListSkinPacksRequest request = new ListSkinPacksRequest(); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("request", request); Envelope envelope = new SimpleEnvelope("http://skinpack.pop.javaforum.hu/"); envelope.setHeader(new SimpleHeader()); envelope.setBody(new SimpleBody("listSkinPacks", parameters)); Transport transport = new HttpTransport("http://services.power.of.planets.hu/PoP-SkinPack-remote/listSkinPacks", "androidsoap.demo@javaforum.hu", "demopassword"); ListSkinPacksResponse response = transport.call(envelope, "return", ListSkinPacksResponse.class);
You can create the 'request' instances, put its into the parameters map, create an envelope, create a transport and call the service: you can get the result into the JAX-WS interfaces:
for (SkinPackMetadata metadata : response.getReturn().getSkinPacksList()) { String fileName = metadata.getFileName(); String name = metadata.getName(); }
Can you see? The lists are lists, the classes are classes, the values are in the properties, as like as JAX-WS client.
Where?
Source: http://svn.javaforum.hu/svn/android/AndroidSOAP/trunk/
Wiki: this page
Issues: todo