【发布时间】:2016-10-06 01:04:17
【问题描述】:
我是 WSO2 ESB 的新手。我需要你的帮助。我通过 DSS 从数据库中获取数据,并通过调用(以块模式)或发送中介将它们发送到休息 Web 服务。我通过迭代调解器将我的记录拆分为 ESB 中的单个消息,并将迭代调解器属性设置为 ture,然后将日期作为参数发送到我的 API。我可以在日志中看到迭代调解器将记录拆分为单个消息并将它们正确放入我的 html 端点。 但是在调用我的端点后,我在 ESB 中得到了“读取超时响应”。如果我不使用迭代调解器并将参数直接放在属性中作为测试并将它们发送到我的休息 API,它工作正常。但是当我使用 Iterate 调解器从 DSS 获取参数并将它们发送到 API 时,它面临超时错误。 我检查了日志调解器以查看发生了什么,错误无法通过邮件发送到我的端点并读取超时。我从 ESB 日志中复制了我的端点的 URL,并尝试通过 SoapUI 调用它,它工作正常,没有任何超时问题。
我的 api 是 civicrm api:我的 Api 参数已定义:
contact_type={uri.var.contact_type}
first_name={uri.var.first_name}
last_name={uri.var.last_name}
我通过阻塞模式为调用 API 使用调用中介器为 true。 我从 DSS 发送了 first_name、last_name、contact_type:
<Submissions>
<Submission>
<contact_type>Individual</contact_type>
<first_name>Testname</first_name>
<last_name>TestFamily</last_name>
</Submission>
</Submissions>
在迭代中介后,我放了日志中介,可以看到上面的值。 调用端点后,我收到此错误: http://localhost/CIVICRM/sites/all/modules/civicrm/extern/rest.php?entity=Contact&action=create&key=1111&user=test&pass=passsss&api_key=1111111111&version=3&contact_type=Individual&first_name=Testname&last_name=TestFamily,MessageID:urn:uuid:daa47ef5-1f7a-4f2c-9372-ba17f0e282ee,方向:响应,MESSAGE = 执行默认的“故障”序列,ERROR_CODE = 401000,ERROR_MESSAGE = 读取超时
当我将此端点放在 SoapUI 中时,它可以工作。 当我不使用DSS并直接按顺序迭代调解器和Put参数时,它可以工作。
感谢您的帮助。谢谢
【问题讨论】: