在Spring,Maven中从WSDL生成WebService(合同优先)

时间:2016-03-22 19:48:51

标签: spring web-services maven wsdl contract-first

我想首先创建合约 Spring webservice 。所以我有WSDL文件,但我找不到从WSDL生成Spring Web服务的任何示例。

使用这个Maven插件,我可以生成它,但它将是一个J2EE WebService,而不是Spring WebService,我是对的吗?:

<plugin>
    <groupId>org.jvnet.jax-ws-commons</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <configuration>
        <xdebug>true</xdebug>
        <verbose>true</verbose>
        <target>2.0</target>
    </configuration>
    <executions>
        <execution>
            <id>generate-service</id>
            <goals>
                <goal>wsimport</goal>
            </goals>
            <configuration>
                <wsdlDirectory>src/main/resources/wsdls</wsdlDirectory>
                <wsdlFiles>
                    <wsdlFile>service.wsdl</wsdlFile>
                </wsdlFiles>
                <sourceDestDir>target/generated-code/src</sourceDestDir>
            </configuration>
        </execution>
    </executions>
</plugin>

这将生成一个界面,其中包含 @WebService 注释。但是 J2EE 应用程序的 而不是Spring ,对吧?

  

那么,maven中是否有任何工具可以从中生成Spring WebServices   已编写WSDL文件?

因为我找不到任何,只有jaxws-Maven-plugin。

1 个答案:

答案 0 :(得分:1)

你一定可以使用:

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

http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/example_xjc_basic.html

甚至https://java.net/projects/maven-jaxb2-plugin/pages/Home

然后你必须在春天创建一个jaxws:client: http://cxf.apache.org/docs/jax-ws-configuration.html

或者只是驼峰中的cxf组件: http://camel.apache.org/cxf.html

J2EE只不过是一个堆栈,它是一个形成集合的框架集合。您可以将CXF / Spring与另一个框架(例如OSGi)一起使用,并只导入您感兴趣的内容(例如,camel-cxf,spring-core,...)。例如,我正在开发OSGi环境,但是我们使用codegen插件生成类,然后将它们与camel-cxf集成。