2011-10-20 27 views
5

savon मणि का उपयोग करने के लिए ins0 कहते हैं, मैं निम्नलिखित अनुरोध एक्सएमएल मिलती है:Savon गहरे लाल रंग का रत्न टैग

<?xml version="1.0" encoding="UTF-8"?> 
    <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:wsdl="URL" 
     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
     xmlns:ins0="SOME URL"> 
     <soap:Body> 
      <ins0:Test xmlns="SOME URL"> 
      </ins0:Test> 
     </soap:Body> 
    </soap:Envelope> 

लेकिन यह इस बजाय होने की जरूरत है:

<?xml version="1.0" encoding="UTF-8"?> 
    <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:wsdl="URL" 
     xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
     <soap:Body> 
      <Test xmlns="SOME URL"> 
      </Test> 
     </soap:Body> 
    </soap:Envelope> 

सूचना ins0 हटा दिया गया था।

कोई सुझाव?

+0

देखें http://stackoverflow.com/questions/6720720/how-to-stop-savon-from-adding-prefixes-to-soap-body –

+0

कोशिश की लेकिन मुझे एक त्रुटि मिली: 'सर्वर पहचान नहीं पाया HTTP शीर्षलेख SOAPAction का मान: परीक्षण। 'क्योंकि यह कार्रवाई "टेस्ट" ले ली और इसे लोअरकेस बना दिया। –

+0

वास्तव में मुझे पता चला कि यह एक्सएमएल अंतर कुछ भी तोड़ नहीं देता है, कोड ठीक काम करता है। लेकिन यह किसी को एल्स कोड तोड़ सकता है। –

उत्तर

2

दो एक्सएमएल दस्तावेज समकक्ष हैं, इसलिए जब तक किसी XML अनुपालन एजेंट द्वारा दस्तावेज़ को पार्स नहीं किया जाता है तब तक कोई समस्या नहीं होनी चाहिए।

सावन उत्पन्न दस्तावेज़ बस "कुछ यूआरएल" नामस्थान के लिए ins0 का नामस्थान उपसर्ग बना रहा है। यह एक बड़े एसओएपी दस्तावेज के लिए सुविधाजनक है जो नामस्थान से कई तत्वों के साथ है। इस उदाहरण में, उपसर्ग वास्तव में आवश्यक नहीं है।

एकमात्र संभावित मुद्दा जो मैं देख सकता हूं वह यह है कि सावन उत्पन्न दस्तावेज़ दो बार नामांकन नाम घोषित करता है - एक बार साबुन में: लिफाफे और फिर साबुन में: बॉडी। त्रुटि के लिए अनावश्यक और संभावित रूप से खुला लगता है।

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