首先, 在java中, 如何通过http请求发送XML呢?
据我所知,有两种写法:一种是使用httpClient(需要httpGet或httpPost对象配合,有篇博文中已经提到),另一种写法是使用URL(先调用openConnection()方法,然后可以设置请求头setRequestproperty(),调用getoutputStream()方法获取OutputStream,然后用输出流将要发送的xml实体文件写出去)。接收XML的写法,一般都是用request先获取输入流,再将输入流读到byte[]中,再转换为字符串,最后再用dom4j等解析XML的方法解析出来各节点的数据。
有了这样的知识准备,我就接着了解Webservice了。
看了一篇博文,http://url.cn/EZjm82,才知道Webservice就是传说中的云,把一个Web应用当成一种服务来看,能够接收来自网络的请求,经过解析和处理,返回数据,响应请求。而这请求和响应的过程中,数据都是使用XML进行传输的,被成为SOAP消息。SOAP消息就是SOAP协议规定的消息格式,看了http://url.cn/Ecrkwp这篇文章,我了解到SOAP协议是基于Http协议的,中间有一个映射关系的存在:我个人理解,客户端在发送Webservice请求时,就是将soap消息(遵循soap的xml文件)作为发送的http请求消息的实体内容(请求头中的Content-Type=application/soap+xml;charset=UTF-8),soap消息中封装了要调用的是哪一个操作,肯定也封装了所需的参数;同理,Webservice服务端给客户端发送的响应消息也会被封装成一个soap消息,该消息会作为http响应消息的实体内容。
一个Webservice如何被使用呢?需要有个说明文档,用来描述该Webservice的使用说明——WSDL。
它都描述了什么呢?
看了网上一个视频,总结得挺好:
What——该Webservice包含了哪些操作
How——该Webservice操作应该怎样调用
Where——该Webservice的服务地址
WebService的技术核心?三个
soap,
wsdl(一个XML格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息),51); font-family:Arial; font-size:14px; line-height:26px">uddi(一个用来发布和搜索WEB服务的协议,应用程序可借由此协议在设计或运行时找到目标WEB服务)
这些标准由这些组织制订:W3C负责XML、SOAP及WSDL;oasis负责uddi。
webservice三种最普遍的实现方式是:
远程过程调用(RPC)
面向服务架构(SOA)
表述性状态转移(REST)
(该段文字参考http://www.voidcn.com/article/p-kqzadlnq-gw.html)
原来,小毛提到的R他用PC实现一个自定义的Webservice,其实只是Webservice的一种实现方式I啊。这个回头再了解吧
另外,还需要研究一下soap消息的结构,如何用代码实现对该消息的解析呢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。