WSO2DSS

时间:2016-10-14 09:41:25

标签: wso2 wso2esb wso2dss

我正在使用Wso2 DSS并从oracle数据库构建RESTful Web服务,并尝试在没有使用无效参数找到或调用记录的情况下返回自定义错误消息。 我还想控制这些错误响应的HTTP返回码。

例如。假设有一个web服务:/ getemployee / {empno}以JSON / XML格式返回员工详细信息。

如果我使用在DB中不存在的empno调用getemployee,那么

  1. 我希望响应类似于下面的内容

    <Error>

    <Error_code>No employee found </Error_code>

    </Error>

  2. 它不应该具有正常的员工详细信息消息结构,该结构将在找到员工时作为响应。 目前,如果基础查询找不到记录,DSS只返回带有根元素的空消息。

    1. 此响应的HTTP返回码应为404,而不是成功码200。 默认情况下,所有响应都在DSS中获得HTTP返回码200。
    2. 这只是使用DSS吗?

      感谢您的帮助

1 个答案:

答案 0 :(得分:0)

你需要WSO2 ESB来做到这一点。您可以在ESB中创建一个代理服务,该服务将调用DSS,然后根据其内容和需求为您转换响应。您可以使用XSLT执行此操作。

您可以使用属性HTTP_SC手动设置所需的HTTP返回码:

<property name="HTTP_SC" scope="axis2" type="STRING" value="404"/>

如果您知道将接收的内容并且输出将是静态输出,您也可以使用开关和有效负载工厂。