在wso2 ESB中使用Iterate中介程序按顺序调用Restful API时获取读取超时

梅尔诺什(Mehrnoosh)

我是WSO2 ESB的新手。我需要你的帮助。我通过DSS从数据库中获取数据,然后通过调用将它们发送到其他Web服务中(以块模式)或发送调解器。我通过Iterate中介程序将记录拆分为ESB中的单个消息,并将Iterate中介程序属性设置为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}

我通过阻止模式为true的Call api使用了Call mediator。我从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并依次迭代调解器和直接按参数放置参数时,它会起作用。

我感谢您的帮助。谢谢

梅尔诺什(Mehrnoosh)

我已在“发送调解器”之前将Disable-chunking属性设置值添加为true。

 <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>

问题解决了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章