0

我正在做一个对象到字符串的转换,但是当我这样做时,会在字符串的开头添加一个额外的问号。

下面是我的流程代码

<flow name="jatoSmartWriteFromFTP" doc:name="jatoSmartWriteFromFTP" processingStrategy="synchronous"> 
        <ftp:inbound-endpoint host="delvmpllreap03.sapient.com" port="21" path="/home/jatopoc" user="jatopoc" password="jatopoc" responseTimeout="10000" doc:name="FTP" mimeType="text/xml"> 
            <file:filename-wildcard-filter pattern="filter_data.xml"></file:filename-wildcard-filter>  
        </ftp:inbound-endpoint>  
        <logger message="#[message.payload]" level="INFO" doc:name="Logger"></logger>
        <object-to-string-transformer doc:name="Object to String" mimeType="text/xml"/>      
        <mulexml:jaxb-xml-to-object-transformer name="XmlToPerson" jaxbContext-ref="jatoJaxbContext" returnClass="com.jato.speedwing.common.vo.JATOXML"/>  
        <component doc:name="Java"> 
           <method-entry-point-resolver> 
                <include-entry-point method="insert"></include-entry-point>  
            </method-entry-point-resolver>
            <spring-object bean="jatoDAO"> </spring-object>  
        </component>
        <jms:outbound-endpoint topic="com.jato.smart.updateInfo" connector-ref="VM_Active_MQ" doc:name="JMS"/>
    </flow>

下面是我在 ftp 的 xml 文件内容

<?xml version="1.0" encoding="UTF-8"?>
<code>
data
</code>

下面是做对象到字符串转换器后的字符串输出

 ?<?xml version="1.0" encoding="UTF-8"?>
     <code>
      data
     </code>

现在由于这个额外的问号,我的 jaxb-xml-to-object 转换器无法正常工作.. 任何人都可以建议我在这里做什么。因为我的任务是从 ftp 读取 xml 文件 > 将该文件内容转换为 jaxb 对象(因为文件内容是 xml 数据)。

4

1 回答 1

0

在 Object->String 组件上放置一个调试断点。调试您的应用程序并准确确定您要求转换为字符串 (mimeType=text/XML) 的内容。Mule 正在解释给定对象中的某些内容,并以某种方式产生问号。有些人在 XML 文档声明之前看到了三个问号以及其他字符组合。3 个问号代表一个字节顺序标记 (BOM),它是一个处理字节序和字节顺序的特殊 UNICODE 字符。您的情况也可能与字符编码有关。调试流程并识别传入对象。了解操作及其参数。

于 2016-06-14T17:28:33.193 回答