WEB开发网
开发学院手机开发iPhone 开发 iPhone WebService使用的一些总结 阅读

iPhone WebService使用的一些总结

 2010-11-05 00:53:57 来源:WEB开发网   
核心提示:Axis2是一个比较常用的WebService引擎,大家可以通过到http://ws.apache.org/axis2/下载,iPhone WebService使用的一些总结(2),其中其中 axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件,以及命令工具, axis2-1.4.1-war.

Axis2是一个比较常用的WebService引擎,大家可以通过到http://ws.apache.org/axis2/下载,其中其中 axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件,以及命令工具, axis2-1.4.1-war.zip文件则用于将WebService发布到Web容器中,网上有很多axis2教程,在这里不再多说。

天气预报调用实例:

下面的一个实例是调用天气预报的一个例子,没有采用wsdl生成本地代理类的方式,采用的是通过http请求直接访问服务端点的方法:

步骤是:

1、利用soap向webservice endpoint进行请求,取回请求结果

2、通过dom4J解析返回的xml流,得到所要的信息。

通过这个例子相信大家,会对”webserviice是基于soap协议”的这句话有更深刻的理解,另外在使用dom4J解析xml返回流的过程中,遇到了些麻烦,需要额外引入jaxen-1.1.1.jar包,否则程序会报org/jaxen/JaxenException的错误。并且在XML 包含命名空间时,定位元素,需要按照xpath语法来写。

下面是类的源代码:

代码

import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLConnection;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.SAXReader;/** * 类作用调用webservice得到天气预报服务 * @author qsw-Myonlystar 2010-1-13上午09:59:45 */public class Weather { /** * 获取soap请求头,并替换其中的标志符号为用户的输入符号 * @param city 用户输入城市名 * @return 用户将要发送给服务器的soap请求 */ private static String getSoapRequest(String city) { StringBuilder sb = new StringBuilder(); sb.append("" + "" + " " + "" + city + " " + ""); return sb.toString(); } /** * 用户把SOAP请求发送给服务器端,并返回服务器点返回的输入流 * @param city 用户输入的城市名称 * @return 服务器端返回的输入流,供客户端读取 * @throws Exception */ public static InputStream getSoapInputStream(String city) throws Exception { try { String soap = getSoapRequest(city); if (soap == null) { return null; } URL url = new URL(

Tags:iPhone WebService 使用

编辑录入:coldstar [复制链接] [打 印]
赞助商链接