利用wsdl2java工具產生webservice的用戶端代碼,編碼問題__Js

來源:互聯網
上載者:User

一、環境準備 

1、JDK環境 
2、下載apache-cxf發布包,目前最新版本為3.1.7,解壓發布包,設定CXF_HOME,並添加%CXF_HOME %/bin到path環境變數。 
3、CMD命令列輸入wsdl2java -help,有正常提示說明環境已經正確配置。 

二、命令使用 
此命令主要是產生webservice的用戶端代碼,服務端可以是自行開發的服務,也可以是需要對接的服務介面,最簡單的命令如下: 
wsdl2java wsdlurl 
其中wsdlurl為服務發布的訪問地址,未寫參數預設產生的是用戶端的代碼,其中用得最多的是-encoding 參數,是指定Java代碼的編碼格式,例如: 
wsdl2java -encoding wsdlurl

其他詳細的參數及說明可以用wsdl2java -help或wsdl2java -h擷取,根據實際的需求設定相應的參數即可。

三、簡單案例 
常用介面:IP地址來源搜尋 WEB 服務 
1、產生用戶端代碼 
WSDL地址: 
http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl 
使用wsdl2java工具將用戶端代碼直接產生在eclipse的工程裡,eclipse工程地址為:E:\workspace\webservice,命令如下:

wsdl2java -encoding utf-8 -d E:/workspace/webservice/src http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl
1 1

-encoding表示產生的Java檔案編碼格式為utf8,-d表示代碼產生路徑為E:/workspace/webservice/src。 
執行完畢,沒有報任何錯誤,說明執行成功 

可以看到在eclipse下面已經產生了相應的代碼: 

2、用戶端代碼調用服務 
寫一個小demo,調用發布的IP查詢服務

package com.hy.ipservice;import java.util.Iterator;import java.util.List;import cn.com.webxml.ArrayOfString;import cn.com.webxml.IpAddressSearchWebService;import cn.com.webxml.IpAddressSearchWebServiceSoap;public class IPServiceDemo {    public static void main(String[] args) {        IpAddressSearchWebService service2 = new IpAddressSearchWebService();        IpAddressSearchWebServiceSoap serviceSoap = service2.getIpAddressSearchWebServiceSoap();        ArrayOfString cityByip = serviceSoap.getCountryCityByIp("58.60.251.125");        List<String> ips = cityByip.getString();        for (Iterator<String> ite = ips.iterator(); ite.hasNext();) {            String ip = (String) ite.next();            System.out.println(ip);        }    }}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

得到的結果為: 
資訊: Creating Service {http://WebXml.com.cn/}IpAddressSearchWebService from WSDL:http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl 
58.60.251.125 
廣東省深圳市 電信

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.