Problem using flex to read XML in e4x format from SOAP webservice -
UPDATE : समस्या नाम स्थान या फ्लेक्स पर बिल्कुल नहीं थी। मेरी webservice लिपटे xml लौट रहा था मैं जावा पर सवाल करने से पहले उस भाषा को दोष दे रहा था जिसका मुझे कम से कम अनुभव था ...
मेरे पास एक बुनियादी साबुन वेबसाइर्ब है जो मुझे फ्लेक्स से परिणाम को पढ़ने में परेशानी हो रही है।
मैं एक ठोस जावा प्रोग्रामर हूँ और सिर्फ एडोब फ्लेक्स के आसपास मेरे सिर को प्राप्त करने की कोशिश कर रहा हूं।
मुझे "वेबसर्विज" का उपयोग करने के लिए परिणाम को e4x प्रारूप में वापस करने में सक्षम होना चाहिए।
& lt; mx: वेबसर्विज आईडी = "वर्तमानलेयरर्सडब्ल्यूएस" wsdl = "http: // localhost: 8080 / myproject / ws / myservice.wsdl" showBusyCursor = "true" परिणाम = "अद्यतन चयन (घटना)" गलती = "अलर्ट। शो (event.fault.faultString), 'त्रुटि'" & gt; & Lt; mx: ऑपरेशन का नाम = "प्रकाशक" परिणामस्वरूप = "e4x" & gt; & LT; mx: अनुरोध & gt; & LT; publisherRequest & gt; & LT; getConfiguration / & gt; & Lt; / publisherRequest & gt; & Lt; / mx: अनुरोध & gt; & Lt; / mx: आपरेशन & gt; & Lt; / mx: WebService & gt;
जैसा कि आप देख सकते हैं, प्रतिक्रिया "अद्यतन से चुने गए" फ़ंक्शन द्वारा नियंत्रित होती है, जो कुछ ऐसा दिखता है:
निजी फ़ंक्शन अद्यतन चयनित (इवेंट: ResultEvent): शून्य {var responseXml: XML = XML (event.result);
दुर्भाग्यवश, घटना वस्तु नेस्टेड और एन्कोडेड अजीब लगता है। जब मैं डीबगर के साथ गर्त लेता हूं तो मुझे लगता है कि प्रतिक्रिया XML XML प्रकार के एक तत्व (इंडेक्स 0) में टाइप एक्सएमएल का है जिसमें सिर्फ निम्नलिखित एक्सएमएल है:
& lt; sch: temp xmlns: Sch = "http://www.mycompany.co.uk/myproject/schemas" xmlns: SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelope/" & gt; & Amp; lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8" स्टैंडअलोन = "हां"? & Gt; & Amp; lt; ns2: प्रकाशक रीस्पॉन्स xmlns: ns2 = "http://www.mycompany.co.uk/myproject/schemas" & gt; & Amp; lt; getConfigurationResponse & amp; gt; & Amp; lt; विन्यास & amp; gt; ... आदि
मेरे एक्सएमएल ने एक रूट नोड "sch: temp" के साथ दस्तावेज़ के अंदर नेस्टेड क्यों किया है?
यह एक नेमस्पेस है मुझे यकीन नहीं है कि यह क्यों है, लेकिन, हमारे फ्लेक्स अनुप्रयोगों में से किसी एक में एनईटी वेब सर्विसेज का उपभोग करने के बाद मुझे कुछ इसी तरह से निपटना पड़ा। मुझे बस मेरी एक्शन स्क्रिप्ट में नाम स्थान का संदर्भ देना था:
& lt; mx: स्क्रिप्ट & gt; & Lt;! [CDATA [निजी नामस्थान schNamespace = "http://www.mycompany.co.uk/myproject/schemas"; नेमस्पेस schNamespace का उपयोग करें; ]] & Gt; & Lt; / mx: स्क्रिप्ट & gt;
इसे आज़माएं ... यह काम कर सकता है।
Comments
Post a Comment