我正在使用BD5.6.1 我正在使用tSOAP组件,如果我使用打击流程,它会很好地工作。 tsoap-> LogRow 我可以将SOAP Request消息粘贴到tsoap节点的SOAP Message部分中,并且工作正常。 但是现在我想读取excel文件并将该值动态传递给tSOAP组件的SOAP消息该怎么做?
我需要传递的示例SOAP消息。
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xml\" xmlns:urn=\"urn:HPD_Inc_Create_WS\">
<<urn:HelpDesk_Submit_Service>
<urn:First_Name> </urn:First_Name>
<urn:Impact> </urn:Impact>
</urn:HelpDesk_Submit_Service>
</soapenv:Body>
</soapenv:Envelope>"
参数是 名字值在文件中。我需要从excel文件中读取这些值并构造soap消息,然后将其发送到tSOAP Component。
我在论坛上看到我们可以做到
在tSOAP上,定义SOAP消息以使用从tFileInputExcel传递的动态值,如下所示: “ ....” +(String)globalMap.get(“ row1.First_Name”)+“ ...”
// First_name是tFileInputExcel上定义的列之一,此列从excel文件中读取FirstName值。
但不适用于我
答案 0 :(得分:0)
您可以这样做:
读取您的excel文件,并为每行(tFlowToIterate
)调用tSOAP
并将其发送的消息发送给它:
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xml\" xmlns:urn=\"urn:HPD_Inc_Create_WS\">
<soapenv:Body>
<urn:HelpDesk_Submit_Service>
<urn:First_Name>" + (String)globalMap.get("row10.FirstName") + "</urn:First_Name>
<urn:Impact> </urn:Impact>
</urn:HelpDesk_Submit_Service>
</soapenv:Body>
</soapenv:Envelope>"
全局变量row10.FirstName
来自tFlowToIterate
,默认情况下,该变量为每个传入行的列创建一个名为rowX.Column
的全局变量,您可以在组件设置中重命名该变量。
您还可以将tESBConsumer
与tXMLMap
一起使用来构造您的消息。