2012-05-04 11 views
8

का उपयोग कर वेब सेवा प्रॉक्सी कक्षाएं उत्पन्न करना मैं अपाचे सीएक्सएफ के साथ आने वाले wsdl2java टूल का उपयोग करके एक वेब सेवा प्रॉक्सी उत्पन्न करने का प्रयास कर रहा हूं। पीढ़ी खुद ही ठीक लगती है, लेकिन जेनरेट की गई फाइलों में कुछ त्रुटियां हैं, एक गैर-मौजूदा कन्स्ट्रक्टर कहा जाता है।wsdl2java/Apache CXF

फ़ाइल एक समाधान प्रदान करता है:

//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 
//compliant code instead. 

तो मैं डाउनलोड करने और JAX-WS एपीआई का 2.2 संस्करण को स्थापित करने के लिए निकल पड़े। मुझे निम्न इंस्टॉलेशन मैनुअल मिलते हैं कि इन नई फ़ाइलों का समर्थन कैसे करें: http://dcx.sybase.com/1200/en/dbprogramming/httpserver-jaxws-lesson-two.html मैंने इस मार्गदर्शिका के प्रत्येक चरण का पालन किया, पुरानी जेनरेट की गई फ़ाइलों को हटा दिया और नए उत्पन्न किए, लेकिन समस्या बनी हुई है।

कोई सुझाव और/या चालें? (अब निश्चित रूप से, मैं प्रॉक्सी उत्पन्न करने के लिए -फ्रेंडेंड jaxws21 ध्वज का उपयोग कर रहा हूं, लेकिन फिर भी)।

+0

चेक कि अपने जावा वर्गों आदिम विशेषताओं '' int' java.util.List' और 'जावा की तरह' long' 'स्ट्रिंग' या पार भाषा प्रकार होते हैं: अब आप jaxws21 विकल्प का उपयोग करने के लिए है न। use.Date' –

+0

कृपया जावा और सीएक्सएफ के संस्करण प्रदान करने के लिए अपना प्रश्न अपडेट करें। –

उत्तर

6
<defaultOptions> 
    <frontEnd>jaxws21</frontEnd> 
</defaultOptions> 

यह कैसे मैं इस मुद्दे Maven का उपयोग कर हल किया है:

 <plugin> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-codegen-plugin</artifactId> 
      <version>2.5.2</version> 
      <executions> 
       <execution> 
        <id>generate-sources2</id> 
        <configuration> 
         <sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot> 
         <defaultOptions> 
          <frontEnd>jaxws21</frontEnd> 
         </defaultOptions> 
         <wsdlOptions> 
          <wsdlOption> 
           <wsdl>...</wsdl> 
          </wsdlOption> 
         </wsdlOptions> 
        </configuration> 
        <goals> 
         <goal>wsdl2java</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

संपादित करें: मैं इस Maven और CXF संस्करण 2.7.3 का उपयोग कर हल करने के लिए एक और रास्ता मिल गया है। अपनी निर्भरताओं में इन पुस्तकालयों को जोड़ें।

<dependency> 
     <groupId>javax.xml.ws</groupId> 
     <artifactId>jaxws-api</artifactId> 
     <version>2.2.9</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.xml.bind</groupId> 
     <artifactId>jaxb-api</artifactId> 
     <version>2.2.7</version> 
    </dependency> 
संबंधित मुद्दे