【发布时间】:2019-02-20 18:18:10
【问题描述】:
我是 IBM Integrarion Bus 的新手。我不明白,为什么我在 ESQL 中看不到 id 字段(这个 fileld 在 wsdl 中):
我看了这个课程:https://youtu.be/uQv6IF4glM4
这是我的项目:https://mega.nz/#!RFASHYqT!Qb4F93lrCldfWgp0h0BDhAhSPhWWP8vf0jWJTWlKU_4
BROKER SCHEMA gen
DECLARE ns1 NAMESPACE 'http://www.example.org/Employee';
DECLARE ns NAMESPACE 'http://EmployeeService';
CREATE COMPUTE MODULE getEmployeeDetails_Request_Response_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- CALL CopyMessageHeaders();
-- CALL CopyEntireMessage();
DECLARE name CHARACTER;
DECLARE city CHARACTER;
DECLARE empID INTEGER;
SET name = 'Emilian';
SET city = 'Wroclaw';
SET empID = InputRoot.XMLNSC.ns:getEmployeeDetails.ns1:EmployeeRequest.
SET OutputRoot.XMLNSC.ns1:EmployeeRespone.ns1:name = name;
SET OutputRoot.XMLNSC.ns1:EmployeeResponse.ns1:city = city;
SET OutputRoot.XMLNSC.ns1:EmployeeResponse.ns1:id = empID;
RETURN TRUE;
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;
【问题讨论】:
-
您是否在流程中使用SOAPExtract 节点?如果没有,您必须像这样导航:
InputRoot.SOAP.Body.ns:getEmployeeDetails.ns1:EmployeeRequest。 -
您好,您确定命名空间正确吗?在我看来,请求和响应应该具有相同的命名空间......但除此之外一切看起来都很好,除了上面提到的 ESQL 之前可能缺少 SOAP Extract 节点
-
再次上传您的项目,它在 mega.nz 上不可用
标签: wsdl ibm-integration-bus extended-sql