发生故障时,Oracle Service Bus会回显Soap请求

时间:2013-11-05 14:10:36

标签: java soap weblogic osb

我遇到soap webservices的问题:当发生故障时,请求会作为响应回显。

请求流程如下:

Html -> OSB#1 -> Java -> OSB#2 -> BackEnd Service

当输入请求没有引起错误时,我得到了预期的结果,一切正常。

相反,当我应该收到错误时,会发生一些奇怪的事情:

  1. 如果我从OSB#2的调试控制台调用该服务,我会收到预期的错误消息。
  2. 如果我从OSB#1(或Html)调用,我会收到Java错误(XMLStreamReaderException),因为OSB#2回应了我作为请求发送的XML。
  3. 我的问题是:这是一个记录在案的行为吗?我怎么能避免它?

    我尝试使用谷歌搜索,但我找不到任何有用的东西。

2 个答案:

答案 0 :(得分:2)

我不确定我应该在哪里提及有关此行为的文档,但我遇到了同样的问题。为了在发生错误时获取SOAP错误,请在所有代理服务中使用:

  1. 错误处理程序添加到服务
  2. 在错误处理程序
  3. 中添加 Stage
  4. 在舞台内添加回复,然后选择带错误选项
  5. 所以流程如下:

    enter image description here

答案 1 :(得分:0)

当您不使用路由节点时,将回显请求。我不是很清楚你是如何调用OSB#2的 - 它是通过你调用的Java代码还是通过Service callout来实现的?