2016-06-02 17 views
0

Ich benutze Mule 3.8, um einige JSON-Daten zu bekommen, die ich zu Java und dann zu XML-Dateien umwandele. Alles funktioniert, bis meine Datei-Endpunkt, wo alles in einer Katastrophe endet:Mule - Objekt zu XML mit JAXB

Message    : Could not find a transformer to transform 
"SimpleDataType{type=java.io.ByteArrayOutputStream, mimeType='text/xml', 
encoding='null'}" to "SimpleDataType{type=java.io.InputStream, 
mimeType='*/*', encoding='null'}". 

Payload    : <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Header ....></Header> 
Payload Type   : java.io.ByteArrayOutputStream 

..und alles, was ich bekommen ist Dutzende von leeren .xml-Dateien ..

Ich denke, irgendwie habe ich meine Nutzlast etwas tranform Die Dateikomponente könnte tatsächlich in eine Datei umgewandelt werden, oder muss ich das manuell in einer Java-Komponente tun?

Grüße

EDIT - vergessen Sie die config

<flow name="Product"> 
    <file:inbound-endpoint path="C:\temp\fileIn" responseTimeout="10000" doc:name="File"/> 
    <logger message="#[payload != null]" level="INFO" doc:name="Logger"/> 
    <json:json-to-object-transformer returnClass="java.util.List" encoding="UTF-8" doc:name="JSON to ObjectList"/> 
    <collection-splitter doc:name="Collection Splitter"/> 
    <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
    <custom-transformer returnClass="se.131.Product.Header" encoding="UTF-8" class="se.131.Tranformer.Map2Product" doc:name="MapToProduct" mimeType="application/xml"/> 
    <mulexml:jaxb-object-to-xml-transformer name="myMarshaller" jaxbContext-ref="JAXB_Context" doc:name="JAXB Object to XML" encoding="UTF-8" mimeType="application/xml"/> 
    <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
    <file:outbound-endpoint path="C:\temp\fileOut" responseTimeout="10000" doc:name="File" outputPattern="Product-#[function:dateStamp].xml" mimeType="text/xml"/> 
    <catch-exception-strategy doc:name="Catch Exception Strategy"> 
     <logger message="Oh no!!" level="INFO" doc:name="Logger"/> 
    </catch-exception-strategy> 
</flow> 
+0

posten Sie bitte die Flusskonfiguration xml. – AnupamBhusari

+0

Versuchen Sie, '' kurz vor dem ausgehenden Dateiendpunkt zu platzieren und prüfen Sie ... was bekommen Sie jetzt? –

+0

So einfach ist das. Riesiges Dankeschön, wenn du das als Antwort postest, werde ich dir gerne Anerkennung dafür geben. – elwis

Antwort

1

mit Versuchen <object-to-string-transformer> kurz vor Datei-Outbound-Endpunkt platzieren und prüfen ... die Datei Endpunkt erwarten String-Format der Nutzlast um die Datei zu erstellen