文章目錄
先保證有一個可以訪問的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 |