以前成功过,结果没备份,今天又做这个事,全忘了,又重新研究,现在备份一下。
1.先把工程以前的/src/META-INF/xfire/services.xml文件改个名备份一下。
2.在工程目录下建立一个lib目录,把xfire的jar包全拷进去,包括xfire的和第三方的。
3.在把根据的wsdl文件放进工程的/WebContent/wsdl目录下(也可以放其他目录,不过一定要再WebContent或者WebRoot下)。
4.在工程主目录下写两个文件build.xml和build.properties
build.properties文件内容如下:
src.dir=${basedir}/src
lib.dir=${basedir}/lib
wsdl.dir=${basedir}/WebContent/wsdl/xxx.wsdl
lib.dir=${basedir}/lib
wsdl.dir=${basedir}/WebContent/wsdl/xxx.wsdl
build.xml文件的内容如下:
<project name="WebService" basedir="." default="gen-webservice"> <property file="build.properties"> </property> <path id="project-classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <target name="gen-webservice"> <taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath"/> <wsgen outputDirectory="${src.dir}" wsdl="${wsdl.dir}" package="com.test.ws.client" overwrite="true"/> </target> </project>
5.在eclipse里对build.xml右键Run as Ant Build就能生成客户端和服务端了。
6.完了别忘了把刚才放jar包的lib目录给删掉。(注意要把重要jar包的提取到/WebContent/lib目录下)
7.修改/src/META-INF/xfire/services.xml文件,把备份的部分粘贴进去。
8.部署的时候别忘了修改/src/META-INF/xfire/services.xml文件里的<wsdlURL>元素的内容(修改其所指向的wsdl文件地址),和/WebContent/wsdl/xxx.wsdl文件里的<soap:address >元素里的location属性的值。