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

Reply via email to