- 8
- 0
- 约1.93万字
- 约 16页
- 2017-06-19 发布于湖北
- 举报
使用WSDL发布WebService(第二部分)简单对象访问协议——学习SOAP语法和使用SOAP发布WSDL?????简 单对象访问协议(SOAP)提供了访问远程对象的方法。这样的对象有JavaBean,EJB组件,COM和COM+对象等等。这些对象使用不同的公司, 可能在互联网上随处可见。因此SOAP是一种在互联网上交换企业信息的机制。在本文中,笔者将讨论SOAP通信的细节,对象如何使用SOAP显示其功能, 如何调用SOAP对象以及如何在SOAP感知软件中交换信息。他将演示如何将第一部分中的WSDL程序发布为SOAP服务,及其远程调用。一.SOAP 和 WSDL????我 在这个系列的第一部分介绍了WSDL。WSDL描述Web Service的接口。Web Service的拥有者将使用SOAP实现这些的接口。因此WSDL服务就以SOAP服务的形式存在。一旦Web Service的用户拥有了WSDL文件,他就知道了接口的详细资料,就可以使用SOAP同Web Service通信。????可以将你通过WSDL接口发布的Web Service看作对象,它可以通过SOAP从互联网上远程访问。既然服务都是对象,必然就会有一些属性跟每个服务及其行为相关。SOAP消息是可能工作在HTTP上的XML文件。二.使用SOAP的原因????B2B(business- to-business)和A2A(application-to-application)需要通信的企业双方的指示以交换其信息。工作流的概念用于 B2B,并贯穿于企业集成。例如,某个企业调用供应商的服务以满足客户的需求,这就形成了一条垂直的供应链。有的供应商也会拓展供应联调用其他企业的服 务。????显然这类应用软件的交互性极其重要。任一企业都只是实现SOAP通信的一端,而另一端由互联网上的其他人实现。????在未来的几年里,企业集成和交互能力将成为软件工程师和企业极具挑战性的任务。平台依赖性也将是集成和交互能力达成的一大难题。SOAP是至今为止最简单的实现企业集成和交互能力的机制。三.SOAP架构????在初步了解了SOAP及其作用后,下面我将讨论它的架构以了解其内部的情况。在图Figure 1中,你可以看见下面的组件运用于典型的SOAP通信机制中:1.??SOAP Client2.??SOAP Service3.??Actual Service??Figure 1. Components of a typical SOAP communication architecture下面讨论上面提及的各个实体在架构中的角色。SOAP ClientSOAP Client是一个SOAP感知机器,它可以产生SOAP请求并通过HTTP将SOAP请求发送给SOAP Server。SOAP Client是一种SOAP消息。一般来说有两种SOAP消息:SOAP Client发送给SOAP Service的SOAP请求消息和SOAP Service发送给SOAP Client的SOAP响应消息。Listing 1是一个典型SOAP请求消息,而Listing 2则是一个典型SOAP响应消息。SOAP-ENV:Envelope? xmlns:SOAP-ENV=/soap/envelope/ ?? SOAP-ENV:Body? ?????? m:getListOfModelsxmlns:m = uri reference ? ?????? /m:getListOfModels??? /SOAP-ENV:Body/SOAP-ENV:EnvelopeSOAP Server????SOAP Server也是一个SOAP感知机器,它可以接受SOAP Client发来的请求并创建合适的响应。加密的响应会发给发出请求的SOAP Client。在SOAP Server内部有三个实体:1.??Service manager2.??Deployed service list3.??XML translatorService manager管理响应请求的服务。在Listing 1中的SOAP请求中,节点m:getListOfModelsxmlns:m=”urn:MobilePhoneService”包含了服务的名称。Service manager会读出Service Client向要调用的服务的名称并向包含SOAP Service中所有服务列表的Deployed service list查询是否有该项服务。如果有Service manager就将SOAP请求发给XML translator。XML translator将SOAP请求的XML结构转换成程序员用来实现Actual Service的程序语言。XML translator
原创力文档

文档评论(0)