मेरे पास एक नेट वेबसाइट है जो एक सरल धारावाहिक वस्तु देता है।मैं अपने ऑब्जेक्ट में सोप ऑब्जेक्ट को कैसे डाला या deserialize कर सकते हैं?
मेरे पास .NET webservice से प्रतिक्रिया प्राप्त करने के लिए निम्न कोड है। मैं अपने ऑब्जेक्ट में एक्सएमएल वापस कैसे deserialize कर सकते हैं?
मैं सोपप्रिमेटिव के बजाय MyObject वापस करना चाहता हूं।
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));
}
}
क्या संपत्तियों पर लूप के बजाय प्रतिक्रिया एक्सएमएल deserializing के लिए कोई और तरीका है? – breceivemail
SOAP पार्सिंग के साथ कोई और अनुभव नहीं .. :) – MKJParekh