文章目录
先保证有一个可以访问的webservice地址,可参考《Java快速生成一个简单的webservice服务端》
一、依赖weblogic生成webservice客户端代码
需要提前安装好weblogic、ANT、JDK环境
依赖weblogic生成的wsdl客户端,环境必须加载weblogic的相关JAR包,客户端才能正确运行
- build-wsdl-client.xml
<project name="weblogic-ant-wsdl" basedir="." default="gen-client">
<!-- javac arguments-->
<property name="javac.source" value="1.7"/>
<property name="javac.target" value="1.7"/>
<property name="javac.debug" value="on"/>
<property name="javac.encoding" value="UTF-8"/>
<!--weblogic的安装目录,主要目的是引用/server/lib/*.jar-->
<property name="wls.home" value="E:/Oracle/Middleware/wlserver_10.3"/>
<!--weblogic.lib依赖-->
<path id="weblogic.classpath">
<fileset dir="${wls.home}/server/lib">
<include name="*.jar"/>
</fileset>
</path>
<!--定义taskdef-->
<taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" classpathref="weblogic.classpath"/>
<!--以下根据实际情况修改值-->
<!--客户端WSDL包结构-->
<property name="client.package" value="com.wsdl.client.helloworld"/>
<!--客户端JAR包名称,建议***-打包年月日.jar-->
<property name="client.jar" value="client_1.0.jar"/>
<!--WSDL地址,也可以是本地磁盘完整路径-->
<property name="client.wsdl" value="http://127.0.0.1:8001/HelloWorld?wsdl"/>
<target name="init">
<!--删除&重建目录-->
<delete dir="dist"/>
<mkdir dir="dist"/>
</target>
<target name="gen-client" depends="init">
<clientgen wsdl="${client.wsdl}" destFile="dist/${client.jar}"
packageName="${client.package}" classpathref="weblogic.classpath"/>
</target>
</project>
二、用import命令生成webservice客户端代码
需提前安装好JDK环境,使用JDK安装目录bin目录下的import命令构建wsdl客户端
## 切换到JDK/bin目录下
cd %JAVA_HOME%/bin
## 执行wsimport命令
wsimport -p com.sample.wsdl.client -s e:/1/source -d e:/1/dist http://127.0.0.1:8001/HelloWorld?wsdl
## 打成JAR包
主要参数说明
参数 | 说明 |
---|---|
-p | 定义客户端生成类的包结构 |
-s | 指定客户端执行类的源文件存放目录 |
-d | 指定客户端执行类的class文件的存放目录 |
-keep | 表示生成客户端执行类的源代码 |
-b | 指定jaxws/jaxb绑定文件或额外的schemas |
-extension | 使用扩展来支持SOAP1.2 |