2010-04-08 5 views
6

एक विशिष्ट सीएफ पेज पर अवसर पर एक त्रुटि प्राप्त करना। नीचे सूचीबद्ध अपमान कोड। बहुत अजीब क्योंकि जब मैंने सीएफ को रिबूट किया तो यह चला गया। क्या XML को XMLValidate के माध्यम से जांचने से रोकने के लिए जांच की जा सकती है?कोल्डफ्यूज़न में एक्सएमएल पार्स त्रुटि प्राप्त करना। क्या पैकेट वापस किया जा सकता है?

क्या यह सीएफ की रीबूट के बाद त्रुटि गायब होने के बाद से कुछ प्रकार की सीएफ बग है? मुझे एहसास है कि कुछ बिंदु पर त्रुटि पुनरुत्थान होगी।

एक XML दस्तावेज़ को पार्स करते समय एक त्रुटि हुई। तत्व प्रकार "मेटा" मिलान मिलान वाले अंत-टैग द्वारा समाप्त किया जाना चाहिए।

<cfhttp method="get" url="http://bs.mysite.com/webservice/rec/get.sbs?customerId=345S4BE8x&itemId=#product_id#&number=20&ruleId=#product.location_tab_accessories#"> 

<cfset result = xmlParse(cfhttp.FileContent)> 
<cfset recs = xmlSearch(result, "/result/thsite/site/itemId")> 

उत्तर

9

आप एक DTD या स्कीमा के खिलाफ एक xml दस्तावेज़ को मान्य करने के XmlValidate() का उपयोग कर सकते हैं। XmlParse() स्वयं दस्तावेज़ को मान्य करता है और यदि XML अच्छी तरह से गठित नहीं होता है तो एक त्रुटि फेंकता है। यह CF7 के रूप में एक वैध पैरामीटर का भी समर्थन करता है। अपवाद को संभालने के लिए cftry/cfcatch का उपयोग करें।

आपको प्राप्त त्रुटि संदेश इंगित करता है कि आपको अपेक्षित XML दस्तावेज़ प्राप्त नहीं हुआ है, लेकिन इसमें एक HTML पृष्ठ अनलॉक मेटा टैग है। हो सकता है कि यह एक त्रुटि पृष्ठ या कुछ अन्य HTML पृष्ठ हो जिसे आप रीडायरेक्ट कर चुके हैं।

क्या लक्ष्य URL के DNS/IP के साथ कुछ बदल गया? सीएफएचटीपी डीएनएस कैशिंग (अंतर्निहित जेवीएम करता है) करता है और इससे आपको यहां अनुभव किए गए अजीब प्रभाव हो सकते हैं। कोल्डफ्यूजन को पुनरारंभ करना कैश को साफ़ करता है, यूआरएल फिर से हल हो जाता है और आपका अनुरोध सफल होगा।

+0

सहमत हुए। मैं यह त्रुटि उत्पन्न होने पर प्राप्त सामग्री को फँसाने/लॉगिंग करने की अनुशंसा करता हूं और यह देखने के लिए देख रहा हूं कि यह एक्सएमएल क्यों नहीं है जिसे आप उम्मीद कर रहे हैं। –

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