Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Mule从CE-3.5升级到3.7.0会中断文件编码_Java_Character Encoding_Mule - Fatal编程技术网

Java 将Mule从CE-3.5升级到3.7.0会中断文件编码

Java 将Mule从CE-3.5升级到3.7.0会中断文件编码,java,character-encoding,mule,Java,Character Encoding,Mule,流量: 所以我不得不改变这一点: Message : Cannot apply transformer FileToByteArray{this=74dda694, name='FileToByteArray', ignoreBadInput=false, returnClass=SimpleDataType{type=[B, mimeType='*/*', encoding='UTF-16LE'}, sourceTypes=[SimpleDataType{type=

流量:

所以我不得不改变这一点:

Message               : Cannot apply transformer FileToByteArray{this=74dda694, name='FileToByteArray', ignoreBadInput=false, returnClass=SimpleDataType{type=[B, mimeType='*/*', encoding='UTF-16LE'}, sourceTypes=[SimpleDataType{type=java.io.File, mimeType='*/*', encoding='null'}, SimpleDataType{type=java.io.FileInputStream, mimeType='*/*', encoding='null'}]} on source payload: class org.mule.transport.sftp.SftpInputStream (java.lang.IllegalArgumentException). Message payload is of type: SftpInputStream
Code                  : MULE_ERROR--2
与此相反(使用3.5.0):

在移动文件的最终版本中。这些不是空格字符,而是不可见字符(我假设是因为UTF16是一个双字节字符集)


有什么想法吗?建议?

我最终创建了一个自定义groovy脚本来进行转换,并将其放在入站端点之后

This is a test file.


groovy脚本接收InputStream并输出转换后的文件。

我最终创建了一个自定义groovy脚本来进行转换,并将其放在入站端点之后

This is a test file.


groovy脚本接收InputStream并输出转换后的文件。

为什么需要更改转换器?我看到文件到字节数组转换器在3.7.0中可用。@afelisatti当我刚刚更新版本号时,我开始得到一个关于它的异常。我将用这些信息更新主要帖子。我认为文件到字节数组转换器存在错误,因为它与对象到字节数组转换器冲突。您是否尝试过避免使用2个转换器,而只是使用一个对象来字符串转换器?我尝试了
这两种方法都会导致相同的问题。3.5.0中似乎没有使用
编码
属性,所以问题可能是没有实际使用这些编码().为什么需要更换变压器?我看到文件到字节数组转换器在3.7.0中可用。@afelisatti当我刚刚更新版本号时,我开始得到一个关于它的异常。我将用这些信息更新主要帖子。我认为文件到字节数组转换器存在错误,因为它与对象到字节数组转换器冲突。您是否尝试过避免使用2个转换器,而只是使用一个对象来字符串转换器?我尝试了
这两种方法都会导致相同的问题。3.5.0中似乎没有使用
编码
属性,所以问题可能是没有实际使用这些编码()。
T h i s   i s   a   t e s t   f i l e . 
This is a test file.
<sftp:inbound-endpoint
    connector-ref="sftpServer"
    host="${sftp.host}"
    port="${sftp.port}"
    path="${sftp.path}"
    user="${sftp.user}"
    password="${sftp.password}"
    responseTimeout="${standard.response.timeout.millis}"
    sizeCheckWaitTime="${sftp.sizeCheckWaitTime.millis}"
    pollingFrequency="${sftp.polling.frequency.millis}"
    autoDelete="false"
    encoding="UTF-16LE"
    doc:name="SFTPEndpoint">
    <file:filename-wildcard-filter pattern="${sftp.filename}" />
</sftp:inbound-endpoint>

<scripting:transformer doc:name="Convert File Encoding">
  <scripting:script engine="Groovy" file="encodingConverter.groovy" />
</scripting:transformer>

<!-- Do flow stuff here -->