I had some time to look at your test case on the plane and i think i found a fix. In all cases i'm quite sure that the problem comes from the component and not from the container. The fix is mainly to inject on the pojo a delivery channel that will track consumer exchanges sent by the bean. That way, the component will know about the exchange and will not throw an exception.
2007/10/19, Andreas Schaefer (2) <[EMAIL PROTECTED]>: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Tomorrow I plan to try to fix this issue but if anyone sees a flaw in > my design please stop beforehand. > > Today I finally resolved the problem of how does ServiceMix know to > which component it should send the Message Exchange (ME) back even > though it uses the wrong Service Name. Inside the > AbstractFlow.doRouting() it uses the SourceId from the ME to find the > correct Binding Component (BC). That is why in my test project the > call goes back tot he Bean BC even though it tries to call a service > that is actually based on a Script BC. This makes me hopeful that > applying the same logic to the service name could fix the issue. > > That is what I want to do to fix it: > > - - service name is removed from the packet and placed inside the ME > (maybe also the endpoint) > - - the ME.setServiceName() is actually set on the MIRROR.serviceName > member (so that I don't have to change the logic of switching the ME > with its MIRROR) > - - the consumer's service name is set on the ME before the ME is sent > onto the flow. This is either done on the Message Exchange Factory or > on the Delivery Channel which is probably the better choice because > then on the way back the service name of the provider can also be set > if not already done). I just have to figure out how to obtain the > service name of the sending SU from within the Delivery Channel. > > I think that should do the trick even though I don't know what the > implications on the SYNCHRONOUS ME are and hope that I am not going > to open Pandora's Box. > > Thanks - Andy > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.7 (Darwin) > > iD8DBQFHGADWs4gPTNnP0gkRAsNpAJ9knS8kX0NfIbAMW+uGgBjIN0i3zQCfceDi > rdw1L46NBoZnzqQzLYILOEw= > =VDq2 > -----END PGP SIGNATURE----- > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/