这么做可能是个愚蠢的错误。但我试图通过java将一张jpeg照片加载到ldap,并面临一些小问题。
目前,在mule-3中,我们使用invoke java并将其存储在ldap中,当我们从ldap下载时,就会得到实际的映像。这就是它的存储方式

下面是高级java代码

在Mule-4中,没有事件上下文,java模块本身也发生了更改。因此,我正在使用类似的java程序,并试图加载到ldap。它正在加载,但当我下载它时,它不是一个图像。
这就是它在ldap中存储的方式,一些额外的内容在开始时似乎是这样的。下面是我的java代码


%dw 2.0
import java!imaging::UploadPhotoToAD
import * from dw::core::Binaries
import * from dw::core::Numbers
output application/java
---
UploadPhotoToAD::updateEntry(ldap.image as Binary, ldap.userDN, ldap.usersDN, ldap.url, ldap.authDN, ldap.authPassword)如果你不知道这里遗漏了什么或者其他什么,都需要改变。
发布于 2022-01-25 03:16:07
问题是将字符串用于二进制文件。由于在二进制文件中使用String,所以您在https://stackoverflow.com/a/6544206/721855上遇到了同样的问题。您不应该在读取或处理图像的任何点使用String。在流中也没有在Java中。
在流中尝试使用as Binary {class: "byte[]"}强制-已经-二进制为字节数组,并将ba的类型也设置为字节数组(byte[])。
我不确定在文件以ldap.image结尾之前读取的文件会发生什么情况,所以请确保它没有以任何方式进行转换,甚至在表达式中也是如此。记住,在Mule 4中,表达式是DataWeave转换。
https://stackoverflow.com/questions/70842149
复制相似问题