Создание WebService из WSDL весной, Maven (сначала контракт)
Хочу сначала создать контракт Spring Spring webservice. Итак, у меня есть файл WSDL, но я не могу найти ни одного примера создания веб-сервисов Spring из WSDL.
С помощью этого плагина 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.
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: весной: 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.