2012-01-18 7 views
13

आईओएस से आने के साथ लिफाफा की जांच करना मुझे एंड्रॉइड में वेब सेवाओं के साथ एक कठिन समय है। मैंने उदाहरणों का प्रयास करने, ब्लॉग पढ़ने और वेब सेवा के साथ सफलतापूर्वक संवाद करने में कई घंटे बिताए हैं, फिर भी भाग्य का सवाल है ....Ksoap2 (एंड्रॉइड)

नीचे की रेखा और मैं लिफाफा देख रहा हूं भेज दिया। आईओएस में मैं सिर्फ एक्सएमएल संदेश देख सकता हूं जिसे भेजा जा रहा है, इसे सोपूआई से तुलना करें या ऐसा कुछ समझें और समझें कि क्या गलत है। क्या हम ऐसा नहीं कर सकते? कॉल को एक्सएमएल को System.out.print पर आउटपुट करने से पहले?

मैं प्रतिक्रिया के लिए भी वही काम करना चाहूंगा, सादा http प्रतिक्रिया प्राप्त करें, क्योंकि Ksoap2 अपवाद काफी खराब हैं।

क्षमा करता है, तो यह एक बहुत बुनियादी सवाल है, लेकिन मैं थोड़ा निराश :(

उत्तर

32

हो रही है जब आप अपने HttpTransportSE androidHttpTransport आप पंक्ति जोड़ सकते हैं बनाया है:

androidHttpTransport.debug = true; 

androidHttpTransport.call(SOAP_ACTION, envelope); आप कर सकते हैं कॉल करने के बाद दो स्ट्रिंग चर से एक्सएमएल प्रारूप में अनुरोध और प्रतिक्रिया प्राप्त करें:

androidHttpTransport.requestDump; 
androidHttpTransport.responseDump; 

आप इन मानों को लॉग में प्रिंट कर सकते हैं या एक्सेस कर सकते हैं डीबग मोड के अंदर एम।

+0

यह काम किया। Tnks – inversus

+0

मेरे लिए काम किया :) धन्यवाद – user1007522

+0

androidHttpTransport.requestDump मुझे शून्य दें – Killer

2

एक टीसीपी/आईपी मॉनीटर का उपयोग करें, जैसे ग्रहण में आता है (विंडो-> शो व्यू-> डीबग-> टीसीपी/आईपी मॉनीटर)। मैं तर्क दूंगा कि एक्सएमएल लिफाफा प्रिंट करना कोड में नहीं है, क्योंकि यह केवल डिबगिंग के लिए है। यदि आपका webservice पोर्ट 8080 पर सुन रहा है तो आप मॉनिटर को पोर्ट 8081 पर सुनने और पोर्ट 8080 पर नजर रखने के लिए कॉन्फ़िगर करेंगे। फिर पोर्ट एसओएपी क्लाइंट को पोर्ट 8081 पर इंगित करें। इस तरह टीसीपी/आईपी मॉनिटर एक्सएमएल प्राप्त करेगा, इसे प्रदर्शित करेगा, फिर आगे यह 8080 में वास्तविक सेवा के लिए है। यह प्रतिक्रिया के लिए भी वही करेगा। यह सोपूआई भी काम करेगा (बस पोर्ट 8081 पर इंगित करें)।

संबंधित मुद्दे