服务链在wso2 esb中返回非法字符

时间:2016-11-22 16:07:44

标签: json rest api wso2 messageformat

我将服务链接到wso2 REST到REST。 这是场景:

  1. 第一个REST API(GET)只生成简单的json
  2. 第二个REST API(PUT)使用第一个rest api结果,并将其生成为json。
  3. 为了实现这一点,我在wso2中制作了一些组件:

    1. REST API

      <?xml version="1.0" encoding="UTF-8"?>
      <sequence name="insertFlightSeq" trace="disable"xmlns="http://ws.apache.org/ns/synapse">
      <payloadFactory media-type="json">
      <format>
          {"hello":"hello"}
      </format>
      <args>
          <arg evaluator="json" expression="$."/>
      </args>
      </payloadFactory>
      
      <property name="HTTP_METHOD" scope="axis2" type="STRING" value="PUT"/>
      <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
      <send receive="sendFlightSeq">
          <endpoint>
              <address format="rest" uri="http://localhost:8084/AeroData/flight/"/>
          </endpoint>
      </send>
      </sequence>
      

    2. 序列以确认第二个休息API(insertFlightSeq)

      <?xml version="1.0" encoding="UTF-8"?>
      <sequence name="sendFlightSeq" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
           <send/>
      </sequence>
      
    3. 输出它的另一个序列

      Caused by: org.codehaus.jackson.JsonParseException: Illegal character
      ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is
      allowed between tokens
      
    4. 但是在wso2日志控制台中,它显示非法字符,第二个API无法接受该字符。

      [0x1f][0x8b][0x8][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0xab]V[0xca]H[0xcd][0xc9][0xc9]W[0xb2][0x82][0xd2][0xb5][0x0][0x92]H[0x81];[0x11][0x0][0x0][0x0][\r][\n]

      这是wso2控制台日志。 它的显示类似{{1}}

      enter image description here

      这是因为像question这样的消息格式化程序吗?

0 个答案:

没有答案