मेरे पास एक स्वत: जेनरेटेड साबुन webservice क्लाइंट है (cxf
का उपयोग करके), और कुछ तत्व वैकल्पिक होने के लिए चिह्नित हैं।साबुन webservice क्लाइंट में xml 'nil' तत्वों की पीढ़ी को कैसे रोकें?
<PayText xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<Name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
ये उत्पन्न कर रहे हैं, तो wsdl
शामिल हैं::
मैं इन तत्वों निर्धारित नहीं करते हैं, एक्सएमएल अनुरोध वेब सेवा करने के लिए भेजने के रूप में निम्नानुसार बहुत के तत्वों की है
minOccurs="0" nillable="true"
कैसे कर सकते हैं मैं इन nil
तत्वों की पीढ़ी को रोकता हूं? शायद webservice को इस जानकारी की आवश्यकता नहीं है, जैसे कि जब मैं soapUI
का उपयोग करता हूं और शुद्ध तत्वों को शून्य तत्वों को अलग करने के अनुरोध भेजता हूं, तो अनुरोध अभी भी काम करता है।
मेरे बाध्यकारी फ़ाइल:
<jaxb:globalBindings generateElementProperty="false" />
तो, मैं उन्हें के दौरान उत्पन्न किया जा रहा रोका जा सकता है भेजें?
संभावित डुप्लिकेट (कम से कम उत्तर के साथ एक प्रासंगिक प्रश्न): http://stackoverflow.com/questions/5897785/jaxb-marshaller-always-writes-xsinil-even-when-xmlelementrequired-false-nil – Davio
वास्तव में नहीं। मेरे पास 'wsdl' का नियंत्रण नहीं है (मैं केवल ग्राहक हूं), न ही स्वत: जनरेटेड कक्षाओं पर (क्योंकि जब भी wsdl अपडेट होता है तो उन्हें पुन: उत्पन्न किया जाना चाहिए)। – membersound
ठीक है, उस स्थिति में आप शायद 'भाग्य = सत्य' की वजह से भाग्य से बाहर हैं जो डब्लूएसडीएल में मौजूद है। – Davio