返回oracle服务总线错误代码

1 oracle service bus osb

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

现在,在我的WebService中,我会根据一些逻辑处理引发错误400、406、403等,但OSB始终会引发错误500。

有一种方法可以使OSB转发包含错误代码的简单答案?

谢谢。

小智 5

将故障处理程序添加到业务服务

data($fault//*:http-response-code)data($fault//*:reason)(或类似的东西)中提取变量

插入:

<http:http-response-code>$response_code_variable</http:http-response-code>
作为
./ctx:transport/ctx:response
In Variable的最后一个孩子–$inbound

插入:

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