Java調用C#的web Service

來源:互聯網
上載者:User

本文編碼環境:Eclipse SDK 3.2.2,Tomcat6,XFire-1.2.6。這裡我用了個外掛程式,需要的朋友自己去看,這個外掛程式的使用你會發現JAVA調用幾乎和C#的VS一樣簡單了。
使用外掛程式。
    首先建立一個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伺服器是開啟的。
    此時,在調用服務之前,還有一個重要的步驟,從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,你好!”。
注意:在運行調用程式時,Tomcat也必須是開啟的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.