當前位置:編程學習大全網 - 源碼下載 - 如何使用axis2生成wcf客戶端代碼

如何使用axis2生成wcf客戶端代碼

下載axis2-1.5.4-bin.zip文件並解壓。

設置axis2的環境變量,如下圖所示:

利用axis2中的wsdl2java.bat生成客戶端程序。

先啟動Tomcat7並在IE裏運行http://localhost:8081/TestAxis2Ws/services/HelloService?wsdl 看看服務端是否正常解析。

%AXIS2_HOME%binwsdl2java -uri http://localhost:8081/TestAxis2Ws/services/HelloService?wsdl -paxis2.service.server -o stub

其中-uri參數指定了wsdl文件的路徑,可以是本地路徑,也可以是網絡路徑。-p參數指定了生成的Java類的包名,-o參數指定了生成的壹系列文件保存的根目錄。在執行完上面的命令後,讀者就會發現在當前目錄下多了個stub目錄,可以找到壹個HelloServiceStub.java文件,該文件復雜調用WebService,讀者可以在程序中直接使用這個類。

運行-->cmd-->具體命令如下:

要先進入axis2的bin目錄然後運行wsdl2java.bat

Microsoft Windows XP [版本 5.1.2600]

(C) 版權所有 1985-2001 Microsoft Corp.

C:Documents and SettingsJambhala>d:

D:>cd D:WebServiceAxisaxis2axis2-1.5.4-binaxis2-1.5.4bin

D:WebServiceAxisaxis2axis2-1.5.4-binaxis2-1.5.4bin>wsdl2java -uri http://l

ocalhost:8081/TestAxis2Ws/services/HelloService?wsdl -p axis2.service.server -o

stub

Using AXIS2_HOME: D:WebServiceAxisaxis2axis2-1.5.4-binaxis2-1.5.4

Using JAVA_HOME: C:Javajdk1.6.0

Retrieving document at 'http://localhost:8081/TestAxis2Ws/services/HelloService?

wsdl'.

D:WebServiceAxisaxis2axis2-1.5.4-binaxis2-1.5.4bin>

這時到axis2的bin目錄下會發現出現了壹個stub目錄,如下圖所示:

其中HelloServiceStub.java是客戶端程序,HelloServiceCallbackHandler.java是異步客戶端程序。

把這兩個類復制到上次已經建立好的服務端工程裏

註意:這個地方復制進來後會報錯的,因為在D:WebServiceAxisaxis2axis2-1.5.4-binaxis2-1.5.4binstubsrcaxis2serviceserver下的類路徑為package axis2.service.server;需要改成packageaxis2.service.client;並且需要把HelloServiceStub.java和HelloServiceCallbackHandler.java相關的報錯位置都把路徑改壹下,不要閑煩,要改的地方還滿多的呢。

創建帶main方法的StubClient.java類文件,代碼如下:

package axis2.service.domain;

import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;

import axis2.service.client.HelloServiceStub;

public class StubClient {

public static void main(String[] args) {

HelloServiceStub stub = null;

try {

stub = new HelloServiceStub();

HelloServiceStub.SayHello sh = new HelloServiceStub.SayHello();

sh.setName("於士博");

System.out.println(stub.sayHello(sh).get_return());

} catch (AxisFault e) {

e.printStackTrace();

} catch (RemoteException e) {

e.printStackTrace();

}

}

}

  • 上一篇:比特幣大跌,是因為什麽原因導致?
  • 下一篇:利用地震資料研究中生界分布特征
  • copyright 2024編程學習大全網