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
).
然后为每个传入行调用相应的子作业。
我需要实现一个基本上具有输入 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
).
然后为每个传入行调用相应的子作业。