在实际项目上,一般是通过服务总线跟jms交互,oracle esb是oracle公司提供的服务总线产品简称osb,支持多种协议。
创建osb business service
-
创建business service
- 服务类型选择
Messaging Service
- 请求消息类型选择
Text
- 协议选择
jms
URI输入jms://host:port/jms.jms_test_connection_factory1/jms.jms_test_queue
如果jndi名字中带有/
需要将/
替换为.
如jms队列名称为jms/queue
在URI中需要替换为jms.queue
,输入完后点击add
- 类型选择
Queue
如果要往jms主题中发送消息则选择Topic,消息类型选择Text
- 后面就全部默认到最后一步
-
Active后测试该服务
创建osb proxy service
business service是无法被第三方调用,要通过proxy service做代理才可被调用
- 创建 proxy service
- 服务类型选择基于
business service
并将上面创建的business service选中
- 请求消息类型选择
Text
响应消息类型选择None
jms都是异步服务不需要Response
- 协议选择
http
,Endpoint URI是http调用的地址,Get All Headers选择Yes
- 请求和响应都输入
utf-8
,后面一路默认到结束
- 测试proxy service
设置jms消息头
如图在osb如何设置jms消息头信息
- 打开proxy service
- 创建
Transport Headers
- Header名称选择
JMSType
这里以该字段为例其他字段类似,Set Header to
输入'oracle osb'
- 测试
- postman测试