IBM总线代理接口SoupAction does not match

发布时间 2023-07-06 15:05:06作者: 巍巍之道

IBM总线代理接口SoupAction does not match

问题描述:

The given SOAPAction uploadSchedule does not match an operation.

解决方案:

增加一个ESQL:
CREATE COMPUTE MODULE TEST_Compute1
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
CALL CopyEntireMessage();
DECLARE operation CHARACTER InputRoot.SOAP.Context.operation;
SET OutputLocalEnvironment.Destination.SOAP.Request.Operation = operation;
SET OutputRoot.HTTPRequestHeader.SOAPAction = '';
 
END;
 
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER 1;
DECLARE J INTEGER;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
 
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;

附:消息流调试

1.消息流去掉可能在本地发布报错的内容:
2.发布到本地
3.启动Debugger(Port没有设置的话设置一下)
4.用SoupUI调用本地的Debugger地址,注意端口号不是上一个设置的Port,而是7800
5.在消息流里需要的地方打断点
这是在线条上打断点:
ESQL里打断点
在断点位置查看参数
6.修改消息流以后,应该停止调试并重新发布消息流后再进行调试。