使用来自调用中介的丰富响应有效负载

时间:2018-06-08 11:47:11

标签: wso2 wso2esb orchestration

我通过我的WSO2 ESB配置语言呼叫中介呼叫微服务, 然后我将请求传递给富集调解员,然后我登录并使用响应调解员。

我遇到的问题是,我甚至看不到微服务返回的有效负载,尽管我的微服务表明它已被调用并返回响应有效负载而没有任何错误。其次,当我运行它时,我的序列会抛出一个错误。我的错误如下。

  

JsonUtil #writeAsJson。 Payload无法写为JSON。消息ID:urn:uuid:fe8d8ec5-473e-43c0-bc98-22a7211e2d86   [2018-06-08 12:30:26,209] []错误 - 写入application / json时发生JsonStreamFormatter错误   java.lang.reflect.InvocationTargetException

以下是我的序列。

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="balanceEnquirySeq" trace="disable"
 xmlns="http://ws.apache.org/ns/synapse">
 <property expression="json-eval($.)" name="data_request"
  scope="default" type="STRING" />
 <log level="custom">
  <property expression="json-eval($.)" name="in_request" />
 </log>
 <switch source="json-eval($.agentInstitutionCode)">
  <case regex="001">
   <payloadFactory media-type="json">
     <format>{


 "channel": "",
 "type": "",
 "customerId": $1,
 "customerIdType": "",
 "submissionTime": "",
 "reqTranId": $2,
 "passcode": ""

 }
</format>
<args>
 <arg evaluator="json" expression="$.agentAccountNumber" />
 <arg evaluator="json" expression="$.requestID" />
</args>
   </payloadFactory>
   <log level="custom">
    <property expression="json-eval($.)" name="CHANGED_REQUEST" />
   </log>
   <property name="messageType" scope="default" type="STRING"
    value="application/json" />
     <call >
     <endpoint>
       <http method="post" uri-template="http://127.0.0.1:8080/stanbic/dobalenquiry" />
    </endpoint>
   </call>
  <enrich>
  <source type="body" clone="true" />
  <target type="property" action="child" property="org_type" />

   </enrich>
   <log level="full"/>
   <respond />
 </case>
</switch>
</sequence>

1 个答案:

答案 0 :(得分:0)

If i put the payload in a JSON validator I get an error

如果我使用json验证器,只是将payloadFactory的内容放在那里,那么如果属性为空,我在第3行和第7行会收到错误。 尝试:

 "channel": "",
 "type": "",
 "customerId": "$1",
 "customerIdType": "",
 "submissionTime": "",
 "reqTranId": "$2",
 "passcode": ""

看看是否有帮助。