Talend - ESB - SOAP 网络服务

Talend - ESB - SOAP webservice

我需要实现一个基本上具有输入 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)。

这是我的实际项目结构:

有关于正确使用 Talend 组件的建议吗?我应该包括路线吗?

提前致谢。

您可以使用 tRunJob 组件的选项 "Use dynamic job" :

选中该选项后,您会得到一个名为 "Context job" 的字段,您可以在其中指定要 运行 的子作业的名称,这些子作业来自您选择的作业列表单击作业字段旁边的“...”。

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