2010-09-16 8 views
5

मैं फ्लाई पर अपनी परियोजना बनाने के बाद वेब सर्विसेज क्लाइंट उत्पन्न करने की कोशिश कर रहा हूं .. यह वर्तमान में ऐसा करता है लेकिन इसे डब्ल्यूएस के नेमस्पेस के आधार पर नामित पैकेज में डालता है .. इसलिए मान लें कि नाम स्थान google.com है, उत्पन्न फ़ाइलों com.google में होगा ..मैवेन में apache cxf का उपयोग कर एक विशेष पैकेज में webservices क्लाइंट कोड जेनरेट करना संभव है?

<plugin> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-codegen-plugin</artifactId> 
      <version>2.2.10</version> 
      <executions> 
       <execution> 
        <id>generate-sources</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <sourceRoot>${basedir}/src/main/java/</sourceRoot> 
         <wsdlOptions> 
          <wsdlOption> 
           <wsdl>http://localhost:8080/ProjectName/ProjectWS?wsdl</wsdl> 
          </wsdlOption> 
         </wsdlOptions> 
        </configuration> 
        <goals> 
         <goal>wsdl2java</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

मैं एक अलग पैकेज के लिए फ़ाइलों को उत्पन्न करना चाहते हैं .. यह comWS.gooleClient

यह है कि ऐसा करने के लिए संभव है फोन की सुविधा देता है?

धन्यवाद

उत्तर

8

यह एक कस्टम बाइंडिंग का उपयोग कर या -p अतिरिक्त तर्क गुजर जैसा कि नीचे दिखाया संभव है:

<plugin> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-codegen-plugin</artifactId> 
    <version>2.2.10</version> 
    <executions> 
    <execution> 
     <id>generate-sources</id> 
     <phase>generate-sources</phase> 
     <configuration> 
     <sourceRoot>${basedir}/src/main/java/</sourceRoot> 
     <wsdlOptions> 
      <wsdlOption> 
      <wsdl>http://localhost:8080/ProjectName/ProjectWS?wsdl</wsdl> 
      <extraargs> 
       <extraarg>-p</extraarg> 
       <extraarg>com.something.else</extraarg> 
      </extraargs> 
      </wsdlOption> 
     </wsdlOptions> 
     </configuration> 
     <goals> 
     <goal>wsdl2java</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
+0

आपको बहुत बहुत धन्यवाद! मैंने यहां अपना उत्तर ढूंढने से पहले ' -p com.something.else 'की कोशिश की और यह काम नहीं किया। – stefanglase

1

आप extraarg के लिए इस की कोशिश की?

<extraarg><!--namespace-->=<!-- new package name--></extraarg> 

उदाहरण:

<plugin> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-codegen-plugin</artifactId> 
    <version>2.2.10</version> 
    <executions> 
    <execution> 
     <id>generate-sources</id> 
     <phase>generate-sources</phase> 
     <configuration> 
     <sourceRoot>${basedir}/src/main/java/</sourceRoot> 
     <wsdlOptions> 
      <wsdlOption> 
      <wsdl>http://localhost:8080/ProjectName/ProjectWS?wsdl</wsdl> 
      <extraargs> 
       <extraarg>-p</extraarg> 
       <extraarg>http://google.com=comWS.gooleClient</extraarg> 
      </extraargs> 
      </wsdlOption> 
     </wsdlOptions> 
     </configuration> 
     <goals> 
     <goal>wsdl2java</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
6

मैं हालांकि बहुत देर हो चुकी है, लेकिन इस विनिर्देश मेरे लिए काम किया

<plugin> 
    <groupId>org.apache.cxf</groupId> 
<artifactId>cxf-codegen-plugin</artifactId> 
<version>2.7.7</version> 
<executions> 
    <execution> 
    <id>generate-sources</id> 
    <phase>generate-sources</phase> 
    <configuration> 
     <sourceRoot>${basedir}/src/main/java</sourceRoot> 
     <wsdlOptions> 
       <wsdlOption> 
       <wsdl>wsdl-location</wsdl> 
      <extraargs> 
      <extraarg>-client</extraarg> 
       </extraargs> 
     <packagenames> 
       <packagename>desired location</packagename> 
     </packagenames> 
       </wsdlOption> 
      </wsdlOptions>      
     </configuration> 
     <goals> 
     <goal>wsdl2java</goal> 
    </goals> 
    </execution> 
</executions> 
</plugin> 
संबंधित मुद्दे