2013-05-30 2 views
3

Mule XML 모듈 jaxb-object-to-xml-transformer을 사용하여 내 개체를 XML로 변환하고 있습니다. 그런 다음이 XML은 템플리트를 사용하여 다른 XML에 임베드됩니다.마샬링 중에 XML에서 프롤로그 표시 안 함

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

나는이없이 XML이 필요합니다

은 그러나 여기에서 문제는 XML 변압기에 객체가 프롤로그와 함께 XML 출력을주고있다. 그래서 그것은 문제없이 다른 템플릿에 임베드 될 수 있습니다.

<flow name="main.flow"> 
    .... 
    .... 
    <mule-xml:jaxb-object-to-xml-transformer name="obj2xml" jaxbContext-ref="myJaxbContext" returnClass="java.lang.String" /> 
    <custom-transformer ..... > 
    .... 
    .... 
</flow> 

일반 JAXB에는이를 수행하는 방법이 있습니다. 그러나 Mule XML 모듈에서이 작업을 수행 할 수있는 속성을 찾을 수 없었습니다. 이 동작을 수행 할 수있는 속성이 있는지 알려주십시오.

답변

2

설명서에 JAXB 변환을 가로채는 메시지가 표시됩니다 (http://www.mulesoft.org/documentation/display/current/JAXB+Bindings 참조). 다음 예제는 해당 설명서에서 가져온 것입니다.

@Transformer(sourceTypes = {String.class, InputStream.class}) 
public Person toPerson(Document doc, JAXBContext context) throws JAXBException 
{ 
    return (Person) context.createUnmarshaller().unmarshal(doc); 
} 

마샬링을 위해 수행 할 수있는 작업이 있다고 가정하면 필요한 JAXB 속성을 설정할 수 있습니다.

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); 
+1

답변 해 주셔서 감사합니다. 나는 이것이 사용자 정의 변압기임을 알 수 있었다. 나는 이것을 할 수있는 현재의 뮬 변압기에서 어떤 종류 또는 속성 (속성)을 찾고있다. – user1760178