webservice wsdl soap axis

来源:互联网 发布:python开发量化交易 编辑:程序博客网 时间:2024/06/05 07:36

SOAP(Simple Object Access Protocol):简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。

XSD(XML Scheme Definition,XML大纲定义)文档用来描述XML的结构和内容。它本身也是一个XML文档,通过它我们可以知道xml文档中包含哪些节点,以及这些节点应该是什么类型的值等。常见的如WSDL文档。

WSDL:Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。

 SOAP消息结构包含由SOAP信封(<soap:Envelope>) SOAP 头(<soap:Header>) SOAP消息体 (<soap:Body>)组成。其中<soap:Envelope>是SOAP消息中的根节点,是SOAP消息中必须的部分;<soap:Header>是SOAP消息中可选部分,如果SOAP消息中含有它,那么它一定要是soap:Envelope>中的第一个元素节点;<soap:Body>是SOAP中必须部分,如果SOAP消息中没有<soap:Header>,那么<soap:Body>必须是SOAP中第一个元素节点。此外,在WebService返回给消费者时,如果服务发生异常,则返回给服务消费者还有<soap:Fault>元素节点,它包含在<soap:Body>中。

 

Axis:Axis本质上就是一个SOAP引擎(Apache Axis is an implementation of the SAOP),提供创建服务名、客户端和网关SOAP操作的基本框架。但是Axis并不完全是一个SOAP引擎,它还包括:

  • 是一个独立的SOAP服务器。
  • 是一个嵌入Servlet引擎(eg:Tomcat)的服务器。
  • 支持WSDL。
  • 提供转化WSDL为Java类的工具。
  • 提供例子程序。
  • 提供TCP/IP数据包监视工具。

Axis有四种Service styles,分别是:

  • RPC(Remote Procedure Call Protocol远程访问调用协议,部署时属于默认选项)
  • Document
  • Wrapped
  • Message

WSDD(Web Service Deployment Descriptor):Web服务分布描述,它定义了Web服务的接口,如服务名、提供的方法、方法的参数信息。

UDDI(Universal Description,Discovery,and Integration):统一描述、发现和集成,用于集中存放和查找WSDL描述文件,起着目录服务器的作用。

Axis2

Axis2的核心框架是构建在WSDL、SOAP和WS-Addressing上,其他的如JAX-RP、SAAJ和WS-Policy是在核心框架之上的层。Axis2体系结构分离了逻辑和状态,

在其内部逻辑处理都是无状态的,这样就允许在几个平行的进程间处理同样的代码。

 

WSDL元素

WSDL元素基于XML语法描述了与服务进行交互的基本元素:

Type(消息类型):数据类型定义的容器,它使用某种类型系统(如XSD)。

Message(消息):通信数据的抽象类型化定义,它由一个或者多个part组成。

Part:消息参数

Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作:

  • 单向(one-way):端点接受信息;
  • 请求-响应(request-response):端点接受消息,然后发送相关消息;
  • 要求-响应(solicit-response):端点发送消息,然后接受相关消息;
  • 通知(notification):端点发送消息。

Port Type (端口类型):特定端口类型的具体协议和数据格式规范。

Binding:特定端口类型的具体协议和数据格式规范

Port :定义为绑定和网络地址组合的单个端点。

Service:相关端口的集合,包括其关联的接口、操作、消息等。

 

0 0
原创粉丝点击