On 10/23/07, Lukasz L. <[EMAIL PROTECTED]> wrote: > > > > And btw, the jsr181 component certainly does not support soap > > > requests. > So why documentation > (http://incubator.apache.org/servicemix/servicemix-jsr181.html) says that we > can specify 'style' attribute of endpoint which is described as "The SOAP > style to use (document, wrapped, rpc)"
Unfortunately, these informations surface in the component, because the marshalling layer needs it. You can take a look at the cxf-se if you prefer which hide this information, because it constraint the data in the message to be encapsulated in a JBI wrapper. > > The other thing: when you have pojo interface with e.g. 3 methods exposed > with jsr181 component then how does it know which method to invoke? > Normalized message specifies service/endpoint of destination, not an > operation. The saop does. This is a wrond assumption. The MessageExchange contains a QName for the operation invoked on the service. This operation is retrieved from the soap request. > > > The jsr181 component will marshal the xml blob to a pojo invocation, > > which means that you need to specify what the data will looks like. > > I'm sorry but I didn't understand you, could you explain what you mean? > How can I specify it? My pojo already know how the data will look like but > the component throws an error. How can I specify/describe the data to jsr181 > component? If you deploy a POJO, a WSDL will be automatically generated for you (you can retrieve it from the JMX console by browsing to the endpoint). The request you send to the pojo needs to comply with this WSDL. This is the code first approach. Another one is to start from the WSDL and generate the interface / data classes, then implement the service by implementing the generated interface as described by the wsdl-first example that comes with ServiceMix distribution. > > > gnodet wrote: > > > > JBI does not assume anything about the content of the messages itself. > > Usually a WSDL description is used for that, so that services can > > communicate amongst themselves. > > JBI "normalizes" the messages, but does not use a "canonical" form: > > this implies that there is no protocol binding on the JBI bus, but the > > content of the messages are not specified further. > > > > The jsr181 component will marshal the xml blob to a pojo invocation, > > which means that you need to specify what the data will looks like. > > If you don't want to do that, you can use another SE, like > > servicemix-bean, or if you want to transform the xml, the > > servicemix-saxon component (for example). > > > > On 10/23/07, Lukasz L. <[EMAIL PROTECTED]> wrote: > >> > >> I wanten to put jsr181 based su in a flow like that: > >> filePoller -> eip/pipeline -> jsr181 web service (as eip:transformer) -> > >> fileSender (as eip:target) > >> > >> the file polled has content: > >> <?xml version="1.0" encoding="UTF-8"?><BBB> xxx </BBB> > >> then at jsr181 service input I got an error: > >> org.codehaus.xfire.fault.XFireFault: Parameter BBB does not exist! > >> > >> This made me think that jsr181 service tries to read the message as some > >> kind of metadata not just a message so I thought it wanted soap message. > >> Output from file poller (and then eip/pipeline) is already a NM so why > >> jsr181 service doesn't want to accept it? Is it possible to put jsr181 > >> service in flow like that, also use it as service engine in inner bus > >> flow? > >> Maybe I misuderstood something else. > >> > >> > >> gnodet wrote: > >> > > >> > What do you imply by "normalized messages" ? The JBI components can > >> > only interact with the NMR using normalized messages. > >> > And btw, the jsr181 component certainly does not support soap > >> > requests. The usual scenario is that the http BC normalizes the soap > >> > request and send it to the jsr181 component (as a normalized message). > >> > > >> > On 10/22/07, Lukasz L. <[EMAIL PROTECTED]> wrote: > >> >> > >> >> can jsr181 component receive normalized messages? As far as I tried it > >> >> accepted only saop and had problems with NM but I could miss > >> something. > >> >> If > >> >> it cannot accept normalized messages then it is not JBI compliant. > > > > -- > View this message in context: > http://www.nabble.com/is-jsr181-component-jbi-compliant--tf4670575s12049.html#a13360589 > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
