久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    JAVA 調用Web Service的方法 - 輕松 的博客 - 博客園

     ShangShujie 2010-07-25

    JAVA 調用Web Service的方法

    1.使用HttpClient
    用到的jar文件:commons-httpclient-3.1.jar
    方法:
    預先定義好Soap請求數據,可以借助于XMLSpy Professional軟件來做這一步生成。

    String soapRequestData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
        
    "<soap12:Envelope xmlns:xsi=\"http://www./2001/XMLSchema-instance\" xmlns:xsd=\"http://www./2001/XMLSchema\" xmlns:soap12=\"http://www./2003/05/soap-envelope\">" +
          "<soap12:Body>" +
           
    " <getCountryCityByIp xmlns=\"http://WebXml.com.cn/\">" +
          "    <theIpAddress>219.137.167.157</theIpAddress>" +
         
    "   </getCountryCityByIp>" +
        
    "  </soap12:Body>" +
        
    "</soap12:Envelope>";

    然后定義一個PostMethod,這時需要指定web服務的Url;

    PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);

    然后把Soap請求數據添加到PostMethod中

    byte[] b = soapRequestData.getBytes("utf-8");
    InputStream is 
    = new ByteArrayInputStream(b,0,b.length);
    RequestEntity re 
    = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8");
    postMethod.setRequestEntity(re);

     

    最后生成一個HttpClient對象,并發出postMethod請求

    HttpClient httpClient = new HttpClient();
    statusCode 
    = httpClient.executeMethod(postMethod);
    String soapRequestData 
    =  postMethod.getResponseBodyAsString();

     

    soapRequestData就是調用web服務的Soap響應數據,是xml格式的,可以通過解析soapRequestData來獲得調用web服務的返回值。

    2.使用Xfire
    用到的jar文件xfire-all-1.2.4.jar, jdom-1.0.jar
    方法:
    定義一個Client對象,指定web服務的wsdl的地址

    Client c = new Client(new URL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));

     

    調用Client對象的invoke方法,指定web服務的方法名,和參數,返回值是一個Object型的數組。
    下面代碼調用getVersionTime方法,這個方法沒有參數用所以后一個參數使用new Object[0]。

    Object[] results = c.invoke(“getVersionTime”, new Object[0]);

     

    3.使用axis2
    下載axis2-1.4
    方法:
    打開控制臺,進入axis2-1.4/bin目錄

    wsdl2java.bat -uri http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl -p ws.clinet.axis2


    上述命令執行完后,會在當前目錄下生成一個src目錄,在src\ ws\ clinet\ axis2目錄里生成XXXXCallbackHandler.java和XXXXStub.java兩個文件。
    wsdl2java 會根據wsdl文件生成web服務的調用接口,參數類,返回值的類。
    在調用webservice的時候直接實例化一個XXXXStub的對象,然后調用web服務的方法就可以了。

    4. 總結
    針對某種工具搭建的Web Service服務可能有與其對應的更簡單的調用方法,在這里沒有做描述,上述的調用web服務的方法是通用的。
    上述三種方法中使用httpclient應該是比較靈活,但是開發效率低,難度大,使用Xfire和axis2比較容易,開發速度快,但是axis2通用 性不好,有的web服務用axis2不好用。httpclient和Xfire通用性比較好,鑒于以上特點推薦使用Xfire。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 成人拍拍拍无遮挡免费视频| 中文字幕有码日韩精品| 日本阿v片在线播放免费| 亚洲国内精品一区二区| 亚洲欧美激情在线一区| 人人妻人人做人人爽| 中文字幕av国产精品| 人妻影音先锋啪啪AV资源| 国产精品IGAO视频网网址| 亚洲人成电影网站 久久影视| 我的公强要了我高潮在线观看| 日韩国产精品无码一区二区三区| 免费高清特级毛片A片| 亚洲爆乳无码一区二区三区| 99久久国产成人免费网站| 97精品久久久久中文字幕| 韩国无码AV片午夜福利| 欧美成人精品高清在线观看| 天堂亚洲免费视频| 久久亚洲国产精品成人AV秋霞| 亚洲一区二区精品动漫| 一本久道久久综合狠狠爱| 日本高清中文字幕免费一区二区| 日韩电影免费在线观看网站| 国产成人无码AV大片大片在线观看 | 六十路老熟妇乱子伦视频| 午夜无码A级毛片免费视频| 久久天天躁狠狠躁夜夜2020老熟妇| 久久精品丝袜高跟鞋| 久久精品免视看国产成人| 2019亚洲午夜无码天堂| 久久精品国产国产精品四凭| 在线日韩日本国产亚洲| 亚洲AV无码AV在线影院| 国产午精品午夜福利757视频播放| 亚洲精品国产精品乱码视色| 国产成人高清在线观看视频 | 麻豆一二三区精品蜜桃| 不卡AV中文字幕手机看| 2021国产精品视频网站| 久久精品国产久精国产|