Talend - ESB - SOAP Web服务

时间:2018-01-17 10:44:04

标签: esb talend

我需要实现一个基本上具有输入SOAP WS的Talend ESB项目,该项目基于执行不同子工作所需的参数。

这是SOAP请求

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://www.talend.org/service/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:test_callOperationRequest>
         <user>user</user>
         <password>psw/password>
         <id_customer>test ESB</id_customer>
         <query>test mirror quality</query>
         <command>JOB1</command>
      </ser:test_callOperationRequest>
   </soapenv:Body>
</soapenv:Envelope>

所以我想基于“command”参数调用特定的子作用(即:JOB1)。

这是我的实际项目结构: enter image description here

有关正确的Talend组件使用的任何建议吗?我可以加入路线吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用选项&#34;使用动态作业&#34; tRunJob组件:

enter image description here

选中该选项后,您将获得一个名为&#34; Context job&#34;的字段,您可以在其中通过单击&选择的作业列表指定要运行的子作业的名称。 #34; ...&#34;在工作领域旁边。

您可以通过主流将tJavaRow_1连接到tRunJob_1,并在上下文作业字段中指定包含要运行的作业名称的传入流列(在我的示例中)它是row2.JobToRun) 然后为每个传入的行调用相应的childjob。