формат JSON очень удобный.Я написал простой код для преобразования ответа SOAP V1 в JSON:
public static String soapStrToJson(String input)
{
String output;
output = input;
output = output.replace("key=", "\"");
output = output.replace("; value=", "\":");
output = output.replace("; };",",");
output = output.replace("item=anyType{","");
output = output.replace("Map","");
output = output.replace(",}","}");
output = output.replace(", }"," }");
output = output.replace("null","0");
Pattern pattern = Pattern.compile(":(.*?),");
Matcher matcher = pattern.matcher(output);
List<String> wordsToReplace = new ArrayList();
while (matcher.find())
{
String str = matcher.group(0);
if(str.contains("{") || str.contains("["))
continue;
str = str.replace(":", "");
str = str.replace(",", "");
if(str.matches("^-?\\d+$"))
continue;
System.out.println("-->" + str);
wordsToReplace.add(str);
}
for(String str : wordsToReplace)
{
output = output.replace(":"+str+",", ":\""+str+"\",");
}
return output;
}
и использовал эту функцию как:
parseCategoryJSON( new JSONObject( soapStrToJson( env.getResponse().toString() ) ) )
Обратите внимание, что я не использую env.bodyIn SoapObject.
Возможно, это не идеальный конвертер для всех ответов, поэтому измените 'String.replace' и Pattern-Matchers согласно вашему требованию.