1. 程式人生 > >webservice呼叫wsdl天氣介面

webservice呼叫wsdl天氣介面

上篇部落格轉載的是一個自寫介面自呼叫的一個例子,今天我試了一下呼叫天氣介面,看了幾篇部落格一些例子,花了兩個小時在上面,其實很簡單,知道只要5分鐘就搞定了。坑1:不同調用方式在客戶端自動生成的程式碼有差異,坑2:使用工具比dos命令快還不出錯(我的就是dos命令呼叫報錯,eclipse毫無問題)

使用eclipse

在src目錄下新建一個wsdl檔案,直接為空就行,右擊檔案選擇webservice,路徑貼上我們的天氣介面http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl      下一步選擇生成檔案的路徑,這個檔案因為放在了src目錄下,直接完成就行,他就會自動生成了,如下:

然後寫一個測試類就行了

public class ClientTest {  
    
    public static void main(String[] args) throws RemoteException, ServiceException {  
    	WeatherWebServiceLocator locator=new WeatherWebServiceLocator();

    	//呼叫xxLocator物件的getXXPort()方法生成xxSoapBindingStub物件

    	WeatherWebServiceSoapStub stud=(WeatherWebServiceSoapStub) locator.getWeatherWebServiceSoap();
        //輸出當天的天氣狀況  
    	String[] city=stud.getSupportCity("江西");
    	String[] province=stud.getSupportProvince();
    	String[] weather=stud.getWeatherbyCityName("上海");
    	
    	for(String c:city) 
     	   System.out.println(c);
    	System.out.println("--------------");
    	for(String p:province) 
     	   System.out.println(p);
    	System.out.println("--------------");
       for(String w:weather) 
    	   System.out.println(w);
      
    }  
}