`

java 调用 webservice

    博客分类:
  • java
阅读更多
只想调用远处webservice,不构建自己的,看了一些资料都是先构建,再请求。
webservice提供一种服务,暴露某个地址,调用也是http请求,客户端只要传递正确参数到服务端
能够解析调用的那个累的那个方法,获取参数后将响应信息组装给客户端,来回处理都是xml。请求webservice的例子
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

public class InvokeWS {
	public static void main(String[] args) {
		try {
			//以请求天气service为例
			String point ="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";
			//初始化请求传送的soap信息   soap格式从上面网站可以查到
			String soap = getSoapBody("济南");
			//获取 建立至webservice节点的连接
			URL url = new URL(point);
			URLConnection con = url.openConnection();
			con.setUseCaches(false);
			con.setDoInput(true);
			con.setDoOutput(true);
			//设置请求header信息 
			con.setRequestProperty("Content-Type", "text/xml; charset=gbk");
			con.setRequestProperty("Content-Length",String.valueOf(soap.length()));
			con.setRequestProperty("SOAPAction", "http://WebXml.com.cn/getWeatherbyCityName");
			//发送请求内容 soap至服务端
			OutputStream out = con.getOutputStream();
			OutputStreamWriter writer = new OutputStreamWriter(out,"gbk");
			writer.write(soap);
			writer.flush();
			writer.close();
			//获取响应信息 
			InputStream in = con.getInputStream();
			InputStreamReader reader = new InputStreamReader(in,"utf-8");
			BufferedReader br = new BufferedReader(reader);
			String str = br.readLine();
			while(str !=null){
				System.out.println(str);
				str = br.readLine();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	private static String getSoapBody(String name){
		StringBuffer sb = new StringBuffer();
		sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
		sb.append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
		sb.append("<soap:Body>");
		sb.append("<getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">");
		sb.append("<theCityName>").append(name).append("</theCityName>");
		sb.append("</getWeatherbyCityName>");
		sb.append("</soap:Body>");
		sb.append("</soap:Envelope>");
		return sb.toString();
	}
}


返回信息:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<getWeatherbyCityNameResponse xmlns="http://WebXml.com.cn/">
			<getWeatherbyCityNameResult>
				<string>山东</string>
				<string>济南</string>
				<string>54823</string>
				<string>54823.jpg</string>
				<string>2013-1-7 10:51:13</string>
				<string>-6℃/2℃</string>
				<string>1月7日 多云转晴</string>
				<string>南风微风</string>
				<string>1.gif</string>
				<string>0.gif</string>
				<string>今日天气实况:气温:2℃;风向/风力:东南风 1级;湿度:35%;空气质量:较差;紫外线强度:最弱</string>
				<string>穿衣指数:天气冷,建议着棉衣、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣或冬大衣。
					过敏指数:天气条件极不易诱发过敏,可放心外出,享受生活。
					运动指数:天气较好,但考虑天气寒冷,推荐您进行室内运动,户外运动时请注意保暖并做好准备活动。
					洗车指数:适宜洗车,未来持续两天无雨天气较好,适合擦洗汽车,蓝天白云、风和日丽将伴您的车子连日洁净。
					晾晒指数:天气不错,午后温暖的阳光仍能满足你驱潮消霉杀菌的晾晒需求。
					旅游指数:白云飘飘,同时又有微风伴您一路同行。虽稍冷,但您仍可陶醉于大自然的美丽风光中。
					路况指数:天气较好,路面比较干燥,路况较好。
					舒适度指数:天气较冷,不很舒适,请注意适时添加衣物,以防感冒。
					空气污染指数:气象条件较不利于空气污染物稀释、扩散和清除,请适当减少室外活动时间。
					紫外线指数:属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。
				</string>
				<string>-8℃/1℃</string>
				<string>1月8日 晴</string>
				<string>无持续风向微风转北风微风</string>
				<string>0.gif</string>
				<string>0.gif</string>
				<string>-7℃/1℃</string>
				<string>1月9日 晴</string>
				<string>北风微风转南风微风</string>
				<string>0.gif</string>
				<string>0.gif</string>
				<string>济南是中国东部沿海经济大省--山东省的省会,位于山东省中西部,是全省的政治、经济、科技、文化中心和重要的交通枢纽。济南具有2000多年的历史,是中华文明的重要发祥地之一,中国原始部落的首领--舜(约公元前22世纪)就诞生与生活在济南一带。济南东郊的城子崖是中国新石器时代晚期以黑陶为标志的龙山文化(距今4600-4000年)的发现地,这里发现了中国最古老的城址约20万平方米。作为城市,济南已有4000多年的历史。济南文物古迹众多,有舜文化遗址(公元前22世纪)舜耕山,有先于秦长城的齐长城(公元前3世纪),中国最古老的地面房屋建筑--汉代孝堂山郭氏墓石祠(公元前1世纪),中国最古老的石塔--隋代柳埠四门塔(公元7世纪)和被誉为"海内第一名塑"的灵岩寺宋代彩塑罗汉(公元11世纪)等。济南自古素有“泉城”之美称。尤以趵突泉、黑虎泉、五龙潭、珍珠泉四大名泉久负盛名,自古就有“家家泉水,户户垂杨”之誉。济南拥有的泉水之多,流量之大,景色之美,独步天下。这些泉纵横分布,错落有致,既有趵突、黑虎、珍珠、五龙潭四大泉群,又有郊区泉群,誉称72名泉.趵突泉为72名泉之首,泉水分三股而淌。泉北有宋代建筑“泺源堂”,西南是明代建筑“观澜亭”,池东为“来鹤桥”,桥南立木牌楼,横额上书“洞天福地”、“蓬山旧迹”。清高宗乾隆南下游览,观趵突泉后大为兴奋,当即题“游湍”,封“天下第一泉”,留《趵突泉游记》石刻碑文。
				</string>
			</getWeatherbyCityNameResult>
		</getWeatherbyCityNameResponse>
	</soap:Body>
</soap:Envelope>

0
1
分享到:
评论

相关推荐

    java调用webservice.zip

    java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...

    java 调用 webService工具类

    下面我们将详细探讨Java调用WebService的相关知识点。 1. **WebService概念**: WebService是一种基于互联网的、平台无关的应用程序接口,它允许不同系统之间通过标准协议进行通信。常见的WebService协议有SOAP...

    JAVA调用WEBSERVICE接口

    JAVA调用WEBSERVICE接口

    java调用webservice工程

    Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...

    java 调用webservice的几种方法总结

    "Java 调用 Webservice 的几种方法总结" Java 调用 Webservice 的几种方法总结中,主要介绍了使用 JDK Web 服务 API、Axis 和 XFire 等方法来调用 Webservice。下面将对每种方法进行详细的介绍。 使用 JDK Web ...

    java调用webservice接口方法

    Java调用WebService接口方法是Java开发中常见的任务,尤其在分布式系统和跨平台通信中扮演着重要角色。这里我们主要探讨使用Apache Axis库来实现这一功能。Apache Axis是一款开源工具,它提供了Java到SOAP(简单对象...

    Java 调用 webservice

    Java调用WebService是一种常见的跨平台通信方式,尤其在企业级应用中广泛使用。WebService是一种基于XML的开放标准,允许不同系统之间通过网络交换数据。在这个场景中,我们将聚焦于使用Java和Axis1.4库来实现这个...

    java调用webservice的axis2.jar包

    Java调用WebService是Web服务交互的一种常见方式,而Axis2是一个高效的、可扩展的Web服务框架,它在Java世界中广泛用于创建和消费Web服务。本文将深入探讨使用Axis2.jar包来调用WebService的相关知识点。 一、Axis2...

    java调用webservice最精简的jar包

    在给定的"java调用webservice最精简的jar包"压缩文件中,可能就包含了这些基本组件,使得开发者能够快速、简洁地完成Web服务调用任务。在实际使用时,应根据项目的具体需求和环境,适当地添加或移除这些JAR包。

    JAVA调用webservice并解析xml

    2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...

    java调用webservice接口案例,service调用webservice接口

    java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰

    java调用webservice接口方法.rar

    Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...

    Java调用WebService接口的方法

    本文将深入探讨如何使用Java调用WebService接口,以实例分析有参方法Add的使用技巧。 首先,我们需要了解WebService的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的Web应用程序,它能够通过HTTP...

    JAVA调用WebService所需要的JAR

    以下将详细介绍Java调用WebService所需的关键JAR文件以及相关的知识点。 1. **SOAP协议**:Java调用WebService通常采用SOAP(Simple Object Access Protocol)协议,这是一种基于XML的协议,用于交换结构化的和类型...

    java调用WebService实例

    Java调用WebService是一种常见的在分布式系统中实现服务交互的方式,主要应用于不同系统间的数据共享和功能集成。在Java中,有多种库可以帮助我们完成这项任务,其中之一就是Apache Axis2。本篇文章将详细介绍如何...

    Java调用WebService(客户端)

    【Java调用WebService客户端详解】 在Java开发中,有时我们需要从客户端调用远程的WebService服务以获取或传递数据。本文将详细介绍如何使用Java进行WebService客户端的调用,并提供HttpGet、HttpPost、HttpSoap...

    JAVA调用WEBSERVICE图解说明

    Java调用WebService是一种常见的在不同系统间进行数据交互的方式,主要基于XML和SOAP(Simple Object Access Protocol)协议。本说明将详细阐述如何在Java环境中,特别是使用Eclipse IDE,来调用并操作WebService。 ...

    java调用webservice实例(eclipse工程),导入即可查看,经测试通过代码可运行

    java调用webservice实例(eclipse工程),其中需要修改成自己的webservice地址,参数也需要修改成自己的webservice参数,经过测试,代码没有问题。本eclipse工程代码导入即可运行,编码为GBK,如果中文不能正常显示,...

    java调用webservice接口.zip

    本教程将深入探讨如何使用Axis库来实现在Java中调用WebService接口。Axis是一个开源的Java SOAP栈,它提供了从Java代码中创建和消费Web服务的能力。 **一、什么是WebService?** WebService是一种基于XML的协议,它...

Global site tag (gtag.js) - Google Analytics