soap笔记

soap(simple object access protocol)是一个消息结构协议,http/jms/smtp是一个传输协议。soap消息格式由xml schema模式定义。

 

soap message 是一个xml文档实例。

 

消息传递模式(messaging modes)一般有四种(rpc/literal,document/literal,rpc/encoded,document/encoded)。消息传递模式描述的是soap消息的有效负载。

 

web service有两种mep(message exchange pattern)消息交互模式。一种为one-way messaging,另一种为request/response messagin。mep表示消息的流向。

 

soap的根元素是envelope。其有两个直接子元素header(可选),body(必选)。

 

header主要存放路由、安全等元素,而body存放程序专有数据或错误消息。

 

使用http作为传输协议时,post请求的报头中要带上SOAPAction文件,soap1.2使用("application/soap+xml")mime类型替代SOAPAction。

 

常用的soap/http响应代码:

200 OK表示消息没有错误;包含一个正常的SOAP响应消息。

 

200 Accepted:表示成功处理了请求,但是没有SOAP响应数据,类似与void返回类型。

 

400 Bad Request:表示SOAP消息中的HTTP请求或者XML格式不正确

 

405 Method Not Allowed:如果不是通过HTTP POST方式传递的SOAP消息,返回此错误。

 

415 Unsupported Media Type:text/xml值包含一个Content-Type文件头,否则将返回此错误。

 

500 Internal Server Error:当请求/响应MEP中的响应消息是SOAP错误时,必须使用此代码。

 

wsdl文档的一个根元素是definitions元素,其中包含七个重要元素:types,import,message,portType,operations,binding,service。

 

wsdl必需使用utf-8或utf-16编码。

 

type元素用作一个特殊容器,定义数据类型,里面是一段xsd。

 

import元素让当前文档使用其它wsdl文档中指定命名空间中的定义

 

protType/operation/message描述web服务的抽象接口。其中portType要当于接口名,operation相当于方法名,message相当于输入、输出参数。其中message中的part元素用一描述输入/输出值中的参数列表。

 

Binding元素将一个抽像的portType映射到一组具体的协议上(soap/http),消息传递样式(rpc/document)及编码样式(literal)。其中soapbind:binding元素中的style指定传输样式,transport指定传输方式。soapbind:operation元素指定消息样式和soapAction值。

 

soapbind:body的use属性在ws-1中只能为literal。

 

service元素包含一个或者多个port元素,每个port元素对应一个不同的web服务


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值