Hum, not sure if it will really help me.
Let me restate what I need:  the incoming JBI exchange
contain a known property and I want to store it with the
process instance somehow (in a variable or any other way).
Then, when an invocation is performed, I meed to set this
property on the newly created JBI exchange.

This is not about correlation for the BPEL process itself.
And I can't reuse something generated by Ode as the property
value is usually already set on the incoming exchange.

So I'm not sure if the session ids can be used, especially
because i need to use existing values and not let Ode
generate those.  And it seems there is no way to override that
currently: see BpelRuntimeContextImpl.initializePartnerLinks

I was thinking about using the MessageExchange DAO to set
the property, but my problem is that I haven't found a way
to retrieve the MyRoleMessageExchange that was used
to create the process when inside an MessageExchangeContext.invokePartner
call.

On 3/7/07, Matthieu Riou <[EMAIL PROTECTED]> wrote:

Hi,

I think you'll just need to do something like:

      String mySess = mex.getProperty(
PartnerRoleMessageExchange.PROPERTY_SEP_MYROLE_SESSIONID);
      String partnerSess = mex.getProperty(
PartnerRoleMessageExchange.PROPERTY_SEP_PARTNERROLE_EPR);

For more information on how we handle the correlations this way:

http://incubator.apache.org/ode/implicit-correlations.html
http://incubator.apache.org/ode/stateful-exchange-protocol.html

Cheers,
Matthieu

On 3/5/07, Guillaume Nodet <[EMAIL PROTECTED]> wrote:
>
> Hi guys !
>
> In ServiceMix, there is a property named "
> org.apache.servicemix.correlationId"
> that is used to correlate MessageExchanges.
> For example, if a JBI endpoint receives a JBI exchange, and send another
> jbi exchange while processing it, the components will forward this
> property
> from the inbound exchange to the outbound exchange (or create it with a
> unique
> id if none was set).  This enables tracking of a "JBI process".  I think
> ODE
> would benefit of such a behavior when deployed inside ServiceMix, so I'm
> trying
> to implement it.
>
> However, I'm not sure what the best way to do that.  I would say that
the
> best way
> is to use properties defined on org.apache.ode.bpel.iapi.MessageExchange
,
> but I haven't been able to find a way to retrieve these properties from
> a MessageExchangeContext.invokePartner call.
>
> Any hints on how to do that ?
>
> Cheers,
> Guillaume Nodet
> ------------------------
> Architect, LogicBlaze (http://www.logicblaze.com/)
> Blog: http://gnodet.blogspot.com/
>




--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Reply via email to