java - 将多个 WSDL 与 Axis2 wsdl2code Maven 插件一起使用

标签 java maven code-generation axis2 wsdl2code

我正在使用 Maven2 创建一个使用多个 Web 服务的客户端。我只能使用 Axis2 或其他支持 Apache HttpClient 的框架作为 HTTP 管道,因为这些服务需要与基于 HttpClient 的托管证书解决方案集成>.

我熟悉 CXF 的代码生成 Maven 插件,它允许在代码生成期间输入多个 WSDL。但是,Axis2 code-gen 插件一次只能处理一个 WSDL。

如何让 Maven 在代码生成阶段为每个 WSDL 运行 wsdl2code?为此我需要多个配置文件吗?

POM 的构建部分如下所示:

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

引用资料

最佳答案

你可以试试这个,我现在无法测试,但我认为应该可以

   <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.stackoverflow.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.stackoverflow.axis2-maven</packageName>
                   <wsdlFile>src/main/resources/service2.wsdl</wsdlFile>
                   <outputDirectory>target/generated-sources</outputDirectory>
                   <syncMode>sync</syncMode>
                </configuration>
            </execution>
        </executions>
    </plugin>

关于java - 将多个 WSDL 与 Axis2 wsdl2code Maven 插件一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6770757/

相关文章:

java - 为什么我不能从定义它的类的实例访问枚举?

java - 使用发送网格发送电子邮件附件

linux - J2OBJC make dist "no rule to make target"错误

c# - 格式化生成的 C# 代码

sql - 从SQL 2008中的外键关系生成删除语句?

java - 如何在不覆盖以前的副本的情况下将对象添加到类中的 ArrayList

java - 如何每天制作appender?

java - 在 cucumber junit中发现没有后端

spring - 创建名称为 'dataSource' 的 bean 在 com.vinay.patients.config.AppConfig : Unsatisfied 中定义时出错

code-generation - 从状态机模型 yakindu 生成 C++ 代码