Мулы выравнивают массивы с одним из массивов как ноль - PullRequest
0 голосов
/ 27 октября 2018

Я изучаю mule4 и, пробуя сборку разброса, столкнулся с проблемой.

В задаче сбора разброса 3 потока, 2 из которых возвращают действительную полезную нагрузку с данными, но третийПоток возвращает пустую полезную нагрузку.

, поэтому, когда я пытаюсь сгладить эти 3 результата, я сталкиваюсь с проблемой нулевого указателя.Я не могу найти способ справиться с этим.Кто-нибудь может помочь, пожалуйста.

Мое выражение dataweave, как показано ниже

%dw 2.0
output application/java
---
flatten(payload..payload) 

logs

ERROR 2018-10-27 07:10:00,249 [[MuleRuntime].cpuLight.06: [apdev-flights-ws].getAllFlightsFlow.CPU_LITE @5abc6c4c] [event: ] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler: 
********************************************************************************
Message               : "Unexpected end-of-input at payload@[1:1] (line:column), expected false or true or null or {...} or [...] or number but was , while reading `payload`as Json.

1| 
   ^" evaluating expression: "%dw 2.0
output application/java
---
flatten(payload..payload) ".
Error type            : MULE:EXPRESSION
Element               : getAllFlightsFlow/processors/2 @ apdev-flights-ws:implementation.xml:102 (Flatten)
Element XML           : <ee:transform doc:name="Flatten" doc:id="46245fd1-5ebd-4b16-b83e-31ea4dbb53e8">
<ee:message>
<ee:set-payload>%dw 2.0
output application/java
---
flatten(payload..payload)</ee:set-payload>
</ee:message>
</ee:transform>

  (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

INFO  2018-10-27 07:10:00,323 [[MuleRuntime].cpuLight.06: [apdev-flights-ws].getAllFlightsFlow.CPU_LITE @5abc6c4c] [event: ] org.mule.runtime.core.internal.context.notification.Policy: NotificationListener com.mulesoft.mule.debugger.server.DebuggerPipelineMessageNotificationListener@20d9c50f was unable to fire notification PipelineMessageNotification{action=pipeline process complete, resourceId=getAllFlightsFlow, serverId=de-PC..apdev-flights-ws, timestamp=1540604400323} due to an exception: java.lang.NullPointerException.

1 Ответ

0 голосов
/ 28 октября 2018

Я полагаю, что это payload..payload вызов, который запутывает вас.Если вы хотите сгладить полезную нагрузку, она должна быть просто:

%dw 2.0
output application/java
---    
flatten(payload)
...