Hi,

I see a difficult problem when I transfer a message between two CXF
Destinations.


My implementation is described as follows:

A client sends a message to Server 1. However, I don't want to process this
message at Server1. Thus, I catch this message at Destination of Server 1
and transfer it to Destination of Server 2 that processes the message and
responds to the client.

At Destination of Server 2, Destination receives two informations of the
message: NioDatagramSession and Soaf message in a sequence of bytes.


NioDatagramSession niosession;

*byte*[] soafmessage;


In order to server 2 that processes the message from the client, I declared
as follows:


*final* MessageImpl m = *new* MessageImpl();

Exchange exchange = *new* ExchangeImpl();

exchange.setDestination(MyDestination.*this*);

m.setDestination(MyDestination.*this*);

exchange.setInMessage(m);



IoBuffer ioBuffer = IoBuffer.*allocate*(256);

ioBuffer.setAutoExpand(*true*);

ioBuffer.mark();

ioBuffer.put(soafmessage);

ioBuffer.reset();

IoSessionInputStream ioses = *new* IoSessionInputStream();

ioses.setBuffer(ioBuffer);

InputStream in = ioses;

m.setContent(InputStream.*class*, in);


IoSession session = (IoSession)niosession; //new

SocketAddress remoteAddress = session.getRemoteAddress();

SocketAddress localAddress = isa; //address of server 2


IoSession newsession = acceptor.newSession(remoteAddress, localAddress);

OutputStream out = *new* IoSessionOutputStream(newsession);


out = *new* UDPDestinationOutputStream(out);

m.put(UDPConnectionInfo.*class*, *new* UDPConnectionInfo(newsession, out,in
));

getMessageObserver().onMessage(m);


To here, when I call the command: getMessageObserver().onMessage(m); the
implementation service of server 2 will process the message and return to
its BackChanelConduit but THE RESPONSE MESSAGE CAN NOT ARRIVE AT CLIENT.


There are not the exceptions during execution.


I can not use the routing service and also other service in my case.

Could you please give me a suggestion why there are not exception but the
client can't receive the response from server 2?


Thank you so much.

Regards.

Tho.

Reply via email to