You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Guillaume Nodet <gn...@gmail.com> on 2006/01/17 14:02:33 UTC

Re: JBI components, message flow...

You can use the servicemix-lwcontainer to deploy your xslt stylesheet as 
a service unit.
The easiest way would be to the the xslt transformer with an in-out mep 
(you will have to modify it so that it can send the pdf as an 
attachment) so that you can decouple your xslt transformer from the 
target endpoint. To route things, you can use the 
org.apache.servicemix.components.util.ChainedComponent and configure it 
so that it would first use the transformer, then the email component. 
Note that you will have to write your own MimeMailMarshaler, as the 
current one can not handle attachments (yet).

Cheers,
Guillaume Nodet

Simon Čarni wrote:

>Hi all,
>
>I would like to set up following scenario:
>
>JBI binding component (HTTP or JMS) receives XML document containing two
>sections: first is XML data to be transformed to PDF and seconds holds email
>recepient data. Binding component then  forwards the document to SE
>component that transforms XML to PDF (using XSLT). Pdf binary content and
>metadata is the passed to component that sends mail with pdf attachment. Is
>such scenario possible with standard JBI components?
>
>I'm planing to start with something like this:
>http BC -- > XSLT SE --> Mail SE (or BC?)
>                    |
>JMS BC -->
>
>Setup wsdl for http binding component (similar for JMS)
>
><?xml version='1.0' encoding='UTF-8'?>
><definitions name='Provider'
>          targetNamespace='http://http.servicemix.org/Test'
>          xmlns:tns='http://http.servicemix.org/Test'
>             xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
>             xmlns='http://schemas.xmlsoap.org/wsdl/'
>    xmlns:jbi='http://servicemix.org/wsdl/jbi/'>
>
>   <portType name='ConsumerInterface'>
>   </portType>
>
>   <binding name='ConsumerHttpBinding' type='tns:ConsumerInterface'>
>  <http:binding verb="GET"></http:binding>
>   </binding>
>
>   <service name='XSLTService'>
>      <port name='TestEndpoint' binding='ConsumerHttpBinding' >
>   <http:address location="http://localhost:8192/InOnly">
>   </http:address>
>   <jbi:endpoint role="consumer" defaultMep='in-only'/>
>      </port>
>   </service>
>
>  </definitions>
>
>Then the fun begins:
>I create XSLT component. I knoe it should have service defined like
>QName("http://http.servicemix.org/Test", "XSLTService").
>Can I use lw XSLT component and deploy it to lwcontainer component as SU?
>Or should I use jsr181 component and let a POJO perfrom transformation?
>Same goes for Email component.
>How should I specify that XSLT component "forwards" message to Email
>component? Should that be done in Service Assembly using connection
>elements?
>Maybe those questions sound funny to you but I'm a beginner so...
>Thanks in advance!
>Cheers,
>Simon
>
>  
>

Re: JBI components, message flow...

Posted by Simon Čarni <si...@gmail.com>.
Thanks Guillaume!
Still I have some opened issues regarding routing. The spec in section
6.2.3.2 speaks about composite deployment. If I understand it correctly
it says that message flow (figure 22) can be orchestrated in Service
Assembly jbi.xml. Can this be done in ServiceMix?
Cheers,
Simon



2006/1/17, Guillaume Nodet <gn...@gmail.com>:
>
> You can use the servicemix-lwcontainer to deploy your xslt stylesheet as
> a service unit.
> The easiest way would be to the the xslt transformer with an in-out mep
> (you will have to modify it so that it can send the pdf as an
> attachment) so that you can decouple your xslt transformer from the
> target endpoint. To route things, you can use the
> org.apache.servicemix.components.util.ChainedComponent and configure it
> so that it would first use the transformer, then the email component.
> Note that you will have to write your own MimeMailMarshaler, as the
> current one can not handle attachments (yet).
>
> Cheers,
> Guillaume Nodet
>
> Simon Čarni wrote:
>
> >Hi all,
> >
> >I would like to set up following scenario:
> >
> >JBI binding component (HTTP or JMS) receives XML document containing two
> >sections: first is XML data to be transformed to PDF and seconds holds
> email
> >recepient data. Binding component then  forwards the document to SE
> >component that transforms XML to PDF (using XSLT). Pdf binary content and
> >metadata is the passed to component that sends mail with pdf attachment.
> Is
> >such scenario possible with standard JBI components?
> >
> >I'm planing to start with something like this:
> >http BC -- > XSLT SE --> Mail SE (or BC?)
> >                    |
> >JMS BC -->
> >
> >Setup wsdl for http binding component (similar for JMS)
> >
> ><?xml version='1.0' encoding='UTF-8'?>
> ><definitions name='Provider'
> >          targetNamespace='http://http.servicemix.org/Test'
> >          xmlns:tns='http://http.servicemix.org/Test'
> >             xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
> >             xmlns='http://schemas.xmlsoap.org/wsdl/'
> >    xmlns:jbi='http://servicemix.org/wsdl/jbi/'>
> >
> >   <portType name='ConsumerInterface'>
> >   </portType>
> >
> >   <binding name='ConsumerHttpBinding' type='tns:ConsumerInterface'>
> >  <http:binding verb="GET"></http:binding>
> >   </binding>
> >
> >   <service name='XSLTService'>
> >      <port name='TestEndpoint' binding='ConsumerHttpBinding' >
> >   <http:address location="http://localhost:8192/InOnly">
> >   </http:address>
> >   <jbi:endpoint role="consumer" defaultMep='in-only'/>
> >      </port>
> >   </service>
> >
> >  </definitions>
> >
> >Then the fun begins:
> >I create XSLT component. I knoe it should have service defined like
> >QName("http://http.servicemix.org/Test", "XSLTService").
> >Can I use lw XSLT component and deploy it to lwcontainer component as SU?
> >Or should I use jsr181 component and let a POJO perfrom transformation?
> >Same goes for Email component.
> >How should I specify that XSLT component "forwards" message to Email
> >component? Should that be done in Service Assembly using connection
> >elements?
> >Maybe those questions sound funny to you but I'm a beginner so...
> >Thanks in advance!
> >Cheers,
> >Simon
> >
> >
> >
>