java - Usando mĂșltiples WSDLs con Axis2 wsdl2code Maven plugin
code-generation (1)
Estoy creando un cliente con Maven2 que usa varios servicios web. Estoy restringido a usar Axis2
u otro marco compatible con Apache HttpClient
como un conducto HTTP porque estos servicios requieren integración con una solución de certificado administrado basada en HttpClient
.
Estoy familiarizado con el complemento de código-gen Maven de CXF que permite la entrada de múltiples WSDL durante la generación de código. Sin embargo, el complemento de código de generación Axis2 solo puede procesar un WSDL a la vez.
¿Cómo puedo hacer que Maven ejecute wsdl2code
para cada WSDL durante la fase de generación de código? ¿Necesito múltiples perfiles para esto?
La sección de compilación de POM se ve así:
<build>
<plugins>
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
</execution>
</executions>
<configuration>
<unpackClasses>true</unpackClasses>
<databindingName>adb</databindingName>
<packageName>org.example.stackoverflow.axis2-maven</packageName>
<!-- only one of these actually gets used by code generator -->
<wsdlFile>src/main/resources/service1.wsdl</wsdlFile>
<wsdlFile>src/main/resources/service2.wsdl</wsdlFile>
<outputDirectory>target/generated-sources</outputDirectory>
<syncMode>sync</syncMode>
</configuration>
</plugin>
</plugins>
</build>
Referencias
Puedes probar con esto, no pude probarlo ahora pero creo que debería funcionar
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>ws1</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<unpackClasses>true</unpackClasses>
<databindingName>adb</databindingName>
<packageName>org.example..axis2-maven</packageName>
<wsdlFile>src/main/resources/service1.wsdl</wsdlFile>
<outputDirectory>target/generated-sources</outputDirectory>
<syncMode>sync</syncMode>
</configuration>
</execution>
<execution>
<id>ws2</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<unpackClasses>true</unpackClasses>
<databindingName>adb</databindingName>
<packageName>org.example..axis2-maven</packageName>
<wsdlFile>src/main/resources/service2.wsdl</wsdlFile>
<outputDirectory>target/generated-sources</outputDirectory>
<syncMode>sync</syncMode>
</configuration>
</execution>
</executions>
</plugin>