我正在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