如何从 java 客户端调用 OSB 代理服务(JMS 传输)?

How to call a OSB Proxy Service(JMS Transport) from a java client?

您好,我有传输类型 (JMS) 的代理服务。它侦听一个队列,当一条消息发布到 IN 队列中时,它将路由到一个业务服务,该业务服务会将消息放入 OUT 队列中。

现在,我有一个要求,我想从 java 客户端调用代理服务并将消息内容传递给业务服务,业务服务会将消息放入队列中。

可能吗?是的,怎么样?

P.S: 我在网上搜索了这个,发现我们可以像调用web服务一样调用代理服务。 JMS 传输代理服务是否可行?

代理不能同时接受 HTTP 和 JMS - 它们绑定到特定类型的传输。

但是,您可以像这样创建代理链:

  • 一个本地传输代理(我们称之为 MyService-local.proxy),它执行业务逻辑并路由到业务服务。
  • 一个公开 SOAP 或 REST 端点(我们称之为 MyService-http.proxy)并路由到 MyService-local
  • 的小型代理
  • 从 JMS 队列(称之为 MyService-jms.proxy)读取并路由到 MyService-local 的另一个代理。

或者,如果您不想更改 OSB 服务,我想您也可以编写 Java 代码来创建 JMS 消息并将其放入原始队列。