esb消息上下文变量oracle培训.pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

OracleServiceBusTraining

---ESB的消息上下文变量

MessageContext模型ESB中的消息上下文是一组存储消息内容的属性,并提供消息的元信息

使用上下文变量上下文变量是ESB中请求和应答消息的访问接入点使用上下文变量,可以:重新组装修改重新路由在运行状态决定处理机制

预定义的上下文变量

预定义的上下文变量(2)

用户自定义的上下文变量ESB支持用户自定义的上下文变量。只需要简单的输入消息配置字段,例如返回参数,就可以实现一个用户子定义的上下文变量

变量和类型设计时所有变量(包括用户定义和系统定义的)作用范围为整个服务$outbound,$inbound,$fault,$operation是有类型的,其他则没有,因为他们的内容会变化用户定义的变量在其被创建的pipeline之外是不可见的。运行时在执行的时候,当他们被第一次赋值,变量会自动被创建。当服务执行结束,变量会自动被删除

$header变量$header表示SOAP的header元素,并将指向SOAP:Header实际的头元素作为其子元素如果是非SOAP的消息,或SOAP消息没有SOAP:Header元素,该值为空

$body变量对SOAP和非SOAP消息的实际payload,永远是包装成SOAP:Body元素如果是SOAP消息,$body指向实际的SOAP:Body,如果是非SOAP消息,SOAP:Body元素被创建,并将消息的整个内容装入。注意:不包括附件的信息

$body的二进制内容Binary数据不是文本、也不是XML,也不是MFLESB中定义,二进制的内容永远被一个XML元素描述,它提供指向二进制存储的指针binary-contnetref=…该指针是维护于内存中的一个Hash-Table中二进制数据并没有脱离$body(或$attachment)优化处理效率缺陷是二进制内容不能更改

$attachments变量$attachments变量包含0或多个attachment子元素每个attachment子元素是一个MIME元数据描述的附件

消息上下文---$body和RPC示例:类似于RPC风格的SOAP消息的BODY元素soap-env:Body ns:operatioName ns:parameterName parameter(typeorelement) /ns:parameterName /ns:operationName/soap-env:Body

$fault变量ESB使用$fault变量保存外部系统抛出的出错代码以及出错原因errorCode:String类型的出错代码Reason:错误的文本描述Details:任意XML内容的具体错误描述Location:标识错误发生的具体的pipeline和stage

Inbound消息派发在接入(Inbound)过程中,消息派发:如果消息中包含二进制数据,那么一个指针索引被创建,对于非二进制数据,就按照原样传递

Outbound消息派发在调用(outbound)过程中,消息派发:如果是binary-contentref=…的URI被识别出是内部管理的二进制数据,数据会重新加载回到body内容中,然后传递给外部服务否则就将指向描述的XML(binary-contentref=…)按照原样传递给目标

QA

文档评论(0)

159****9610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档