2010-12-10 4 views
44

मैं डब्ल्यूसीएफ वेब सेवा का उपभोग करने के लिए सीएक्सएफ का उपयोग कर एक वेब सेवा क्लाइंट बनाने की कोशिश कर रहा हूं। जब मैं wsdl2java का उपयोग करता हूं तो यह स्ट्रिंग के बजाय JAXBElement प्रकारों के साथ ऑब्जेक्ट उत्पन्न करता है।मैं एक सीएक्सएफ वेब सेवा क्लाइंट में उत्पन्न होने से JAXBElement <String> को कैसे रोकूं?

मैंने समस्या को ठीक करने का प्रयास करने के लिए generElementProperty = "false" सेट करने के लिए jaxb bindings.xml फ़ाइल का उपयोग करने के बारे में पढ़ा है, लेकिन जिस वेब सेवा में मैं उपभोग कर रहा हूं वह 7 आयातित स्कीमा है।

मैं सभी सात स्कीमा पर generateElementProperty="false" कैसे निर्दिष्ट कर सकता हूं, या क्या सभी स्कीमा पर इसे लागू करने का कोई तरीका है?

उत्तर

60

आप इस विश्व स्तर पर लागू हो जाएगी, जैसा कि नीचे एक बाध्यकारी फ़ाइल बनाने और wsdl2java के रूप में उपयोग करने के लिए है - ख "bindings.txt" "wsdl"

<jaxb:bindings version="2.1" 
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <jaxb:globalBindings generateElementProperty="false"/> 
</jaxb:bindings> 
+7

http://cxf.apache.org /docs/maven-cxf-codegen-plugin-wsdl-to-java.html मैवेन प्लगइन का उपयोग करके बाइंडिंग फ़ाइल को सेट करने के निर्देशों के लिए निर्देशों के लिए। – ScArcher2

+1

मुझे आश्चर्य है कि इसका डिफ़ॉल्ट व्यवहार क्यों नहीं है। – axk

+1

मैपिंग फ़ाइल के लिए एक और विशिष्ट फ़ाइल एक्सटेंशन का उपयोग करना बेहतर होगा जैसे '.xml'or' .xjb' जैसा प्रस्तावित है http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/ 2.0/ट्यूटोरियल/डॉक्टर/JAXBUsing4.html # wp148366 – schnatterer

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