有没有人在Android上有一个很好的SOAP解析示例?
答案 0 :(得分:6)
解析Soap消息不包含在Android运行时中,因此它并不是非常简单。您应该使用外部库。 我正在使用ksoap2。
如果你在StackOverflow上搜索,你会看到很多关于如何使用它的例子。例如here。
答案 1 :(得分:2)
另外值得查看WSClient++。它生成所有存根和模型对象,并隐藏对象的所有解析和绑定。
我在Android中被迫使用肥皂时使用它。它不是免费的,但会为你节省大量时间而不是ksoap2,这似乎需要伏都教才能让它工作(这可能会改变我上次尝试过1年前)
答案 2 :(得分:2)
只是为了完成上面的代码,包括身份验证:
httpClient.getCredentialsProvider().setCredentials(new AuthScope("serverIP", portNo),
new UsernamePasswordCredentials(username, password));
答案 3 :(得分:1)
试试此代码
DefaultHttpClient httpClient=new DefaultHttpClient();
String responseString = null;
try
{
HttpPost httppost = new HttpPost("http://services/?wsdl");
httppost.setHeader("SOAPAction", "urn:getSearch");
httppost.setHeader("Content-Type", "text/xml; charset=utf-8");
String strEnvelope = "SOAP BODY" ;
HttpEntity entity = new StringEntity(strEnvelope);
httppost.setEntity(entity);
ResponseHandler<String> strResponseHandler=new BasicResponseHandler();
responseString = httpClient.execute(httppost, strResponseHandler);
Log.d("Search", responseString);
}
catch (Exception objException)
{
throw objException ;
}
finally
{
httpClient.getConnectionManager().shutdown();
}