我想使用WSDL从头开始创建一个Apache CXF Maven项目。我需要使用WSDL2Java。我找不到WSDL的原型。当我尝试
时mvn原型:生成-dfilter = org.apache.cxf.archetype:
我只看到这些。WSDL是否没有原型?如果没有,某些人可以推荐最有效的方法?谢谢
选择原型:1:远程 -> org.apache.cxf.archetype:cxf-jaxrs-service(简单的CXF JAX-RS Webap使用春季配置的P服务)2:远程 -> org.apache.cxf.archetype:cxf-jaxws-javafirst(创建一个项目 开发从Java代码开始的Web服务)
我总是为生成的WSDL创建子模块。Eclipse在路径上有问题 - 并且此模块无需编译很多次。
客户:
<properties>
<wsdl.dir>${basedir}/src/main/resources/axis2</wsdl.dir>
<generateServerSide>false</generateServerSide>
<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version><!--$NO-MVN-MAN-VER$ -->
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${sourceRoot}</sourceRoot>
<defaultOptions>
<bindingFiles>
<bindingFile>${wsdl.dir}/binding.xml</bindingFile>
</bindingFiles>
</defaultOptions>
<wsdlOptions>
<wsdlOption>
<wsdl>${wsdl.dir}/first.wsdl</wsdl>
<packagenames>
<packagename>com.company.gen.first</packagename>
</packagenames>
<extraargs>
<extraarg>-impl</extraarg>
<extraarg>-autoNameResolution</extraarg>
<extraarg>-wsdlLocation</extraarg>
<wsdlurl />
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin> <!-- for idea/eclipse -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${sourceRoot}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
服务器:
<execution>
<id>first</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<generateServerSide>${generateServerSide}</generateServerSide>
<generateAllClasses>${generateServerSide}</generateAllClasses>
<generateServicesXml>${generateServerSide}</generateServicesXml>
<generateServerSideInterface>${generateServerSide}</generateServerSideInterface>
<wsdlFile>${wsdl.dir}/first.wsdl</wsdlFile>
<packageName>com.company.gen.first</packageName>
<unpackClasses>true</unpackClasses>
<syncMode>sync</syncMode>
<namespaceURIs>
<namespaceURI>
<uri>http://uri.company.com</uri>
<packageName>com.company.gen.first</packageName>
</namespaceURI>
</namespaceURIs>
</configuration>
</execution>