Hello,
thank you for your answer.
Lower I give you some further information.
Could you help me please?

You asked:
Why you need do the marshalling yourself?

There is an external client that make a request to a service inside the bus 
(cxf-se_1) also exposed externally by a cxf-bc_1.

When the client invoke an operation on cxf-se_1 it has to take the parameter 
received as input and send to the normalized message router that deliver the 
message to a service-mix bean.
To send a message through the NMR, if  I understood well is necessary transform 
the data to send to Xml.
When I have to send a String on a int or a boolean I can make a transformation 
in one direction to the another easly.
But How I should work with Objects?
I explain a bit more:
The servicemix-bean that has received the message choose with some logics 
another cxf-se to invoke and also the method to invoke. This cxf-se_2 is 
exposed internally in the bus.
When the bean has decided the serice and the method, it has to make an 
invocation  to this service and so send a message of the form:
String messageStringContent = "<message 
xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
> > + "  <part>"
> > + "    <doLogin xmlns='http://myproject.com/NDWS3/types'>"
> > + "      <arg0>" + ???????? + "</arg0>"
> > + "    </doLogin>"
> > + "  </part>"
> > + "</message>";
> > inOutExchange.getInMessage().setContent(new 
> > StringSource(messageStringContent));
I have found this in the examples and it makes me able to make an invocation to 
the cxf-se exposed internally by another service exposed internally.

What should stay in the place of ?????? is some String that is tha result of 
sime kind of marshalling applied to an Object.
How the type of unmarshalling is done by the cxf-se when is invoked internally 
in the bus?

If I know that, I can call every method in my services, by now only methods 
that has as input and output parameter only String and primitive types.

The cxf-se_2 has to send back the result to the bean and this has to send back 
the same to cxf-se_1 and this communication is all inside the bus.

Then cxf-se_1 turn back the result to the external client and this made 
automatically by the library and I'm not really interested now in understanding 
how this works, but this is important to understand what I need.

Please help me with some suggestion,
thank you very much
best regards
anna
---------- Initial Header -----------

>From      : "Freeman Fang" [email protected]
To          : [email protected]
Cc          :
Date      : Mon, 12 Jan 2009 09:51:34 +0800
Subject : Re: Sending Object between cxf-se published in servicemix

> [email protected] wrote:
> > Hi all,
> >
> > I have to implement this type of communication:
> >
> > external client <====> cxf-bc_1 <====> cxf-se_1 <====> bean-se <====> 
> > cxf-se_2
> >
> > now I send message from cxf-se_1 to bean-se, and then to cxf-se_2, like 
> > this:
> >
> > int in0 = 1;
> > String messageStringContent = "<message 
> > xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
> > + "  <part>"
> > + "    <doLogin xmlns='http://myproject.com/NDWS3/types'>"
> > + "      <arg0>" + in0 + "</arg0>"
> > + "    </doLogin>"
> > + "  </part>"
> > + "</message>";
> > inOutExchange.getInMessage().setContent(new 
> > StringSource(messageStringContent));
> >
> > So I had transformed in0 in a String.
> > If I have to send an Object, for example a  Person,
> > from cxf-se_1, so that cxf-se_2 can recognize it, how I should transform it 
> > to a String to send through a Normalized Message and so that I can
> The marshalling from java object to xml message is based on your wsdl
> and delegated to JAXB.
> Why you need do the marshalling yourself?





> If you are not familiar with the jaxb and wsdl to java object mapping, 
> one way you could know what's the jbi message looks like is do a simple
> project like we do for example cxf-wsdl-first (you need use your wsdl
> and your impl class, where the wsdl define your person object), and turn
> on the log, then you can see the jbi message in the flow.
> Freeman
> > communicate it to cxf-se_2 (that is implemented as a simple POJO)?
> >
> > I'll be very grateful for every suggestion you would send.
> > Thank you in advance.
> > Best Regards,
> > anna
> >
> >
> >
> >
> >
>
>

Reply via email to