I think you should create a different message exchange (ME) when communicating between step 3 and 4 (ME 3-4)and just transfer the in message of the ME from step 2 and step 3 (ME 2-3) as the in message of ME 3-4 and set the out message (if any) of ME 2-3 as the out message of ME 3-4. I don't think you can just forward a ME.

Eric Dofonsou wrote:
SynchronizationProvider.process()
------------
  public void process(MessageExchange exchange) throws Exception
  {
      //exchange.setService(endpoint.getDestinationService());
      channel.send(exchange);
  }
------------
As you can see nothing much is being done right now it just forward the
message.

As for the mep here are my xml file for the jsr181 and the custom component
--jsr181---
<?xml version="1.0"?>
<beans xmlns:jsr181="http://servicemix.apache.org/jsr181/1.0";
       xmlns:intercom="http://com.cardinal.jbi/intercom/1.0";>
        <classpath>
<location>lib/com.cardinal.jbi.components.intercom.ws.su-1.0.jar</location>
        </classpath>
        <jsr181:endpoint service="intercom:intercomService"
          endpoint="intercomService"
serviceInterface="com.cardinal.jbi.components.intercom.ws.IIntercomServiceWS"
          pojoClass="com.cardinal.jbi.components.intercom.ws.IntercomServiceWS">
        </jsr181:endpoint>
</beans>
--------
------custom component-----
<?xml version="1.0"?>
<beans xmlns:synchronization="http://com.cardinal.jbi/synchronization/1.0";
       xmlns:intercom="http://com.cardinal.jbi/intercom/1.0";>
    <synchronization:endpoint service="intercom:intercomMessageDispatcher"
                endpoint="intercomMessageDispatcher"
                destinationService="intercom:intercomCommunicator"/>
</beans>
---------

The custom tcp component just open socket to the server and serialize the
message the server.



bsnyder wrote:
On 1/19/07, Eric Dofonsou <[EMAIL PROTECTED]> wrote:

hello guys.

I'm getting a strange error when here with servicemix
----
10:24:31,159 ERROR [SynchronizationComponent] Error processing exchange
InOnly[
  id: ID:erd-ubuntu-54944-1169216972399-8:1
  status: Active
  role: provider
  service:
{http://com.cardinal.jbi/intercom/1.0}intercomMessageDispatcher
  endpoint: intercomMessageDispatcher
  in: <?xml version="1.0"
encoding="UTF-8"?><tcp><remoteHost>10.220.56.155</remoteHost><remotePort>9400</remotePort><dataSize>94</dataSize></tcp>
]
javax.jbi.messaging.MessagingException: illegal exchange status: active
---------

Here is my setup.

1:HttpProvider
    |
2:jsr181
    |
3:Custom synchronization component (synch to asynch bridge) : Exchagne
processor
    |
4:Custom TCP component
    |
5:Socket serveur (outside servicemix)

I get the error while sending the exchange at step 3 here is the code
used
to send the exchange.
-------------
      channel.send(exchange);
-------------

Off course the message a send from the jsr181 component using the :
channel.sendSync(message exchange);
function.

Anybody knows why I'm getting an invalid status on my exchange at step 3
?
Do I need set another attribute on my message for this to work ?
What are the MEPs between steps 2 and 3? Also, can you post the body
of the SynchronizationProvider.process() method?

On a different note, I'm curious to know more about your custom TCP
component.

Bruce
--
perl -e 'print
unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache Geronimo - http://geronimo.apache.org/
Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Castor - http://castor.org/




Reply via email to