java - Android webservice: How to receive an array of string -


मेरी webservice XML का अनुसरण है:

  HTTP / 1.1 200 ओके सामग्री प्रकार: text / xml; Charset = utf-8 सामग्री-लंबाई: लंबाई & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; साबुन: लिफ़ाफ़ा xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: साबुन = " http://schemas.xmlsoap.org/soap/envelope/"> & LT; साबुन: शरीर & gt; & Lt; GetAllPanelsResponse xmlns = "http://SolMonAndroid.org/" & gt; & LT; GetAllPanelsResult & gt; & LT; स्ट्रिंग & gt; स्ट्रिंग & lt; / स्ट्रिंग & gt; & LT; स्ट्रिंग & gt; स्ट्रिंग & lt; / स्ट्रिंग & gt; & Lt; / GetAllPanelsResult & gt; & Lt; / GetAllPanelsResponse & gt; & Lt; / साबुन: शरीर & gt; & Lt; / साबुन: लिफाफा & gt;  

मैं अपने एंड्रॉइड ऐप पर एक सरणी के रूप में प्राप्त करने के बारे में कैसे जा सकता हूं? मैंने निम्नलिखित का प्रयास किया है लेकिन लौटा परिणाम 0 है। (मुझे पता है कि 0 प्रविष्टियों से अधिक है)

  // पैनलों webservice सार्वजनिक स्थिर स्ट्रिंग [] invokeGetAllPanelsWS (स्ट्रिंग ऑन, स्ट्रिंग एसए) { स्ट्रिंग [] returnList = null; // सभी पैनलों को प्राप्त करने के लिए अनुरोध बनाएं SoapObject अनुरोध = नया सोपऑब्जेक्ट (WSDL_TARGET_NAMESPACE, ON); // बनाएँ लिफ़ाफ़ा सोप सर्टिफिकेशन एन्वेलप लिफाफा = नया साबुनसिरीकरणकरण एनाफ़ेफ़ (सोपएनलफाफे। // सुनिश्चित करता है कि लिफ़ाफ़ा है। NET संगत envelope.dotNet = true; // सेट आउटपुट SOAP ऑब्जेक्ट लिफ़ाफ़ा.सेटऑप्टपुटसओपऑब्जेक्ट (अनुरोध); // एचटीटीपी कॉल ऑब्जेक्ट बनाएँ एचटीटीपी ट्रांसस्पेस एडीआरडीएचटीपीटीआरएस्पोर्ट = नया एचटीटीपी ट्रांस्पोर्टएसई (एसओएपी_एडए); कोशिश करें // // वेब सेवा एंडोलाइट एचटीपीटीआरएस्पोर्ट कॉल (एसए, लिफाफा); // प्रतिक्रिया प्राप्त करें SoapObject response = (SoapObject) envelope.getResponse (); // सूची आइटम int की संख्या प्राप्त intPropertyCount = response.getPropertyCount (); // एक नया रिटर्न सरणी रिटर्न बनाता है सूची = नए स्ट्रिंग [intPropertyCount]; // सभी परिणामों के माध्यम से loops (int i = 0; i & lt; intPropertyCount; i ++) {स्ट्रिंग str = ((स्ट्रिंग) (प्रतिक्रिया) .getPropertyAsString (i)); वापसी सूची [i] = str; }} पकड़ (अपवाद ई) {// त्रुटि स्क्रीन दिखाना चाहिए // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!! Println (e.getMessage ()); e.printStackTrace (); वापसी नल; } // ऑब्जेक्ट वापसी वापसी कॉल करने के लिए वापस लौटें; }  

अब मैं इस तरह से परीक्षण करने के लिए अपनी मुख्य गतिविधियों में से एक को कॉल करता हूं:

  सार्वजनिक वर्ग WebServiceGetAllPanels AsyncTask को बढ़ाता है & lt; शून्य, शून्य, स्ट्रिंग [] & gt; {@Override Protected void onPreExecute () {// TODO स्वतः-निर्मित विधि स्टब super.onPreExecute (); } @Override सुरक्षित शून्य पर पोस्टएक्सएक्यूट (स्ट्रिंग [] परिणाम) {System.out.println (panelSet.length); } @ ओवरराइड संरक्षित स्ट्रिंग [] doInBackground (शून्य ... arg0) {panelSet = Webservice.invokeGetAllPanelsWS ("GetAllPanels", "http://SolMonAndroid.org/GetAllPanels"); वापसी नल; }}  


Comments

Popular posts from this blog

apache - 504 Gateway Time-out The server didn't respond in time. How to fix it? -

c# - .net WebSocket: CloseOutputAsync vs CloseAsync -

c++ - How to properly scale qgroupbox title with stylesheet for high resolution display? -