webservice呼叫wsdl天氣介面
阿新 • • 發佈:2019-01-25
上篇部落格轉載的是一個自寫介面自呼叫的一個例子,今天我試了一下呼叫天氣介面,看了幾篇部落格一些例子,花了兩個小時在上面,其實很簡單,知道只要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); } }