You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarkus CXF中配置autoNameResolution解决WSDL类生成冲突?

在Quarkus CXF中配置autoNameResolution解决参数重复问题

方案一:通过Maven插件传递原生参数

Quarkus CXF的代码生成插件quarkus-cxf-codegen-maven-plugin支持通过extraArgs传递CXF wsdl2java的原生参数,以此开启autoNameResolution:

在你的pom.xml中找到插件配置块,添加extraArgs节点指定-autoNameResolution参数:

<plugin>
    <groupId>io.quarkiverse.cxf</groupId>
    <artifactId>quarkus-cxf-codegen-maven-plugin</artifactId>
    <version>${quarkus-cxf.version}</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>src/main/resources/你的服务.wsdl</wsdl>
                        <!-- 开启自动名称解析 -->
                        <extraArgs>
                            <extraArg>-autoNameResolution</extraArg>
                        </extraArgs>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

方案二:使用JAXB绑定文件手动重命名参数

如果上述参数配置不生效,可以编写JAXB绑定文件手动处理冲突参数。创建binding.xml文件:

<jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                version="2.0">
    <jaxws:bindings wsdlLocation="你的服务.wsdl" node="wsdl:definitions/wsdl:portType[@name='你的端口类型']/wsdl:operation[@name='ping']">
        <jaxws:parameter>
            <jaxb:property name="responseHeader"/>
        </jaxws:parameter>
    </jaxws:bindings>
</jaxws:bindings>

然后在插件配置中引入该绑定文件:

<wsdlOption>
    <wsdl>src/main/resources/你的服务.wsdl</wsdl>
    <bindingFiles>
        <bindingFile>src/main/resources/binding.xml</bindingFile>
    </bindingFiles>
</wsdlOption>

内容的提问来源于stack exchange,提问作者Gerard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 07:22:10