详解基于J2ME平台下SOAP协议的应用
部分总是用于最终接收的消息,而报头项目可以确定执行中间处理的目标节点。附件、二进制数字及其他项目可以附加到报文上。
SOAP提供了一种让客户端指定哪个中间处理节点必须处理报头项目的方法。由于报头与SOAP消息的主体内容是互不相关的,所以可用它们给消息添加信息,而不会影响对消息报文的处理。 三、SOAP协议在J2ME平台中的实现 如何真正地将移动设备融入到WebServices中去呢?这就需要使得PDA、手机等成为WebServices的客户端,因此这些设备至少应该具有处理XML信息的能力。在J2ME平台中实现SOAP客户端的功能,使得嵌入式设备能够连接企业的WEB服务是企业应用中比较常见的需求。J2ME的基本类库中没有提供SOAP的支持,所以需要在J2ME平台中开发实现SOAP的处理功能。 实现SOAP协议客户端的关键问题分为两个方面:J2ME不同配置的数据类型不一样,导致与SOAP协议封装的数据类型不匹配;J2ME平台没有提供对XML文件进行处理的功能。 针对第一个问题,需要注意只能使用基本类型,对不匹配的数据类型采用使用基本类型复合的方式进行处理。针对第二个问题需要在J2ME中扩展对XML文件处理的功能。目前有有两种方法对XML文件进行解析。一种是采用DOM的方式,另外一种是采用SAX的方式。操作DOM是一个与XML相互作用的简单方法,通常这个XML是一棵完整的XML树,被解析成一个存放在存储器中的节点结构,你可以遍历这棵树。它非常简单易用,但是因为整棵树存在于存储器中造成存储器的负担,而对于嵌入式系统来说存储器的资源是有限的,因此这种方法的使用具有一定局限性。第二种方法在捕捉语法分析事件中,每当语法分析程序遇到数据中的特定结构,它就会遍历XML数据,然后把结果发回前面注册的一个事件监听器中。比如说,当语法分析程序遇到一个起始标记,如<html>,那么事件监听器将接收一个事件,通知它这个情况,并且向它传递任何所需的信息。相对DOM方式的处理,SAX方法对存储器的要求比较低,但是效率要比DOM方式低。 Enhydra的KXML是一个只占很小存储空间的XML语法分析程序,对于J2ME应用程序非常适合。KXML支持DOM语法分析和操作,但是不支持SAX语法分析。取而代之,它使用一种稍微不同的称为“Pull”的分析方法。 下面是KXML采用DOM的方式处理XML数据的例子: 第一行创建了一个文档对象,保存XML树。第三行从一个名为abc的InputStreamReader中创建一个KXML语法分析程序。第四行传送这个语法分析程序到文档,然后让文档开始分析。X |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |