1. 下载axis
2. 建立web project 工程
3. 创建check.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body bgcolor="6699FF"> <center> <h3>欢迎来到手机查询,天气查询系统 </h3> <form action="checkConfig.jsp" method="post"> <table width="400" height="100" border="1" bgcolor=""> <tr> <td> <select name="select"> <option value="number">输入查询的号码</option> <option value="local">输入查询的天气地区</option> </select> </td> <td> <input type="text" name="value"/> </td> </tr> <tr> <td> <input type="submit" value="查询"/> </td> <td> <input type="reset" value ="重置"/> </td> </tr> </table> </form> </center> </body> </html> 5. 创建checkConfig.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <%@page import="com.tools.TelephoneAxis2"%> <%@page import="com.tools.WeatherAxis2"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <% request.setCharacterEncoding("GB18030"); String select = request.getParameter("select").trim(); String value = request.getParameter("value").trim(); System.out.println(value); String result = null; if(select.equals("number")) result = new TelephoneAxis2(value).getResult(); else result = new WeatherAxis2(value).getResult(); %> <center> <%=result%> </center> </body> </html>
6. 建立WeatherAxis2.java
package com.tools; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axiom.soap.soAP11Constants; import org.apache.axis2.Constants; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.client.ServiceClient; import org.apache.axis2.transport.http.HttpTransportProperties.ProxyProperties; public class WeatherAxis2 { private String local; public WeatherAxis2(String local){ this.local = local; } private static EndpointReference targetEPR = new EndpointReference("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"); public String getResult() throws Exception { ServiceClient sender = new ServiceClient(); sender.setoptions(buildOptions()); OMElement result = sender.sendReceive(buildParam(local)); return result.toString(); } private static OMElement buildParam(String local) { OMFactory fac = OMAbstractFactory.getoMFactory(); OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/",""); OMElement data = fac.createOMElement("getWeatherbyCityName",omNs); OMElement inner = fac.createOMElement("theCityName",omNs); // inner.setText("吉首"); inner.setText(local); data.addChild(inner); return data; } private static Options buildOptions() { Options options = new Options(); options.setSoapVersionURI(SOAP11Constants.soAP_ENVELOPE_NAMESPACE_URI); options.setAction("http://WebXml.com.cn/getWeatherbyCityName"); options.setTo(targetEPR); //options.setProperty 如果不是通过代理上网,此句可省 //options.setProperty(HTTPConstants.PROXY,buildProxy()); options.setTransportInProtocol(Constants.TRANSPORT_HTTP); return options; } /** * 本机采用代理服务器上网时,需要设置代理 * @return */ public static ProxyProperties buildProxy() { ProxyProperties proxyProperties = new ProxyProperties(); proxyProperties.setProxyName("代理名称"); proxyProperties.setProxyPort(8080); return proxyProperties; } }
7. 建立TelephoneAxis2.java
package com.tools; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElement; import org.apache.axiom.om.OMFactory; import org.apache.axiom.om.OMNamespace; import org.apache.axiom.soap.soAP11Constants; import org.apache.axis2.Constants; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.client.ServiceClient; public class TelephoneAxis2 { String number; public TelephoneAxis2(String number) { this.number = number; } private static EndpointReference targetEPR = new EndpointReference("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"); public String getResult() throws Exception { String s = null; ServiceClient sender = new ServiceClient(); sender.setoptions(buildOptions()); OMElement result = sender.sendReceive(buildParam(number)); s = result.getFirstElement().getText(); return s; } private static OMElement buildParam(String number) { OMFactory fac = OMAbstractFactory.getoMFactory(); OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/",""); OMElement data = fac.createOMElement("getMobileCodeInfo",omNs); OMElement inner = fac.createOMElement("mobileCode",omNs); // inner.setText("15874333357"); inner.setText(number); data.addChild(inner); return data; } private static Options buildOptions() { Options options = new Options(); options.setSoapVersionURI(SOAP11Constants.soAP_ENVELOPE_NAMESPACE_URI); options.setAction("http://WebXml.com.cn/getMobileCodeInfo"); options.setTo(targetEPR); //options.setProperty 如果不是通过代理上网,此句可省 //options.setProperty(HTTPConstants.PROXY,buildProxy()); options.setTransportInProtocol(Constants.TRANSPORT_HTTP); return options; } /** * 本机采用代理服务器上网时,需要设置代理 * @return public static ProxyProperties buildProxy() { ProxyProperties proxyProperties = new ProxyProperties(); proxyProperties.setProxyName("代理名称"); proxyProperties.setProxyPort(8080); return proxyProperties; } */ }8. 测试数据,完成 。只是没有图片而已。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。