分享

用 AXIS 编写 JMS 应用程序:开发同步的 JMS SOAP 应用程序

 yespon 2016-11-17

  本文假定您熟悉 AXIS 处理系统。文中示例所需的软件如下:

  IBM WSDK(WebSphere SDK for Web Services)。

  带有 JMS 支持压缩包 ma88_win.zip 的 MQSeries 5.2。

  样本代码 ws-jms.zip。

  本文假定上述软件已经安装和配置好了。

  Apache AXIS 框架介绍

Axis 框架是来自 Apache Group 的、基于 java 的、最新的 SOAP 规范(SOAP 1.2)和 SOAP with Attachments 规范(来自 Apache Group )的开放源代码实现。下面是该 AXIS 框架的主要特征:

  灵活的消息传递框架:AXIS 框架提供了灵活的消息传递框架,这个消息传递框架包括处理程序,链,序列化程序和反序列化程序。处理程序是一个处理请求、响应和故障流的对象。处理程序可被组合在一起成为链,而且可以使用一个灵活的部署描述符来配置这些处理程序的顺序。

  灵活的传输框架:Axis 提供了一个传输框架,这个传输框架可以帮助您创建自己的可插式传输发送器和传输侦听器。在本文中,您将构建自已的 JMS 传输和侦听器来发送和接收 SOAP 消息。

  数据编码支持:Axis 按照 XML Schema 规范提供各种数据类型的自动序列化,并且提供一种功能程序来使用您自己定制的序列化器和反序列化器。

  其他特征:Axis 完全支持 WSDL 以及日志记录、出错以及故障处理机制。

  AXIS 体系结构概览

AXIS 体系结构的核心组件包括:

  AxisEngine:它起到了类似于其他组件的中央控制器的作用。它既可以在服务器端实现,也可以在客户机端实现。

  MessageContext:MessageContext 类是 SOAP 请求和响应的一个包装器。它为 AXIS 消息处理系统中的其他组件提供一条消息的上下文信息。

  处理程序和链:处理程序是 AXIS 系统中的基本构件。一个处理程序带有一个 MessageContext,它执行操作并且返回到进行调用的代码。链是一个特殊的处理程序,它代表了其他处理程序的顺序。

  传输:传送进入 AXIS 引擎的消息和到客户机的响应消息。

  序列化器和反序列化器:它们是将数据从本机格式转换到 XML 以及将数据从 XML 再转换回本机格式所必需的。

  部署文件:AXIS 系统定义了一个基于 XML 的部署描述符 - 被称作 Web 服务部署描述符(Web Service Deployment Descriptor(WSDD)),这个部署描述符定义了 AXIS 系统在服务器端和在客户机端的配置。

  设计 JMS SOAP 框架

JMS 定义了一种标准的方式供 Java 应用程序通过面向消息的中间件(Message Oriented Middleware(MOM))来创建和交换信息。您将用 MQSeries 作为 MOM。您将开发一个基于点到点(Point to Point(P2P))消息的系统,该系统使消息能够通过一个名为队列的通道在生产者和消费者之间进行交换。队列是这样一个目的地:生产者向它发送消息,接收者从中取消息。每条消息仅被此模型中的一个接收方使用。

  图 1用 AXIS 描绘了 JMS SOAP 框架系统的体系结构概况。

  AXIS 的一个显著特征是它使框架既能够在服务器端配置,也能够在客户机端配置以进行基于客户机消息处理。在这个例子中,您将使用基于 AXIS 的部署描述符在服务器端和客户机端配置 AXIS 框架。服务器端部署描述符将告诉服务器端的 AXIS 服务器要调用哪个 Web 服务。客户机端部署描述符将告诉客户机端的 AXIS 服务器要使用哪个传输处理程序来传输 SOAP 消息。 您将构建自已的 JMS 传输处理程序来传输 SOAP 消息。

  上面的框架可以使用下面的步骤来演示:

  MSSOAP 客户机构造 org.apache.axis.client.Call 对象并设置位置、调用参数、服务、方法名称以及传输机制(即 JMSMqseries Transport)。然后,它调用 AXISClient。

  AXISClient 检查部署描述符(client-deploy.wsdd)中的传输对象,并装入为 JMSMqseries Transport 部署的传输处理程序(JMSSOAPHandler)。

  JMSSOAPHandler 接收包装在 MessageContext 对象中的 SOAP 请求,并把该 SOAP 请求放入 RequestQueue。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多