Workday Studio集成报错‘Loop detected in Local In transport’求助
Workday Studio集成报错:Loop detected in Local In transport 排查方案
我是Workday Studio集成新手,需求是提交/过账日记账分录Submit_Accounting_Journal_Request,但运行时出现错误Loop detected in Local In transport。
现有代码示例
<cc:local-out id="CallSubmitJournal" store-message="none" endpoint="vm://INT_Demo_UploadJournalEntries/SubmitJournal"/> <cc:local-in id="SubmitJournal" routes-to="AsyncMediation00"/> <cc:async-mediation id="AsyncMediation00" routes-to="WorkdayOutSoap" handle-downstream-errors="true"> <cc:steps> <cc:copy id="Copy" output="message" input="variable" input-variable="sf.journal.data"/> <cc:log id="Log"> <cc:log-message> <cc:text>Journal Entry Submition Flow Started===></cc:text> <cc:message-content/> </cc:log-message> </cc:log> <cc:xslt-plus id="XsltPlus" url="SubmitJournalEntry.xsl"/> </cc:steps> </cc:async-mediation>
流程示意图

错误原因及解决步骤
这个报错的核心是消息在本地VM传输通道中形成循环,导致消息反复被路由无法正常流向Workday端点。可以从以下几个方向排查:
- 检查VM端点唯一性:确认
vm://INT_Demo_UploadJournalEntries/SubmitJournal这个端点没有被其他cc:local-in或cc:local-out组件重复引用,避免消息被错误路由回触发源。 - 验证AsyncMediation路由配置:确认
AsyncMediation00的routes-to="WorkdayOutSoap"指向的是正确的Workday Web Service端点,没有配置错误导致消息回流到Local In通道。 - 排查错误处理逻辑:由于开启了
handle-downstream-errors="true",需要检查错误处理流程是否将失败消息重新发送到原Local In端点。建议将错误消息导向专门的错误队列或日志存储,而非原传输通道。 - 调整消息存储属性:当前
local-out的store-message="none",可以临时改为store-message="true",通过查看存储的消息内容,确认消息是否被正确发送和处理。 - 检查XSLT转换结果:验证
SubmitJournalEntry.xsl的转换输出是否符合WorkdaySubmit_Accounting_Journal_Request的格式要求。可以在XSLT步骤后新增日志节点,输出转换后的消息内容,排查格式错误导致的下游报错循环。
内容的提问来源于stack exchange,提问作者pradhan
相关产品推荐
相关产品推荐

