终点响应中的不同内容类型

时间:2017-10-06 20:24:36

标签: rest tomcat wso2esb

我有一个由tomcat服务器提供的Content-Type = application / json的rest API。 这意味着所有响应都应该采用json格式。

WSO2 ESB调用其余API来传递一些数据。

如果提供其余API的应用程序已关闭(但tomcat服务器仍处于运行状态),则tomcat服务器将使用Content-Type = text / html重新发送http代码= 404(发送HTML页面“请求的资源不可用。“)导致ESB错误的原因是”构建消息时出错“异常,ESB崩溃并丢失消息。

您能否建议如何处理这种情况?我需要收到消息并对此事件作出反应。有没有办法如何动态切换内容类型?

1 个答案:

答案 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