Basit bir seri hale getirilmiş bir nesne döndüren bir .Net Web Hizmeti var.SoapObject'i nesnelere nasıl koyabilir veya pasaj yapabilirim?
.Net webservice adresinden yanıt almak için aşağıdaki kodu aldım. Döndürülen XML'i nesneme nasıl geri gönderebilirim?
SoapPrimitive yerine MyObject öğesini döndürmek istiyorum.
private static SoapPrimitive callWebServiceMethod(String url,
String namespace, String methodName,
HashMap<String, Object> parameters, String soapAction)
throws Exception {
Log.i("WebService", "URL: " + url);
Log.i("WebService", "MethodName: " + methodName);
URL myurl = new URL(url);
URLConnection connection = myurl.openConnection();
connection.setConnectTimeout(20 * 1000);
HttpURLConnection httpConnection = (HttpURLConnection) connection;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK)
{
httpConnection.disconnect();
SoapObject request = new SoapObject(namespace, methodName);
if (parameters != null) {
String[] keys = new String[0];
keys = (String[]) parameters.keySet().toArray(keys);
Object[] vals = (Object[]) parameters.values().toArray();
for (int i = 0; i < parameters.size(); i++) {
request.addProperty(keys[i], vals[i]);
Log.i("WebService", keys[i] + ": " + vals[i]);
}
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(url,
TimeOutInSeconds * 1000);
androidHttpTransport.call(soapAction, envelope);
return (SoapPrimitive) envelope.getResponse();
}
else
{
httpConnection.disconnect();
throw new Exception(
"Http Error code: " + String.valueOf(responseCode));
}
}
Özelliklerde döngü yerine yanıt XML'i serileştirme için başka herhangi bir yöntem var mı? SOAP ayrıştırma ile – breceivemail
artık deneyim .. :) – MKJParekh