Hi Mike, In fact, it depends on the binding component. The binding components are responsible of the communication between the NMR (the container message backbone) and the environment.
All binding components use a marshaler to transform the "external" message format into the normalized message format. The normalized message transports message payload into a content attribute. Let me take an example. I have a servicemix-file binding component. I define a servicemix-file polling endpoint that periodically read file into a directory. By default, servicemix-file marshaler expects XML content in the files, read it and send directly into the normalized message content. If I need to manage other file content, I need to use the BinaryMarshaler. Now, the target endpoint of my servicemix-file one is a servicemix-exec endpoint. The servicemix-exec endpoint expects a incoming normalized message with a XML content (representing an ExecRequest as describe in the documentation). If the files contain XML representing an ExecRequest (compliant with the servicemix-exec WSDL), you can poll it directly and send without transformation. But it the files don't contain a "valid" XML for the servicemix-exec, you need to add a transformation endpoint between (using camel or servicemix-exec) or define your own marshaler. By the way, managing binary format or flat format (CSV, etc) is the same: you need to transform the format into a XML content compliant with the target endpoint. I hope I'm clear :) Regards JB guhaiquan wrote: > > hi, I am new to Apache ServiceMix. I ask a stupid question: When > service system communicates with Apache ServiceMix, Does the message > must be XML format, even in Files compments. > > Thanks in advance! > > regards. > > mike gu > > _________________________________________________________________ > Messenger安全保护中心,免费修复系统漏洞,保护Messenger安全! > http://im.live.cn/safe/ -- Jean-Baptiste Onofré (Nanthrax) BuildProcess/AutoDeploy Project Leader http://buildprocess.sourceforge.net j...@nanthrax.net PGP : 17D4F086