axis 做自己的天气预报

WebService :http://www.onhap.com/WebServices/WeatherWebService.asmx
首先得感谢onhap提供了这个免费的webservice,才能有后面的文章

在onhap发布的这个webservice中有4个方法,我们主要是应用getWeatherbyCityName  方法根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数。

首先我们建立一WEB工程,把axis  lib目录下的包全都导到工程里面。然后用工具把WeatherWebService.wsdl 描述文件导出来,我一般是把这文件和以后的批处理文件放到WEB-INF下面方便以后使用。在和WSDL文件一个目录下个建个批处理文件
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java WeatherWebService.wsdl
并执行它,你会发现这个目录下多一个COM目录,这就是axis自动生成的代理类,不需要自己写很方便的,把这COM目录放到你的SRC源JAVA文件下。新建立一个类来调用这个天气预报
private String[] getWeather(String city){
        
        WeatherWebService weatherWeb 
= new WeatherWebServiceLocator();
        String[] weaStr 
=null;
        
try {
            WeatherWebServiceSoap weather 
= weatherWeb.getWeatherWebServiceSoap();
            weaStr 
= weather.getWeatherbyCityName(city);
        }
 catch (ServiceException e) {
            e.printStackTrace();
        }
 catch (RemoteException e) {
            e.printStackTrace();
        }
        
        
return weaStr;
    }
getWeatherbyCityName  中的方法返回来是的String[] .
基本上这个webservice就调用成功了,最后做出来的效果图是


呵呵这图片是调用的QQ的。。以后我们就不用
<IFRAME ID='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC='http://weather.qq.com/inc/ss258.htm'></IFRAME>

 

源文件:Weather.rar

里面LIB中没有axis 的包,自己去他的下吧,2M多传不上来了

posted on 2007-04-16 14:45 richer 阅读(920) 评论(2)  编辑  收藏

评论

# re: axis 做自己的天气预报 2007-09-28 15:34 小小陈

出现异常了:
2007-9-28 15:29:27 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NoClassDefFoundError: javax/xml/rpc/ServiceException
at org.apache.jsp.weatherTemplet_jsp._jspService(org.apache.jsp.weatherTemplet_jsp:77)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)  回复  更多评论   

# re: axis 做自己的天气预报 2013-12-14 14:52 植物租赁

这个不会占太多流量吧  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

常用链接

留言簿(2)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜