конвертировать base64 в byte [], используя Dataweave в Mule 4 - PullRequest
2 голосов
/ 19 апреля 2020

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

Но при отправке той же полезной нагрузки в NetSuite, что и содержимое файла, выдается ошибка. Отправка как: запись (fromBase64 (a cc .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 в байт []?

1 Ответ

5 голосов
/ 19 апреля 2020

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

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