2011-02-16 9 views
8

एक प्रासंगिक सवाल ही नहीं है, लेकिन मैं इस सवाल का जवाब स्पष्ट रूप से नहीं मिल सका।एंड्रॉयड, भेजने के लिए और HTTP POST विधि के माध्यम से एक्सएमएल प्राप्त

मैं HTTP पर एक विशिष्ट URL का पता करने के लिए एक छोटी एक्सएमएल कोड

<aaaLogin inName="admin" inPassword="admin123"/> 

पोस्ट करना चाहते हैं। वेब सेवा मुझे एक एक्सएमएल कोड वापस भेज देगा। महत्वपूर्ण हिस्सा यह है कि मैं प्राप्त एक्सएमएल का विश्लेषण करूंगा, और मैं इसे फाइल के रूप में स्टोर करना चाहता हूं।

// Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://192.168.192.131/"); //URL address 

    StringEntity se = new StringEntity("<aaaLogin inName=\"admin\" inPassword=\"admin123\"/>",HTTP.UTF_8); //XML as a string 
    se.setContentType("text/xml"); //declare it as XML 
    httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8"); 
    httppost.setEntity(se); 

    BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient .execute(httppost); 
    tvData.setText(httpResponse.getStatusLine().toString()); //text view is expected to print the response 

प्रतिक्रिया प्राप्त करने में कुछ गड़बड़ है। इसके अलावा, मैंने प्राप्त XML को फ़ाइल के रूप में सहेजने के लिए कुछ भी नहीं लिखा था। क्या कोई कोड स्निपेट लिख सकता है?

उत्तर

3

आप का उपयोग कर प्रतिक्रिया की सामग्री प्राप्त कर सकते हैं:

String responseXml = EntityUtils.toString(httpResponse.getEntity()); 

फिर आप कुछ like this का उपयोग कर एक फ़ाइल को यह लिख सकते हैं।

वहाँ कुछ प्रतिक्रिया

प्राप्त जब से तुम ने कहा कि havn't क्या प्रतिक्रिया यह इस बात के साथ मदद करने के लिए कुछ हद तक मुश्किल है प्राप्त करने के साथ गलत है गलत है।

13

ठीक है, मैं जल्द ही पता लगा है के बाद मैं इस प्रश्न पोस्ट। यहाँ इस कोड को ठीक काम करता है:

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://192.168.192.131/"); 

try { 
    StringEntity se = new StringEntity("<aaaLogin inName=\"admin\" inPassword=\"admin123\"/>", HTTP.UTF_8); 
    se.setContentType("text/xml"); 
    httppost.setEntity(se); 

    HttpResponse httpresponse = httpclient.execute(httppost); 
    HttpEntity resEntity = httpresponse.getEntity(); 
    tvData.setText(EntityUtils.toString(resEntity));   
} catch (ClientProtocolException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
संबंधित मुद्दे