Java生成webservice客戶端的幾種方式

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

在這裏插入圖片描述

三、用Apache Cxf生成webservice客戶端代碼

四、用Apache Axis生成webservice客戶端代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章