2017-06-12 7 views
0

J'ai le problème suivant. Il y a quelques fichiers wsdl qui devraient être convertis en classes java.Différentes sources racines pour les classes générées par cxf

<plugin> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-codegen-plugin</artifactId> 
     <version>${cxf.version}</version> 
     <executions> 
      <execution> 
       <id>generate-sources</id> 
       <phase>generate-sources</phase> 
       <configuration> 
        <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
        <wsdlOptions> 
         <wsdlOption> 
          <wsdl>${basedir}/src/main/resources/wsdl/configurationAndSecurityService.wsdl</wsdl> 
         </wsdlOption> 
         <wsdlOption> 
          <wsdl>${basedir}/src/main/resources/wsdl/ordersService.wsdl</wsdl> 
         </wsdlOption> 
        </wsdlOptions> 
       </configuration> 
       <goals> 
        <goal>wsdl2java</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

Le problème est quand WSDLs sont convertis en classes java je reçois un message d'erreur concernant les doublons (certaines classes ont les mêmes noms). Initialement, je voulais placer chaque wsdl dans sa propre racine source (subpackage), mais je ne sais pas comment faire cela. Est-il possible de lier chaque wsdl à sa propre racine source?

Répondre

1

Vous devez le diviser en plusieurs exécutions avec des sourcesRoot différentes, mais cela peut également entraîner des conflits de classes.

j'attribue généralement différentes packagenames pour chaque wsdlOption:

<packagenames> 
    <packagename> 
     https://www.namespace.de=de.namespace1 
    </packagename> 
    </packagenames> 

Voir aussi: http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html