1.关于jax-ws web service client的代码生成,可以用JDK自带的wsimport。
我们可以写一个ant文件build.xml
<project default="save-wsdl">
<property name="wsimport-path" value="C:/jdk1.6.0_33/bin/wsimport" />
<property name="wsurl" value="http://localhost:8080/webservice-server/services" />
<target name="wsimport">
<exec executable="${wsimport-path}">
<arg line="-keep -s ./src/main/java -p com.xpen.webservice.client
${wsurl}/MyService?wsdl" />
</exec>
</target>
<target name="save-wsdl">
<property name="wsdlfile" value="src/main/resources/wsdl/MyService.wsdl"/>
<property name="xsdfile" value="src/main/resources/wsdl/MyService.xsd"/>
<get src="${wsurl}/MyService?wsdl" dest="${wsdlfile}"/>
<get src="${wsurl}/MyService?xsd=MyService_schema1.xsd" dest="${xsdfile}"/>
</target>
</project>
如上代码,我们定义了一个wsimport目标,执行它就可以生成web service client java代码了。还有一个save-wsdl目标,是用来保存wsdl以及相关的xsd到本地用的(这个我们下面有用)。
如果只是想在编码时就生成那些自动代码,那以上步骤足够了。但有时候我们不想把这些自动生成的代码check到代码库里,那可以采用maven build的时候再去生成这些代码。
2.我们可以用jaxws-maven-plugin,官网在这里http://jax-ws-commons.java.net/jaxws-maven-plugin/,另外如果eclipse里用这个插件有问题,可以下载另一个m2e插件,https://github.com/trajano/jaxws-maven-connector。
下好以后,pom.xml加入如下代码
<!-- jaxws Plugin -->
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<packageName>com.xpen.webservice.client</packageName>
<wsdlDirectory>src/main/resources/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>MyService.wsdl</wsdlFile>
</wsdlFiles>
<bindingDirectory>src/main/resources/wsdl</bindingDirectory>
<bindingFiles>
<bindingFile>MyService.xsd</bindingFile>
</bindingFiles>
</configuration>
</plugin>
OK啦,这样build时代码就自动生成了,生成的代码在target/generated-sources/wsimport下面。然后用eclipse导入existing maven project这些代码就自动加到build path里了。
需要注意的是,JDK6自带jaxb2.1,所以我们这里jaxws-maven-plugin版本也要用2.1,如果用2.2是过不去的,会报 UndeclaredThrowableException: javax.xml.bind.annotation.XmlElementRef.required()错误。
分享到:
相关推荐
jaxws-ri-2.3.0 官方jar包
赠送jar包:cxf-rt-frontend-jaxws-3.0.1.jar; 赠送原API文档:cxf-rt-frontend-jaxws-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-frontend-jaxws-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-frontend-jaxws...
jaxws-rt-2.3.3
maven-jaxws-tools-plugin-1.1.1.final.jar
maven-jaxws-tools-plugin-1.1.1.final-sources.jar
MojoHaus JAX-WS Maven插件这是 。发行确保gpg-agent正在运行。 执行mvn -B release:prepare release:perform 要发布网站,请执行以下操作: cd target/checkoutmvn verify site site:stage scm-publish:publish-scm
webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar
cxf-rt-frontend-jaxws-3.0.16.jar jar包下载3.0.16版本下载
jaxws-ri-2.28的jar包; jaxws-ri-2.28最新版本的;
jaxws-api-2.1-1
jaxws-api
maven 下载jaxws-rt 2.1.4 jar 失败了 其中包含包 com.sun.org.apache.xml.internal resolver 20050927 com.sun.xml.bind jaxb-impl 2.1.7 com.sun.xml.messaging.saaj saaj-impl 1.3.1 ...javax.xml.ws jaxws-api 2.1 ...
jaxws-api-2.1.jar包免费下载,方便大家
jaxws-api-2.1.jar jaxb-api-2.1.jar geronimo-jaxws_2.2_spec-1.1.jar 在webservice中常用的几个jar包,
最新完整版本的jaxws-ri,在eclipse下使用 JAX-WS 开发web 服务必备jar包
jaxws-api.jar jaxws-rt.jar jaxws-rt-javadoc.jar jaxws-tools.jar jaxws-tools-javadoc.jar jsr181-api.jar management-api.jar mimepull.jar policy.jar saaj-api.jar saaj-impl.jar stax-ex.jar stax2...
jaxws-rt-2.0EA3.jar附件下载
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 jaxws-api.jar
jaxws-ri-2.3.1最新版,下载即可用。测试用的。已成功!
jaxb-api jaxb-impl jaxb-xjc jaxws-rt 这四个文件对应的jar包