我有一个由tomcat服务器提供的Content-Type = application / json的rest API。 这意味着所有响应都应该采用json格式。
WSO2 ESB调用其余API来传递一些数据。
如果提供其余API的应用程序已关闭(但tomcat服务器仍处于运行状态),则tomcat服务器将使用Content-Type = text / html重新发送http代码= 404(发送HTML页面“请求的资源不可用。“)导致ESB错误的原因是”构建消息时出错“异常,ESB崩溃并丢失消息。
您能否建议如何处理这种情况?我需要收到消息并对此事件作出反应。有没有办法如何动态切换内容类型?
答案 0 :(得分:0)
你可以自己修改一下吗?
<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="fault_filter_based_http_status_code" trace="disable">
<filter regex="401" source="get-property('axis2', 'HTTP_SC')">
<then>
<makefault version="soap11">
<code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:Server"/>
<reason value="Unauthorized to access the resource"/>
<role/>
</makefault>
<send/>
</then>
<else/>
</filter>
<filter regex="500" source="get-property('axis2', 'HTTP_SC')">
<then>
<makefault version="soap11">
<code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:Server"/>
<reason value="Internal Server Error Occurred"/>
<role/>
</makefault>
<send/>
</then>
<else/>
</filter>
</sequence>
看看:http://harshcreationz.blogspot.com/2016/02/common-and-error-handling-sequences.html