This should works now. FYI, the first mime part will be used as the
xml payload content, so that you will need to send a valid xml in it
(event some dummy xml).
Cheers,
Guillaume Nodet
On 3/22/06, Stefan Klinger <[EMAIL PROTECTED]> wrote:
> Thanks for the reply Guillaume.
>
> It would be great (for me) if the other multipart contents were
> supported as part of SM as well.
>
> Thanks again and keep up the good work!
> Stefan
>
> Guillaume Nodet wrote:
>
> >Currently, only multipart/related mime type (RFC2387) is supported.
> >Other multipart contents are not supported :(
> >This includes
> > * multipart/mixed (RFC1521)
> > * multipart/formdata (RFC1867)
> >
> >I'm trying to see if it is possible to support them.
> >
> >Cheers,
> >Guillaume Nodet
> >
> >On 3/22/06, Stefan Klinger <[EMAIL PROTECTED]> wrote:
> >
> >
> >>Thanks Guillaume,
> >>
> >>I have tried using the HttpComponent, but it threw an exception in the
> >>DeliveryChannel and ReceiverComponent. My client code is the following:
> >>
> >> File f = new File("some_file.txt");
> >> PostMethod filePost = new
> >>PostMethod("http://localhost:8192/Service/");
> >> Part[] parts = { new StringPart("param_name", "value"),
> >> new FilePart(f.getName(), f) };
> >> filePost.setRequestEntity(
> >> new MultipartRequestEntity(parts, filePost.getParams()) );
> >> HttpClient client = new HttpClient();
> >> int status = client.executeMethod(filePost);
> >> filePost.releaseConnection();
> >>
> >>and my XmlBeans configuration file is the following
> >>
> >> <sm:activationSpec>
> >> <sm:component>
> >> <http:component>
> >> <http:endpoints>
> >> <http:endpoint service="test:MyConsumerService"
> >> endpoint="myConsumer"
> >> role="consumer"
> >>
> >>locationURI="http://localhost:8192/Service/"
> >>
> >>defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
> >> </http:endpoints>
> >> </http:component>
> >> </sm:component>
> >> </sm:activationSpec>
> >>
> >> <sm:activationSpec service="test:MyConsumerService"
> >>endpoint="myConsumer">
> >> <sm:component>
> >> <bean class="org.apache.servicemix.tck.ReceiverComponent" />
> >> </sm:component>
> >> </sm:activationSpec>
> >>
> >>and I get the following exceptions
> >>
> >>[edThreadPool0-1] DEBUG DeliveryChannel - Unable to
> >>display message
> >>org.xml.sax.SAXParseException: Content is not allowed in prolog.
> >> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> >> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
> >> at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:123)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:221)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:136)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:275)
> >> at
> >>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.traceMessageExchange(DeliveryChannelImpl.java:297)
> >> at
> >>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:388)
> >> at
> >>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:490)
> >> at
> >>org.apache.servicemix.common.BaseLifeCycle.sendConsumerExchange(BaseLifeCycle.java:389)
> >> at
> >>org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:131)
> >> at
> >>org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:70)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> >>
> >>SEVERE: [EMAIL PROTECTED] got
> >>error processing [EMAIL PROTECTED]
> >>javax.jbi.messaging.MessagingException: org.xml.sax.SAXParseException:
> >>Content is not allowed in prolog.
> >> at
> >>org.apache.servicemix.components.util.CopyTransformer.transform(CopyTransformer.java:80)
> >> at
> >>org.apache.servicemix.tck.ReceiverComponent.onMessageExchange(ReceiverComponent.java:47)
> >> at
> >>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:636)
> >> at
> >>org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:171)
> >> at
> >>org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:221)
> >> at
> >>org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
> >> at
> >>EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
> >> at java.lang.Thread.run(Thread.java:595)
> >>Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
> >> at
> >>com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264)
> >> at
> >>com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
> >> at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:123)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:221)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:136)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:275)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:302)
> >> at
> >>org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:144)
> >> at
> >>org.apache.servicemix.components.util.CopyTransformer.transform(CopyTransformer.java:68)
> >> ... 7 more
> >>
> >>Thanks,
> >>Stefan
> >>
> >>Guillaume Nodet wrote:
> >>
> >>
> >>
> >>>The servicemix-http component handles MIME attachments.
> >>>You should give it a try.
> >>>
> >>>Cheers,
> >>>Guillaume Nodet
> >>>
> >>>On 3/22/06, Stefan Klinger <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Hello all,
> >>>>
> >>>>I am trying to include a file upload facility using http within my
> >>>>project. Unfortunately, my file is not an xml document, so it should be
> >>>>treated as an attachment. If I am correct, the HttpMarshaler only
> >>>>accepts xml documents which are set to the message content. Would there
> >>>>be a way to accept non-xml files and set them as message attachments
> >>>>(similar to the SaajMarshaler)? Or is there another, more elegant way of
> >>>>doing this?
> >>>>
> >>>>Thanks,
> >>>>Stefan
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>
> >>
>
>