使用Java調用C# Web Service方法
本文編碼環境:Eclipse SDK 3.2.2,Tomcat6,XFire-1.2.6。這里我用了個插件,需要的朋友自己去看,這個插件的使用你會發現JAVA調用幾乎和C#的VS一樣簡單了。
使用插件來進行Java調用C# Web Service。
首先新建一個Java項目XFireProject,然后依次選擇菜單File->New->Other ,選擇XFire文件夾下的Code generation from WSDL document,打開代碼生成向導
假設你要調用的webservice的名字是HelloWorld,這個有一個WebMethod叫SayHey(string name).那你找一下自動生產的那些類,里面應該有個叫HelloWorldClient的.下面的代碼演示了如何使用:
- HelloWorldClient serviceClient = new HelloWorldClient();
- HelloWorldSoap soap= serviceClient.getHelloWorldSoap();
- String result=soap.SayHey("notus");
總的來說,就是xfire會用你提供的wsdl地址生成類,而和vs不同的是,你需要兩步才能調用到你的webmethod.
如果你安裝上面的步驟一步一步來了,那很好,***你注定沒有辦法運行成功-_- 因為,因為這個畢竟不是真的vs,在運行前,你需要做一個設置.
從你的項目的右鍵菜單里調出Properties配置窗口,選中左面一欄中的XFire項,右面會列出所有與XFire運行有關的類庫,選中如圖所示的類庫,這樣就萬事大吉了。
WSDL的地址欄填入http://localhost:8080/WSProject/services/HelloService?wsdl,Output directory欄中點瀏覽按鈕,選擇我們剛才新建的項目XFireProject,這兩項是必填的。可選項中,package一欄可以選已經存在的包名,如果不填這一項,代碼生成器會在wsdl目標命名空間的基礎上創建一個。
完成后,可以看到項目中多了XFire類庫,還有package下面的生成的一些類。此時要保證IDE的Tomcat服務器是打開的。
此時,在Java調用C# web Service服務之前,還有一個重要的步驟,從XFireProject項目的右鍵菜單里調出Properties配置窗口,選中左面一欄中的XFire項,右面會列出所有與XFire運行有關的類庫,按圖三中所示的,選中一些類庫,這些類庫在調用本服務時是必須的。
所有的配置都已經完成,***就是編寫代碼完成調用。代碼如下:
- package wsClient;
- import hao.HelloServiceClient;
- import hao.HelloServicePortType;
- public class Invoke {
- /** *//**
- * 這個方法調用web服務并返回服務執行的結果
- *架構師kcvg合并段
- * @param yourName
- * @return
- */
- public static String invokeServiceNow(String yourName)
- {
- HelloServiceClient service=new HelloServiceClient();
- HelloServicePortType port=service.getHelloServiceHttpPort();
- return port.sayHello(yourName);
- }
- /** *//**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String MyName="Kcvg";
- System.out.println(Invoke.invokeServiceNow(MyName));
- }
- }
***程序運行得到的輸出結果是“Kcvg,你好!”。這樣我們就完成Java調用C# Web Service的過程。
注意:在運行調用程序時,Tomcat也必須是打開的。
【編輯推薦】