问题标签 [ibm-integration-bus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
esb - IBM Websphere Message Broker 和 Mule ESB
我目前正在使用 Mule ESB,它是一个开源工具。它具有供开发人员使用的 MuleStudio(图形 IDE)。我认为 IBM WebSphere Message Broker 也是一个 ESB 产品。通过从 IBM 网站阅读所需产品,您需要拥有 IBM 开发工具、IBM Message Broker Message V7 和 IBM MQ。有谁知道这些产品对开发人员免费还是我们需要购买它们?有人从 Mule ESB 迁移到 IBM Message Broker V7 吗?Mule ESB 和 IBM WS MB 在功能上是否兼容?
java - 有一个返回类型的异常是好的编程吗?
我在一个项目的用例中遇到了一个奇怪的情况:ESQL 正在调用一个 java 方法,向它发送一个字符串输入参数,该方法将解组,应用一些逻辑,然后存储来自解组对象的有用信息。因此,该方法必须要么抛出 JAXBException,要么使用 try catch 来处理可能的异常。
这样做的问题是,ESQL 不能调用在签名中包含 throws 的 java 方法。但是,我们希望任何错误都回落到先前调用的 MBNode 上,以便可以在那里适当地处理它,因此 trycatch 就不存在了。
让我震惊的是,嘿,当我们遇到问题时不可能返回一种类型的异常,如果不是则返回 null 吗?所以我写了一个简单的方法这样做,虽然我没有收到任何警告或错误,但在良好的编程意义上,这对我来说似乎是错误的。
例如:
但我只是对以这种方式做任何事情有一种可怕的感觉。
我对任何想法或不同的解决方案持开放态度,特别是如果有办法解决 ESQL 签名问题。
更新:
添加关于为什么 ESQL 过程不能在签名中调用带有 throws 子句的 java 方法的参考。
摘自CREATE PROCEDURE 语句部分下的此链接:
“您要调用的任何 Java 方法必须具有以下基本签名:public static (<0 - N parameters>) where 必须在 ESQL 到 Java 数据类型映射表中的 Java IN 数据类型列表中(不包括REFERENCE 类型,不允许作为返回值),或者 Java void 数据类型。参数数据类型也必须在 ESQL 到 Java 数据类型映射表中。另外,Java 方法不允许有异常签名中的 throws 子句。”
xml - 无法将到达 MQ 队列的非 XML 消息写入数据库
我正在使用以下 ESQL 代码将非 xml 消息(到达输入队列)作为 BLOB 对象放入审计数据库(Oracle 10g)中。当我在 IBM WebSphere Message Broker 6.0 中使用它时,该代码正在工作。但最近我迁移到 IBM WebSphere Message Broker 7.0,现在非 xml 消息进入 Backout 队列,而不是被审计到数据库中。我正在使用的子流的 ESQL 代码(将非 xml 消息写入数据库)是:
主要流程如下:
经纪人日志:
soap - 如何在 ESQL 中的未知 SOAP 树结构中查找/引用 XML 元素
我有一条 Soap 消息,其中包括 Soap 正文中的各种嵌套节点。我需要找到节点'xyz',但它并不总是在同一个位置。在 XSLT 世界中,我可以只使用 //xyz[1]。esql 有等效的语法吗?类似 OutputRoot.SOAP.Body{unknown syntax}.xyz[1]
web-services - 在 IBM Integration Bus 中调用 REST Web 服务
我在这里询问如何使用 IBM 集成总线中的消息流来调用 REST Web 服务。
我的要求如下:
首先,我有一个公开的 SOAP Web 服务。调用此 SOAP Web 服务时,我想调用另一个 Web 服务,它是 REST Web 服务。我开发了两个消息流。
- 第一个(示例虚拟消息流),其中我有一个 SOAP Input 节点、一个 Java Compute 节点和一个 SOAP Reply 节点。在这种情况下,当我尝试使用此 SOAP Web 服务并传递一些输入时,我会得到相同的输入,我希望这是预期的行为。
- 现在第二个流程包含一个 SOAP Input 节点、一个 HTTP Request 节点(用于调用 REST Web 服务),最后是一个 SOAP Reply 节点。(此流程中再次出现 3 个节点)。
我想知道我是否在这里正确实现了第二个消息流。如果没有,我还需要在这个消息流中添加什么,以便我的事情能够顺利完成。如果需要向此流程添加一些 SOAP 提取/信封节点。
我尝试调用我的 SOAP Web 服务时遇到的异常如下:
任何帮助将不胜感激!:)
ibm-integration-bus - IBM 集成总线接收方列表路由器,用于将同一消息的多个副本发送到节点列表
请建议在 IBM 集成总线中是否有类似于接收者列表路由器的东西?我是从事 IIB 工作的新手,所有可以找到的是 routeToLabel,但它仅根据匹配的标准路由到一个收件人。我想实现一个soapInput节点,它需要soap请求制作2个副本,
- 一个去一些默认计算和soapReply
- 第二个是正确处理 MQ/JMS 异步调用
因此,要制作收到的肥皂请求的 2 个副本,我需要在 spring 集成中使用类似 receipientListRouter 的东西。请建议IIB中是否存在任何此类或其他方式
谢谢
multithreading - 为什么我们需要将一个常量声明为共享常量?
在 ESQL 中我们有 SHARED CONSTANTS,当它们是常量并且即使多个线程访问相同的值它们也不会改变时,为什么我们需要它们。
DECLARE MYCONST SHARED CONSTANT CHAR '我的常数';
或者一般我想知道为什么我们需要共享常量?
xml - Websphere Message Broker:在 ESQL 中访问 XML 元素
Websphere Message Broker:文件输入输出示例。我有一个具有重复元素结构的 XML 文件。如何访问和修改 ESQL 中特定元素的值。我写了以下代码..
但它不起作用。从输入文件夹中提取文件,但我在输出文件夹中看不到任何内容。但如果我评论
然后文件在输出文件夹中可用,因为它没有任何更改。
我的 XML 文件如下
有人可以帮我吗?
insert - Issue in WMB message broker insert to a Sybase Database Table
Currently am facing an issue while inserting data in to Sybase database 15.7 with WMB code flow. Am currently using WMB7 Broker and I have written code in our message flow which is trying to insert the data in the table directly rather than using store procedure. The data types used in database table is 'int' and 'Image'. But insert operation is not completing anyways.
Whereas the same message flow code is inserting the data in Database table which is on Sybase 12.5.
Can this be a compatibility issue of ODBC drivers which are present in WMB7? Any kind of direction would be great help
xml - how to separate xml based on xpath in esql
I am new to esql. I have an XML similar to the one given below
When i give the Xpath as "vehicles/car", I need a function to get two XML as given below as output.
Thanks in advance. Biju