随笔分类 -  WebService

摘要:HTTP作为一个更好的RPC 在服务器群落中使用DCOM 和CORBA 是通用的做法,但客户机则使用HTTP进入服务器群落。HTTP与RPC的协议很相似,它简单、配置广泛,并且对防火墙比其它协议更容易发挥作用。HTTP请求一般由Web服务器软件(如IIS和Apache)来处理,但越来越多的应用服务器产品正在支持HTTP作为除DCOM和IIOP外的又一个协议。 象DCOM和IIOP一样,HTTP层通过TCP/IP进行请求/响应通信。一个HTTP的客户端用TCP连接到HTTP服务器。在HTTP中使用的标准端口号是80,但任何其它端口也能被使用。在建立TCP连接后,客户端可以发送一个请求消息到... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(104) 评论(0) 推荐(0)
摘要:SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。 这篇文章带你全面回顾对象远程进程调用(ORPC)技术的历程,以帮助你理解SOAP技术的基础,以及它克服存在技术(如CORBA和DCOM)的许多缺陷的方法。随后讲述详细的SOAP编码规则,并把焦点放在SOAP是怎样映射到存在的ORPC概念上的。 引言: 当我在1984年开始把计算作为我的职业的时候,大多数程序员并不关心网络协议。但是在九十年代网络变... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(151) 评论(0) 推荐(0)
摘要:一.Webservice概述 A.Webservice是什么? Web Services 是一种构建应用程序的普通模型,并能在所有支持Internet通讯的操作系统上实施运行。Web Services 令基于组件的开发和 Web 的结合达到最佳,基于组件的对象模型,如:Distributed Component Object Model(DCOM)、Remote Method Invocation(RMI),Internet Inter-Orb Protocol(IIOP)都已经发布了很长时间了,但是这些模型都依赖于特殊对象模型协议,而 Web Services 利用 SOAP 和 XML.. 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(199) 评论(0) 推荐(0)
摘要:错误处理 一个服务器有时将不能正确地为一个方法请求提供服务。这可能是由于一般的HTTP错误造成的(如请求-URI不能被映射到本地的资源或一个HTTP级的安全违反)。也可能是在SOAP翻译软件中的问题,如马歇尔打包错误或一个必须的头不能被认出。其它可能的原因包括一个请求不能正确地被服务,或者应用/对象代码决定要返回一个应用级的错误给调用者。这些情况在SOAP规范中都被清楚地加以处理。 如果在分发对任何SOAP代码的调用之前一个错误发生在HTTP层,一个纯HTTP响应必须被返回。标准的HTTP状态代码编号将被采用,400级的代码表示一个客户引发的错误,500级的代码表示服务器引发的错误。这... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(156) 评论(0) 推荐(0)
摘要:与存取元素相关的另一个问题是由于类型关系引起的可代换性。由于前面的adjustment类不是一个final类型的类,transfer对象的from和to域实际引用继承类型的实例是可能的。为了支持这种类型兼容的替换,SOAP使用一个名域限定的类型属性的XML Schema约定。这种类型属性的值是一个对元素具体的类型的限制的名字。考虑下面的adjustment扩展类: package com.bofsoap.IBank;public class auditedadjustment extends adjustment {public int auditlevel;} 给出下面Java语言:tra. 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(112) 评论(0) 推荐(0)
摘要:SOAP体的核心 SOAP的XML特性是为把数据类型的实例序列化成XML的编码模式。为了达到这个目的,SOAP不要求使用传统的RPC风格的代理。而是一个SOAP方法调用包含至少两个数据类型:请求和响应。考虑这下面个COM IDL代码: [ uuid(DEADF00D-BEAD-BEAD-BEAD-BAABAABAABAA) ] interface IBank : IUnknown { HRESULT withdraw([in] long account, [out] float *newBalance, [in, out] float *amount ... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(152) 评论(0) 推荐(0)
摘要:一. WSDL是什么? WSDL即Web Services Description Language,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。 WSDL是一个用于精确描述Web服务的文档,WSDL文档是一个遵循WSDL XML模式的XML文档。WSDL 文档将Web服务定义为服务访问点或端口的集合。在 WSDL 中,由于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(252) 评论(0) 推荐(0)
摘要:独立元素 在SOAP中,一个独立元素表示至少被一个多引用存取元素引用的类型的实例。所有的独立元素用soap:id属性作标记,而且这个属性的值在整个SOAP envelope中必须是唯一的。独立的元素被编码就好象是它们被一个存取元素打包,这个存取元素的标记名是实例的名域限制的类型名。在上面的例子中,实例的名域限制的类型名是t:adjustment。 SOAP限制独立元素能被编码的场所。SOAP定义了一个能适用于任何元素的属性:(soapackage)。这个属性被用于控制独立元素能在哪里被解码。SOAP序列化规则指出独立元素必须编码为soap:Header元素或soap:Body元素的直接子元.. 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(129) 评论(0) 推荐(0)
摘要:SOAP数据类型 在SOAP消息中,每个元素可能是一个SOAP结构元素,一个根元素,一个存取元素或一个独立的元素。在SOAP中,soap:Envelope, soap:Body和 soap:Header 是唯一的三个结构元素。它们的基本关系由下列XML Schema所描述: <schema targetNamespace=‘urn:schemas-xmlsoap-org:soap.v1‘> <element name=‘Envelope‘> <type> <element name=‘Header‘ type=‘Header‘ minOccu... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(154) 评论(0) 推荐(0)
摘要:XML 作为一个更好的网络数据表达方式(NDR) HTTP是一个相当有用的RPC协议,它提供了IIOP或DCOM在组帧、连接管理以及序列化对象应用等方面大部分功能的支持。( 而且URLs与IORs和OBJREFs在功能上令人惊叹的接近)。HTTP所缺少的是用单一的标准格式来表达一个RPC调用中的参数。这则正是XML的用武之地。 象NDR和CDR,XML是一个与平台无关的中性的数据表达协议。XML允许数据被序列化成一个可以传递的形式,使得它容易地在任何平台上被解码。XML有以下不同于NDR和CDR的特点: 有大量XML编码和解码软件存在于每个编程环境和... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(123) 评论(0) 推荐(0)
摘要:三.Axis框架构建webservice 1.axis概述。 A. Axis2是一个web服务/SOAP/WSDL引擎,它继承Apache Axis广泛使用的SOAP堆栈,它有两个实现版本-----java和C。它是主流的webservice开发框架之一,实现方便,安全的,可靠的。它支持热部署,以及异步webservice的调用等。 B.要求java版本,jdk至少是1.5及以上版本。 C.传输协议:HTTP,SMTP,JMS,TCP D.支持规范:① SOAP 1.1 和 1.2。 ② 消息传输优化机制(MTOM),优化的XML包装(XOP... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(306) 评论(0) 推荐(0)
摘要:目前的技术存在的问题? 尽管DCOM和IIOP都是固定的协议,业界还没有完全转向其中任何一个协议。没有融合的部分原因是文化的问题所致。而且在当一些组织试图标准化一个或另一个协议的时候,两个协议的技术适用性就被提出质疑。传统上认为DCOM和CORBA都是合理服务器到服务器端的通信协议。但是,二者对客户到服务器端的通信都存在明显的弱点,尤其是客户机被散布在Internet上的时候。 DCOM 和 CORBA/IIOP都是依赖于单个厂商的解决方案来最大优势地使用协议。尽管两个协议都在各种平台和产品上被实现了,但现实是选定的发布需要采用单一厂商的实现。在DCOM的情况下,这意味着每个机器要运行... 阅读全文
posted @ 2013-08-23 13:57 alaricblog 阅读(102) 评论(0) 推荐(0)
摘要:引用 力宝 的 axis1Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和 SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。 一、Axis2的下载和安装 读者可以从如下的网址下载Axis2的最新版本: http://ws.apache.org/axis2/ 在... 阅读全文
posted @ 2013-08-23 13:56 alaricblog 阅读(215) 评论(0) 推荐(0)
摘要:引用力宝 的 xfire教程网上关于XFire入门的教程不少,要么是讲得很简单,就像Hello World一样的程序,要么就是通过IDE集成的工具来开发的,这对于不同的人群有诸多不便,关于XFire的一些详细的信息就不再多讲,可以参考官方网站和相关的文档,这里讲一个完整的入门实例。实例中包括三个情况,我想基本上可以概括所有的需求,或者自己稍加扩展即可。先来看看我们的Interface。1 package test;2 3 import java.util.List;4 5 public interface IHelloService {6 public StringsayHe... 阅读全文
posted @ 2013-08-23 13:56 alaricblog 阅读(225) 评论(0) 推荐(0)
摘要:XFire是新一代的Java Web服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比,XFire的配置非常简单,可以非常容易地和Spring集成,它使得Java开发人员终于可以获得和.Net开发人员一样的开发效率。 官方网站:http://xfire.codehaus.org/ 解压缩后形成的文件目录结构如下: api(目录) api目录中是XFire框架中所有类(class)对应的API文档,为开发者使用XFire完成应用开发提供帮助。 examples(目录) examples目录中包含了所有随XFire二进制包发布的实例,包括... 阅读全文
posted @ 2013-08-23 13:56 alaricblog 阅读(219) 评论(0) 推荐(0)