2010-09-16 8 views
5

Estoy tratando de generar el cliente de servicios web una vez que construyo mi proyecto sobre la marcha ... Actualmente lo hace, pero colóquelo en un paquete con nombre basado en el espacio de nombre del WS ... así que supongamos que el espacio de nombre es google.com, los archivos generados estarían en com.google ..¿Es posible generar un código de cliente de servicios web en un paquete especial usando apache cxf en maven?

<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> 

Quiero generar los archivos a un paquete diferente .. deja llaman comWS.gooleClient

¿es posible hacer eso?

Gracias

Respuesta

8

Es posible usar una unión costumbre o pasar el -p argumento adicional como se muestra a continuación:

<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

Muchas gracias! Intenté ' -p com.something.else' antes de encontrar su respuesta aquí y esto no funcionó. – stefanglase

1

¿Usted intentó esto para extraarg?

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

Ejemplo:

<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

Estoy muy tarde, aunque, pero esta especificación trabajado para mí

<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> 
Cuestiones relacionadas