java 调用天气预报的webservice

来源:互联网 发布:吸入麻醉药mac值表 编辑:程序博客网 时间:2024/06/05 19:18

网上有很多例子,但我还是试了好多遍才走通,代码如下:


import javax.xml.namespace.QName; 
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.encoding.XMLType;
import java.util.Vector;
import java.text.DateFormat;
import java.lang.Integer;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import org.apache.axis.client.*;
public class test {
/**
* @param args
*/
public static void main(String[] args)throws Exception {

System.out.println("hello");
String[] res=null;
        String method = "getWeather";  
        Service service = new Service();  
        Call call = (Call) service.createCall();   
        call.setOperationName(new QName("http://WebXml.com.cn/","getWeather"));
        call.setTargetEndpointAddress(new java.net.URL("http://www.webxml.com.cn/WebServices/WeatherWS.asmx"));  
        call.setSOAPActionURI("http://WebXml.com.cn/getWeather"); 
        call.addParameter(new QName("http://WebXml.com.cn/","theCityCode"), org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
        call.addParameter(new QName("http://WebXml.com.cn/","theUserID"), org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
        call.setUseSOAPAction(true);  
        call.setReturnClass(java.lang.String[].class); 
        res=(String[]) call.invoke(new Object[]{"shanghai",""});        
        for(String str:res)  
        {  
            System.out.println(str);  
        } 
}
}

http://gaozi131.iteye.com/blog/516309 这里有详细的介绍,谢谢大家


以下是运行结果


直辖市 上海
上海
2013
2012/08/30 15:50:08
今日天气实况:气温:30℃;风向/风力:北风 1级;湿度:57%
空气质量:良;紫外线强度:中等
穿衣指数:天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。
感冒指数:暂无。
运动指数:天气较好,较适宜于户内运动,因气温较高,适当降低运动强度,风力较强,在户外运动注意防风。
洗车指数:较不宜洗车,过去12小时有降雨,路面少量积水,如果执意擦洗汽车,要做好溅上泥水的心理准备。
晾晒指数:天气不错,适宜晾晒。赶紧把久未见阳光的衣物搬出来吸收一下太阳的味道吧!
旅游指数:白云飘飘,温度稍高,幸好风稍大,会缓解稍热的天气。适宜旅游,可不要错过机会呦!
路况指数:天气较好,路面比较干燥,路况较好。
舒适度指数:天气较好,但会使您感到有些热,不很舒适。
空气污染指数:气象条件有利于空气污染物稀释、扩散和清除,可在室外正常活动。
紫外线指数:属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。
8月30日 多云
26℃/32℃
西北风4-5级转东南风3-4级
1.gif
1.gif
8月31日 多云
27℃/33℃
东南风3-4级
1.gif
1.gif
9月1日 多云
27℃/33℃
东南风3-4级
1.gif
1.gif
9月2日 多云
27℃/34℃
东南风3-4级
1.gif
1.gif
9月3日 雷阵雨
26℃/33℃
南风3-4级
4.gif
4.gif

原创粉丝点击