解析:用SAAJ解决SOA集成问题

简介: 面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。

  基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。

  有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。

  什么是SAAJ?

  SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。

  对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。

  SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。

  虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。

  选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。

  编写客户机

  清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从www.WebLogicPro.com下载。下面将讨论完成该项目所必需的步骤。  

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。

  基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。

  有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。

  什么是SAAJ?

  SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。

  对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。

  SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。

  虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。

  选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。

  编写客户机

  清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从www.WebLogicPro.com下载。下面将讨论完成该项目所必需的步骤。

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。

  基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。

  有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。

  什么是SAAJ?

  SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。

  对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。

  SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。

  虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。

  选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。

  编写客户机

  清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从www.WebLogicPro.com下载。下面将讨论完成该项目所必需的步骤。

面向服务的架构(SOA)和面向服务的集成(SOI)得到了广泛的应用,并且有一种需求变得越来越明显:业务需要集成系统,并允许消费者利用基于标准的方法访问服务。SOA是一种架构范例。在这种架构中,可重用的业务逻辑表现为包含基于标准的、定义良好的接口的服务集,并且可以以松散耦合方式访问它。因为Web Service标准的供应商的支持,以及利用基于这种标准的软件集成不同的系统相对容易,所以在解决企业集成问题方面,SOA得到了普遍的认可。

  基于Java的中间件和企业应用程序集成(EAI)产品已经被使用了一段时间,现在,许多公司在以不同的方式使用这项技术。虽然一些服务是在Java平台上开发和提供的,但来自基于Java的应用程序的服务消费还有其他灵活的需求。SOAP with Attachments API for Java (SAAJ)通过提供访问服务的标准API来帮助这些服务的消费。

  有几个基于Java的API可以用来访问服务。这些服务包括SAAJ、基于Java API for XML 的RPC(JAX-RPC)和Web服务调用框架(WSIF)。SAAJ提供了构建服务消费者以及提供者的API。让我们看一看如何利用SAAJ在SOA中开发Web Service的消费者。我们将举例说明WebLogic Integration的组合过程,该过程有机地结合了获取城市邮政编码的服务、获取邮政分区的温度的服务,以及消费该服务的一个示例SAAJ客户机。

  什么是SAAJ?

  SAAJ是在松散耦合软件系统中利用SOAP协议实现的基于XML消息传递的API规范。顾名思义,SAAJ支持带附件的SOAP消息。

  对于Java API for XML Messaging (JAXM),您已经了解很多,并且可能感到奇怪,究竟JAXM发生了什么事?JAXM 1.0的理念是通过提供消息传递和SOAP API,允许开发人员根据SOAP编写支持消息传递标准的业务应用程序。随着JAXM 1.1版的推出,SOAP API (javax.xml.soap)被分割成了SAAJ1.1规范和JAXM1.1,JAXM1.1只包含基于消息传递的API(javax.xml.messaging)。目前,正在使用的SAAJ版本是1.2。WebLogic Server 8.1 SP2 支持SAAJ 1.1规范。

  SAAJ 1.2 API主要由javax.xml.soap包组成,它为带有多用途互连网邮件扩展协议(MIME)附件的SOAP消息提供抽象。该API提供了创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法。

  虽然在开发企业应用程序的时候,有几种技术供您选择,但对于不同的问题,某些技术可能更合适。选择正确的工具非常重要。

  选择SAAJ的理由是什么呢?SAAJ无疑很适合基于文档的同步或者异步Web Service。SAAJ使用简单,有助于您在Java环境中集成各种Web Service,它扩展了对文档风格的Web Service通信的自然支持(natural support)。SAAJ还支持基于标准接口上的XML消息传递,并且这一点得到了供应商的广泛支持。

  编写客户机

  清单 1显示了一个用SAAJ编写的简单的消费者,它访问了一个同步WebLogic Integration过程,来获得给定城市的温度。完整的项目可以从www.WebLogicPro.com下载。下面将讨论完成该项目所必需的步骤。

清单 2展示了如何利用清单 1中给出的方法调用该服务。这个过程的端点URL是随输入的XML文档字符串一起传递给invokeService()方法的。

  清单 2. 以下是利用SAAJ调用WebLogic Integration过程的一个例子。

  String inputXml = "
   /"http://schemas.xmlsoap.org/soap/envelope//" " +

   "xmlns:soapenc=/"http://schemas.xmlsoap.org/soapencoding//"

   xmlns:xsd=/"http://www.w3.org/001/XMLSchema/" " +

   "xmlns:xsi=/"http://www.w3.org/2001/XMLSchema-instance/">

  

   " + "" + "

   Barrington

   IL

  

   " + "

   ";

  invokeService("http://localhost:7001/saajService/processes/TempService.jpd",inputXml);

  SAAJ可能是SOA和集成领域中一种非常有用的API。SAAJ的一些应用程序包含测试框架的服务和服务调用的库。我们已经展示了如何利用SAAJ编写消费者,并创建了一个访问WebLogic Integration Get Temperature组合过程的示例客户机。将该示例应用到您自己的项目中,让SAAJ为您工作。

相关文章
|
缓存 PHP Nacos
nacos常见问题之服务升级后nacos控制台看到都是不可用重启nacos后恢复如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
802 4
|
Kubernetes Cloud Native Docker
云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版
云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版
1275 0
|
机器学习/深度学习 人工智能 算法
大模型的能耗如何?
【7月更文挑战第6天】大模型的能耗如何?
1014 3
|
Java
JSP 教程 之 JSP 表单处理 7
该教程介绍了如何在JSP中处理表单,特别是Checkbox数据。示例展示了一个HTML表单,包含三个已选中的复选框(Google、百度、淘宝),用户提交表单后,数据将以POST方式发送到main.jsp。
204 1
|
11月前
|
负载均衡 网络协议 关系型数据库
docker swarm 使用网络启动服务
【10月更文挑战第15天】
169 4
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
Tokenformer:基于参数标记化的高效可扩展Transformer架构
本文是对发表于arXiv的论文 "TOKENFORMER: RETHINKING TRANSFORMER SCALING WITH TOKENIZED MODEL PARAMETERS" 的深入解读与扩展分析。主要探讨了一种革新性的Transformer架构设计方案,该方案通过参数标记化实现了模型的高效扩展和计算优化。
540 0
|
搜索推荐 Java API
打造个性化天气应用:从概念到实现
【8月更文挑战第31天】 在这篇文章中,我们将一起探索如何将一个天气应用的概念转化为现实。我们将深入讨论移动应用开发的核心概念,包括设计思路、技术选型、以及实际编码过程。通过一个简单的天气应用示例,你将学会如何利用现代移动开发工具和框架来创建自己的应用。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供一条清晰的道路,帮助你理解并实践移动应用开发。
|
移动开发 小程序 前端开发
uniapp中uview组件库CircleProgress 圆形进度条丰富的使用方法
uniapp中uview组件库CircleProgress 圆形进度条丰富的使用方法
2052 1
|
数据可视化 关系型数据库 MySQL
数仓学习---16、可视化报表(Superset)
数仓学习---16、可视化报表(Superset)