iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何理解J2ME的Web服务API
  • 346
分享到

如何理解J2ME的Web服务API

2024-04-02 19:04:59 346人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关如何理解J2ME的WEB服务api,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。你对J2ME的Web服务API是否了解,这里和大

这篇文章将为大家详细讲解有关如何理解J2ME的WEB服务api,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

你对J2ME的Web服务API是否了解,这里和大家分享一下,Java2平台袖珍版(J2ME)平台中的Web服务是由Java规范请求172(jsR172)定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。

J2ME的Web服务API讲解

用于Java2平台袖珍版(Java2PlatfORM,MicroEdition,J2ME)的Web服务API(WSA)是由JavaCommUnityProcess为Java规范请求172(JSR172)而定义的,这些API是两个相互独立的可选包,用于远程服务调用和XML解析。他们是针对基于连接设备配置(ConnectedDeviceConfiguration,CDC)和有限连接设备配置(ConnectedLimitedDeviceConfiguration,CLDC1.0和CLDC1.1)的框架的。为什么用户应该关注这些呢?因为JSR172在设备层为远程服务调用和XML解析提供了支持,也就意味着开发人员不用将这项功能嵌入到每一个应用程序中。本文介绍了远程服务调用可选包API。

J2ME中的Web服务

Java2平台袖珍版(J2ME)平台中的Web服务是由Java规范请求172(JSR172)定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。我们来回顾一下清单。

与标准Web服务的比较

JSR172Web服务API(WSA)遵循下面这些核心Web服务规范:

简单对象访问协议(SOAP)1.1,定义传输和数据编码。

Web服务定义语言(WSDL)1.1,定义如何描述远程服务。

XML1.0,定义XML标记语言。

XMLSchema,毫无疑问,定义XML模式。

注意JSR172不支持统一描述、发现和集成(UDDI)2.0规范,该规范定义了如何发现远程服务。

由于有相当多的与Web服务相关并且涵盖了不同技术的规范出台,而且越来越多,Web服务互操作组织(WS-I)定义了WS-I基本概要1.0(WS-IBasicProfile,Version1.0)来定义Web服务规范的最小集,和一致性规则一样,所有的基础Web服务提供者和消费者都必须遵守该概要。JSR172规范也遵守WS-I基本概要。

与标准Web服务具有相同的体系结构:

JSR172WSA从客户端访问Web服务,从服务-消费者的角度来看,WSA提供远程服务调用API(JAX-rpc)以及运行时环境,从而允许J2ME应用程序在Web上消费服务,而不是作为服务生产者(端点)来运行。除了这一点差别之外,JSR172WSA体系结构的其它部分与Web服务的标准体系结构/组织一致,如下图所示:

如何理解J2ME的Web服务API

该高级体系结构组织如下:

客户端,Web服务消费者:它是J2ME应用程序,例如MIDP或个人版基于框架的应用程序,JSR172存根和支持类,以及JSR172运行时。
网络:指的是无线和有线网络以及通信协议,无线和有线网络是Internet的一部分。注意JSR172本身没有规定在设备上使用XML编码方法,而允许执行程序(只要它们对消费者和生产者是透明的)使用更有效的编码方法,例如在设备和无线网关之间使用二进制协议。
服务器,Web服务生产者:它是一个Web服务器,通常位于防火墙和/或代理网关的后面。该服务器可以访问后台资源。
调用模型和数据流与标准Web服务相同:

J2ME应用程序通过JSR172存根和运行时调用远程服务,通常要通过Http和SOAP来进行传输。存根和运行时将与远程服务调用相关的复杂部分都隐藏起来了,包括输入值和返回值如何编码并解码,以及与服务器进行网络通信的管理。方法调用遵循同步请求-应答模型,如下图所示:

图2-JSR172调用模型

如何理解J2ME的Web服务API

*由于调用是按模块进行的,所以您应该把这些调用分派到不同的执行线程中。

消费Web服务

要消费Web服务,您必须首先创建服务调用存根。让这些存根来执行任务,例如对输入值和返回值进行编码和解码、与JSR172运行时交互来调用远程服务端点。存根通过运行时的服务提供者接口(SPI)与运行时进行交互,这样通过概述运行时执行的详细情况,使存根在不同厂商之间的执行更便捷。

存根通常是用工具生成的,该工具读取一个WSDLXML文档,文档描述了将要使用到的Web服务。同样的,WSDL文档通常也是通过工具生成的,该工具读取接口定义,例如Java接口产生了WSDL文档。

从我们移动开发的角度来看,需要消费的WSDL文档通常已经存在,您需要做的仅仅是生成JSR172WSA存根。要生成这些存根,您应该使用例如J2MEWirelessToolkit2.1存根生成器这样的工具,如下图所示:

图3-生成JSR172WSA存根

如何理解J2ME的Web服务API

该生成器生成存根Java文件,以及相关的支持类。如下一部分所描述的,它还考虑到了WSDL到Java的数据类型映射。

一旦生成了JSR172JAX-RPC存根和支持文件,您的应用程序就已经被编译并部署到启用了JSR172的设备上了,消费Web服务是很简单的而且几乎是透明的。您很快就会看到,调用远程方法几乎和调用本地方法一样简单。

JSR172JAX-RPC子集API

JSR172远程方法调用API是以基于XML的RPC的J2SEJavaAPI(JAX-RPC1.1)的子集为基础的。它同样遵守WS-I基本概要。下面来详细研究一下JSR172JAX-RPC子集API:

它支持:

SOAP1.1。
任何可以传送SOAP消息的传输,例如HTTP1.1,都有一个定义好的用于SOAP1.1的协议绑定。
SOAP消息的文字表示代表一个RPC调用或应答。

下面(是)数据类型和相应的Java映射:

xsd:boolean到boolean或Boolean。
xsd:byte到byte或Byte。
xsd:short到short或Short。
xsd:int到int或Integer。
xsd:long到long或Long。
xsd:float到float,或Float。对基于CLDC1.0的平台,该数据类型映射到String。
xsd:double到double,或Double。对基于CLDC1.0的平台,该数据类型映射到String。
xsd:string到String。
xsd:base64Binary到byte[]。
xsd:hexBinary到byte[]。
xsd:complexType到基本类型和类类型序列。
xsd:QName到javax.xml.namespace.QName。

以XML数组模式为基础的基本类型和复杂类型(结构中包含基本类型或复杂类型)数组。

它不支持:

带附件的SOAP消息。
SOAP消息处理器。
SOAP消息的编码表示。
服务端点(不是Web服务生产者)。
服务发现支持(UDDI)。

设备端没有规定XML编码方法。这样做是通过允许执行程序使用更有效的数据编码方法来帮助减少网络传输,例如在设备和无线网关间使用二进制协议(只要这样编码对消费者和生产者是透明的)。

JSR172远程调用API包括下面这些包:

javax.microedition.xml.rpc
javax.xml.namespace
javax.xml.rpc
java.rmi(包括确保JAX-RPC相关型)
注意这些API(有一些异常API,例如RemoteException)不是直接由应用程序调用,相反,应用程序调用生成的存根。上面的API主要是供存根使用的。有关详细信息请参阅JSR172规范和/或Java文档。

使用JSR172JAX-RPC调用远程服务

一旦生成、编译并部署了JSR172JAX-RPC存根和支持文件,消费远程服务就很容易了。事实上,除了导入RemoteException,完成最少量的JAX-RPC细节初始化工作,您的应用程序不光是看上去,而且运行起来也和非Web服务消费者应用程序一样。由于有JSR172存根和运行时,实现这种简单的应用程序是可能的,正如前面提到的,JSR172存根和运行时把与远程调用相关的大部分细节都隐藏了。

要调用远程服务,您首先需要实例化存根,完成最少的存根初始化工作,然后就是如何编写调用存根方法。下面的代码片断显示了如何使用JSR172JAX-RPC调用远程服务。

关于如何理解J2ME的Web服务API就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何理解J2ME的Web服务API

本文链接: https://www.lsjlt.com/news/86512.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解J2ME的Web服务API
    这篇文章将为大家详细讲解有关如何理解J2ME的Web服务API,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。你对J2ME的Web服务API是否了解,这里和大...
    99+
    2024-04-02
  • 如何理解J2ME PIM的概念
    这篇文章将为大家详细讲解有关如何理解J2ME PIM的概念,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。这里和大家分享一下J2ME PIM的概念,根据JSR...
    99+
    2024-04-02
  • 如何理解J2ME体系结构
    今天就跟大家聊聊有关如何理解J2ME体系结构,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你对J2ME体系结构是否了解,这里和大家分享一下,J2ME...
    99+
    2024-04-02
  • 如何理解J2ME单元测试理念
    这期内容当中小编将会给大家带来有关如何理解J2ME单元测试理念,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。J2ME Unit是由KentBeck和ErichGamma设...
    99+
    2024-04-02
  • JavaScript中的Web API如何使用
    这篇“JavaScript中的Web API如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2024-04-02
  • 如何理解HTML5的History API
    这篇文章主要讲解了“如何理解HTML5的History API”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解HTML5的History API”吧!...
    99+
    2024-04-02
  • 如何理解Web服务器网关接口
    这篇文章给大家介绍如何理解Web服务器网关接口,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python 社区当然也需要这样一套 API,来适配Web服务器和应用程序,这套 API 就...
    99+
    2024-04-02
  • 如何解析J2ME配置的两种类型
    这篇文章将为大家详细讲解有关如何解析J2ME配置的两种类型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。和大家重点讨论一下J2ME配置问题,Sun提供的J2...
    99+
    2024-04-02
  • 如何理解Java Excel API
    如何理解Java Excel API,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。有时在java开发中会操作excel表格,其实操作起来也特别简单。这里把前期操作步骤说一下,本...
    99+
    2023-06-17
  • 如何在 ASP.NET Core Web API 中处理 Patch 请求
    目录一、概述二、将 Keys 保存在 Input Model 中三、定义 ModelBinderFactory 和 ModelBinder四、在 ASP.NET Core 项目中替换...
    99+
    2023-05-20
    ASP.NET Core Web API 处理 Patch 请求 ASP.NET Core  Patch 请求
  • Django REST框架:如何使用HTTP API构建Web服务?
    Django REST框架是一个基于Django的强大的Web API框架,它使得构建Web服务变得更加容易和快速。本文将介绍如何使用Django REST框架来构建HTTP API服务。 安装Django REST框架 首先,需要安...
    99+
    2023-11-12
    django http git
  • 如何理解Web开发的IDE
    这篇文章将为大家详细讲解有关如何理解Web开发的IDE,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Windows 下的IDE◆Visual Web Dev...
    99+
    2024-04-02
  • 揭秘 ASP Web API:打造灵活高效的 Web 服务
    ASP Web API 是一个基于 ASP.NET 的 Web 服务框架,它允许开发人员轻松地创建 RESTful Web 服务。ASP Web API 具有很多优点,包括: 轻量级: ASP Web API 非常轻量级,不会对应用程...
    99+
    2024-02-24
    ASP Web API RESTful Web 服务 开发框架 灵活 高效
  • Oozie的Web服务API有哪些功能
    Oozie的Web服务API提供了以下功能: 提交工作流或协调器应用程序 查看和管理作业状态 查看和管理工作流或协调器应用程序的定...
    99+
    2024-04-02
  • PHP Web 服务开发与 API 设计错误处理
    php web 服务开发中的错误处理涉及使用 try-catch 块、错误常量和自定义错误处理程序。在 api 设计中,最佳实践包括使用 http 状态码、定义 json 错误响应、提供...
    99+
    2024-05-06
    api php
  • 如何根据豆瓣api来理解Restful API设计的
    今天就跟大家聊聊有关如何根据豆瓣api来理解Restful API设计的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.什么是RESTREST全称是Representational...
    99+
    2023-06-19
  • 如何理解ASP.NET MVC 中的Web Pages
    今天就跟大家聊聊有关如何理解ASP.NET MVC 中的Web Pages,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。I:Web Pages 1.0中以“_”开头的特别文件(文件命...
    99+
    2023-06-17
  • 如何理解Tornado web框架
    这篇文章主要讲解了“如何理解Tornado web框架”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Tornado web框架”吧!tornado简...
    99+
    2024-04-02
  • PHP Web 服务开发与 API 设计如何遵循 REST 原则
    遵循 rest 原则进行 php web 服务开发和 api 设计:使用统一接口访问资源。保持无状态,不存储客户端信息。启用缓存以提高性能。分层系统便于客户端和服务器通信。在 php 中...
    99+
    2024-05-06
    php rest laravel
  • PHP中如何处理Web服务错误?
    在开发Web服务时,错误处理是极其重要的,因为它可以帮助我们及时发现并解决潜在的问题,保障服务的稳定性和可靠性。本文将介绍PHP中如何处理Web服务错误,并提供具体的代码示例。错误处理机制PHP提供了许多内置的函数和类,用于处理不同类型的错...
    99+
    2023-12-09
    PHP Web服务 错误处理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作