преобразовать base64 в byte [] с помощью Dataweave в Mule 4

Получение вложения PDF из Salesforce в формате base64 с помощью Mulesoft, как показано ниже: toBase64 (полезная нагрузка как двоичная)

Но при отправке той же полезной нагрузки в NetSuite, что и содержимое файла, возникает ошибка. Отправка как: write (fromBase64 (согласно Body as String) как двоичный, «application / octet-stream»)

Ошибка: не удалось преобразовать значение свойства типа org.mule.weave.v2.io.ByteArraySeekableStream в требуемый тип byte [] для свойства content; вложенным исключением является java.lang.IllegalArgumentException: невозможно преобразовать значение типа org.mule.weave.v2.io.ByteArraySeekableStream в требуемый тип byte для свойства content [0]: PropertyEditor [org.springframework.beans. propertyeditors.CustomNumberEditor] вернул несоответствующее значение типа org.mule.weave.v2.io.ByteArraySeekableStream.

Любые идеи, как преобразовать base64 в byte []?


person Learner    schedule 19.04.2020    source источник


Ответы (1)


Вы можете использовать подсказку метаданных class, чтобы модуль java-писателя с переплетением данных знал, что вы хотите, чтобы двоичный файл был представлен как byte []

 output application/java
 ---
 fromBase64(acc.Body as String) as Binary {class: "byte[]"}
person machaval    schedule 19.04.2020