返回oracle服务总线错误代码

时间:2017-01-27 14:09:33

标签: oracle service osb bus

我在Oracle Service Bus 11G中为Web服务创建代理。收到请求后,当响应为200时,一切正常,OSB返回相同的200个代码。

现在,在我的WebService中,我根据某些逻辑处理引发错误400,406,403等,但OSB总是引发错误500.

有一种方法可以让OSB转发包括错误代码在内的简单答案吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

向业务服务添加故障处理程序

data($fault//*:http-response-code)data($fault//*:reason)(或类似的

)中提取变量

插入:

<http:http-response-code>$response_code_variable</http:http-response-code>
 作为最后一个孩子  ./ctx:transport/ctx:response
在变量 - $inbound

插入:

<tp:response-message>$response_reason_variable</tp:response-message>
./ctx:transport/ctx:response/ctx:response-code
在变量 - $inbound