используя обогащенную полезную нагрузку ответа от посредника вызова - PullRequest
0 голосов
/ 08 июня 2018

Я звоню в микросервис через моего посредника по языку WSO2 ESB Config Language, затем я передаю запрос в обогащающий посредник, а затем регистрирую и использую ответный посредник.

У меня возникла проблемачто я даже не вижу полезную нагрузку, возвращаемую микросервисом, хотя мой микросервис указывает, что он был вызван и возвратил полезную нагрузку ответа без каких-либо ошибок.Во-вторых, моя последовательность выдает ошибку при запуске.Моя ошибка ниже.

JsonUtil #writeAsJson.Полезная нагрузка не может быть записана как JSON.MessageID: urn: uuid: fe8d8ec5-473e-43c0-bc98-22a7211e2d86 [2018-06-08 12: 30: 26,209] [] ОШИБКА - JsonStreamFormatter Произошла ошибка при записи в application / json 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 голосов
/ 12 июня 2018

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": ""

Чтобы увидеть, помогает ли это.

...