IBM Integration BUS v10使用ESQL从WebService输入获取数据

时间:2019-02-13 23:38:14

标签: wsdl ibm-integration-bus extended-sql

我是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;  

1 个答案:

答案 0 :(得分:0)

我必须再次在消息类型中添加类型: IBM Integration Tool