【问题标题】:WSO2 HTTP ResponseWSO2 HTTP 响应
【发布时间】:2017-11-14 20:19:23
【问题描述】:

我正在使用 WSO2 发送休息请求,这是我能够做到的。但是在将响应发送给客户端之前,我想有一些逻辑。 Backend Rest 服务返回“Successful”作为响应字符串。我有一个用于执行此操作的 Java 代码,我想在 WSO2 中使用相同的逻辑。逻辑很简单 1. 如果 HTTP 状态大于 eq 到 200 且小于 300 并且 resonseStr.equalsIgnoreCase("Successful") THEN 返回“RetCode=C;消息=成功” 别的 return "RetCode=F;Message=Failed because Itegration Exception";

responseStr 是来自后端休息服务的响应。 我的 API 如下所示:

    <api xmlns="http://ws.apache.org/ns/synapse" name="TririgaApi" context="/tririga">
       <resource methods="GET" url-mapping="/employee">
          <inSequence>
             <sequence key="conf:/tririgaConf"/>
             <property name="POST_TO_URI" value="true" scope="axis2"/>
             <send>
                <endpoint>
                   <http trace="enable" method="GET" uri-template="http://{uri.var.service.host}:{uri.var.service.port}/html/en/default/rest/Integration?USERNAME={uri.var.service.user}&amp;PASSWORD={uri.var.service.pass}&amp;ioName={uri.var.wfname}"/>
                </endpoint>
             </send>
          </inSequence>
       </resource>
</api>

谢谢

【问题讨论】:

    标签: rest wso2 wso2esb


    【解决方案1】:

    向您的 api 添加一个 outSequence 并在其中实现您的中介

    您可以使用 $axis2:HTTP_SC 访问 http 状态码

    您可以使用过滤器中介测试它的值

    您可以使用 payloadFactory 中介创建消息

    【讨论】:

    • 谢谢Jean,但我对WSO2还是很陌生,有没有我用过的例子,看看。
    • 我尝试添加 outSequence,但我不断收到异常:[2016-04-22 13:25:54,273] 错误 - 构建 Passthrough 流时 RelayUtils 错误 org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException:序言中出现意外字符“S”(代码 83); [row,col {unknown-source}] 处的预期 'org.apache.synapse/xsd" name="Status" expression="get-property( 'HTTP_SC')"/>
    • 当您尝试添加 outSequence(来自 WSO2 Web 控制台)或在运行时收到来自服务“Integration”的响应时,您会收到此异常?
    • 嗨,Jean,感谢您的回复,添加 outSequence 后出现此错误。并调用服务(通过)浏览器。
    • 在 ESB 和您的端点之间使用 tcpmon (ESB_HOME/bin) 并查看您的服务响应:负载和内容类型似乎不一致(ESB 找到 text/xml 并尝试在接收 JSON 时解码 XML)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多