webservice客戶端生成過程

註明:java

使用工具 :wsimportweb

在JDK的bin文件夾中,有一個wsimport.exe工具,可依據wsdl文件生成相應的類文件,將生存在本地這些類文件拷貝到須要使用的項目中,就能夠像調用本地的類同樣調用webService提供的方法。該工具能夠用於非Java的服務器,如用C#編寫的WebService,經過wsimport則生成Java的客戶端實現。服務器

經常使用命令以下:工具

C:\Program Files\Java\jdk1.8.0_101\bin>wsimport -keep -s D:\webserviceTQ\s -p com.cn.weather -verbose C:\Users\zhangwensen\Desktop\WeatherWS.xml測試

-keep:是否生成java源文件xml

-d:指定.class文件的輸出目錄對象

-s:指定.java文件的輸出目錄element

-p:定義生成類的包名,不定義的話有默認包名get

-verbose:在控制檯顯示輸出信息webservice

-b:指定jaxws/jaxb綁定文件或額外的schemas

-extension:使用擴展來支持SOAP1.2

 

1.拿到webservice的地址,好比http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl  

 下載到xml文件到本地 WeatherWS.xml

2.將全部的<s:element ref="s:schema" />
                  <s:any />改爲 <s:any minOccurs="2" maxOccurs="2"/>,一共有三處須要修改,建議查找<s:element ref="s:schema" />,修改時把<s:any />也要刪掉

3.運行命令 

wsimport -keep -s D:\webserviceTQ\s -p com.cn.weather -verbose C:\Users\zhangwensen\Desktop\WeatherWS.xml

4.將代碼複製到src文件夾下

5.編寫測試類

package com.cn.weather;

import java.util.List;

public class WeatherWsClient {

    public static void main(String[] args) {
         //建立一個WeatherWS工廠  
        WeatherWS  ws = new WeatherWS ();
        //根據工廠建立一個WeatherWSSoap對象  
        WeatherWSSoap weatherWSSoap = ws.getWeatherWSSoap();
        //調用WebService提供的getWeather方法獲取廣州市的天氣預報狀況  
        ArrayOfString weatherInfo = weatherWSSoap.getWeather("廣東", "");
        List<String> weatherList = weatherInfo.getString();
        //遍歷天氣預報信息 
        for(String str : weatherList) { 
            System.out.println(str);
            System.out.println("--------------");
        }
        
        ArrayOfString s = weatherWSSoap.getRegionProvince();
         List<String> list = s.getString();  
         for (String string : list) {  
               System.out.println(string);  
               System.out.println("------------------------");  
         }  
    }

}

 

完  

相關文章
相關標籤/搜索