加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 可以用CXF生成可序列化的类吗?

发布时间:2020-12-14 17:48:54 所属栏目:Java 来源:网络整理
导读:我使用Apache CXF从WSDL文件生成类,但是它们不实现将对象放入JMS队列所需的Serializable.是否有可能这样做,或者我必须将生成的类转换成我自己的并发送它们? 解决方法 我在这里找到了解决方案,如果有人在将来需要它: 1.将此插件添加到pom.xml plugin groupI
我使用Apache CXF从WSDL文件生成类,但是它们不实现将对象放入JMS队列所需的Serializable.是否有可能这样做,或者我必须将生成的类转换成我自己的并发送它们?

解决方法

我在这里找到了解决方案,如果有人在将来需要它:

1.将此插件添加到pom.xml

<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>${basedir}/src/main/java</sourceRoot>
                <wsdlRoot>${basedir}/src/main/resources</wsdlRoot>
                <includes>
                    <include>*Service.wsdl</include>
                </includes>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/resources/your_wsdl.wsdl</wsdl>
                        <extraargs>
                            <extraarg>-client</extraarg>
                            <extraarg>-impl</extraarg>
                            <extraarg>-server</extraarg>
                            <extraarg>-verbose</extraarg>
                            <extraarg>-validate</extraarg>
                        </extraargs>
                        <bindingFiles>
                            <bindingFile>${basedir}/src/main/resources/binding.xml</bindingFile>
                        </bindingFiles>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2.编写自定义绑定(binding.xml)

<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings wsdlLocation="Send.wsdl"
    xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <jaxws:bindings
        node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='http://wsdl/SendService.wsdl']">
        <jxb:globalBindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
            <jxb:serializable uid="11082011"/>
        </jxb:globalBindings>
    </jaxws:bindings>
</jaxws:bindings>

运行’mvn生成源’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读