Mule对象为字符串变换器在字符串的开头添加一个额外的问号

时间:2013-11-21 09:15:42

标签: mule mule-studio mule-el

我正在做一个Object to string转换,但是当我这样做时,它会在string的开头添加一个额外的问号。

下面是我的流程代码

<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>

下面是执行object-to-string转换器

之后的字符串输出
 ?<?xml version="1.0" encoding="UTF-8"?>
     <code>
      data
     </code>

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

1 个答案:

答案 0 :(得分:0)

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