You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Rupesh M G <Ru...@ibsplc.com> on 2009/06/30 15:07:36 UTC

tuscany + bpel + multiple partners failing + bug?

Hello friend,

        I think I came across a bug in Tuscany 1.4. Please confirm, or 
correct me if I'm wrong.

Regards,
Rupesh

REQUIREMENT & ERROR

        My requirement is to invoke 2 different SCA components A and B 
from an implementation.bpel.

I can invoke either A or B successfully.
When A is called after B, the Unable to register Synchronizer error comes.

Something goes wrong in the tuscany-ODE bridge.
I debugged, and my observation is as follows.

class --> org.apache.tuscany.sca.implementation.bpel.ode.
ODEExternalService

method --> public void invoke(final PartnerRoleMessageExchange 
partnerRoleMessageExchange)

problem area --> RuntimeComponentReference runtimeComponentReference =
 
(RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0);
                        The index 0 is hardcoded. So only the first 
reference is considered always.

Reason --> Since the first reference to the impl.bpel is invoked always, 
either A or B works fine.
When I use both A and B, for all the messages, SCA reference A is invoked, 
and ODE fails processing messages for B.

My trial --> I changed the index of the references collection to match the 
incoming message type.
It worked, and I could call SCA components A and B from the impl.bpel.

Conclusion --> This could be a bug in Tuscany. Please confirm.







DISCLAIMER: 

"The information in this e-mail and any attachment is intended only for 
the person to whom it is addressed and may contain confidential and/or 
privileged material. If you have received this e-mail in error, kindly 
contact the sender and destroy all copies of the original communication. 
IBS makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy or completeness of the information contained in this email or any 
attachment and is not liable for any errors, defects, omissions, viruses 
or for resultant loss or damage, if any, direct or indirect."





Re: tuscany + bpel + multiple partners failing + bug?

Posted by Rupesh M G <Ru...@ibsplc.com>.
Thanks Luciano for the quick reply. I will post this issue to JIRA.

My edited ODEExternalService.java is attached.
>From the PartnerRoleMessageExchange parameter, I could get the PortType, 
namespace, etc of the incoming message.

I tried to get a matching information from the SCA reference. I could see 
them while debugging, but no public method from RuntimeComponentReference 
was found.

So just to verify my observation, I put a restriction like the reference 
target-component in the composite for the bpel should be the same as the 
PortType of the SCA reference. And then compared these to set the index 
properly.

I know this is not a fix, but just a work around, and I thought I will 
contact the mailing list to get some information to get the PortType & 
namespace from the RuntimeComponentReference.

Regards,
Rupesh






Luciano Resende <lu...@gmail.com> 
06/30/2009 06:56 PM
Please respond to
dev@tuscany.apache.org


To
user@tuscany.apache.org
cc
dev@tuscany.apache.org
Subject
Re: tuscany + bpel + multiple partners failing + bug?






Rupesh, this seems like a bug.... could you please create a JIRA for
this issue... also, from your e-mail, it seems you have a possible fix
as well ? If so, could you please provide a patch of what you have
changed to make this scenario working.

On Tue, Jun 30, 2009 at 6:07 AM, Rupesh M G<Ru...@ibsplc.com> 
wrote:
>
> Hello friend,
>
>         I think I came across a bug in Tuscany 1.4. Please confirm, or
> correct me if I'm wrong.
>
> Regards,
> Rupesh
>
> REQUIREMENT & ERROR
>
>         My requirement is to invoke 2 different SCA components A and B 
from
> an implementation.bpel.
>
> I can invoke either A or B successfully.
> When A is called after B, the Unable to register Synchronizer error 
comes.
>
> Something goes wrong in the tuscany-ODE bridge.
> I debugged, and my observation is as follows.
>
> class --> 
org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService
>
> method --> public void invoke(final PartnerRoleMessageExchange
> partnerRoleMessageExchange)
>
> problem area --> RuntimeComponentReference runtimeComponentReference =
>
> 
 (RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0);
>                         The index 0 is hardcoded. So only the first
> reference is considered always.
>
> Reason --> Since the first reference to the impl.bpel is invoked always,
> either A or B works fine.
> When I use both A and B, for all the messages, SCA reference A is 
invoked,
> and ODE fails processing messages for B.
>
> My trial --> I changed the index of the references collection to match 
the
> incoming message type.
> It worked, and I could call SCA components A and B from the impl.bpel.
>
> Conclusion --> This could be a bug in Tuscany. Please confirm.
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for 
the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. 
IBS
> makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy
> or completeness of the information contained in this email or any 
attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



-- 
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/






DISCLAIMER: 

"The information in this e-mail and any attachment is intended only for 
the person to whom it is addressed and may contain confidential and/or 
privileged material. If you have received this e-mail in error, kindly 
contact the sender and destroy all copies of the original communication. 
IBS makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy or completeness of the information contained in this email or any 
attachment and is not liable for any errors, defects, omissions, viruses 
or for resultant loss or damage, if any, direct or indirect."





Re: tuscany + bpel + multiple partners failing + bug?

Posted by Rupesh M G <Ru...@ibsplc.com>.
Thanks Luciano for the quick reply. I will post this issue to JIRA.

My edited ODEExternalService.java is attached.
>From the PartnerRoleMessageExchange parameter, I could get the PortType, 
namespace, etc of the incoming message.

I tried to get a matching information from the SCA reference. I could see 
them while debugging, but no public method from RuntimeComponentReference 
was found.

So just to verify my observation, I put a restriction like the reference 
target-component in the composite for the bpel should be the same as the 
PortType of the SCA reference. And then compared these to set the index 
properly.

I know this is not a fix, but just a work around, and I thought I will 
contact the mailing list to get some information to get the PortType & 
namespace from the RuntimeComponentReference.

Regards,
Rupesh






Luciano Resende <lu...@gmail.com> 
06/30/2009 06:56 PM
Please respond to
dev@tuscany.apache.org


To
user@tuscany.apache.org
cc
dev@tuscany.apache.org
Subject
Re: tuscany + bpel + multiple partners failing + bug?






Rupesh, this seems like a bug.... could you please create a JIRA for
this issue... also, from your e-mail, it seems you have a possible fix
as well ? If so, could you please provide a patch of what you have
changed to make this scenario working.

On Tue, Jun 30, 2009 at 6:07 AM, Rupesh M G<Ru...@ibsplc.com> 
wrote:
>
> Hello friend,
>
>         I think I came across a bug in Tuscany 1.4. Please confirm, or
> correct me if I'm wrong.
>
> Regards,
> Rupesh
>
> REQUIREMENT & ERROR
>
>         My requirement is to invoke 2 different SCA components A and B 
from
> an implementation.bpel.
>
> I can invoke either A or B successfully.
> When A is called after B, the Unable to register Synchronizer error 
comes.
>
> Something goes wrong in the tuscany-ODE bridge.
> I debugged, and my observation is as follows.
>
> class --> 
org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService
>
> method --> public void invoke(final PartnerRoleMessageExchange
> partnerRoleMessageExchange)
>
> problem area --> RuntimeComponentReference runtimeComponentReference =
>
> 
 (RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0);
>                         The index 0 is hardcoded. So only the first
> reference is considered always.
>
> Reason --> Since the first reference to the impl.bpel is invoked always,
> either A or B works fine.
> When I use both A and B, for all the messages, SCA reference A is 
invoked,
> and ODE fails processing messages for B.
>
> My trial --> I changed the index of the references collection to match 
the
> incoming message type.
> It worked, and I could call SCA components A and B from the impl.bpel.
>
> Conclusion --> This could be a bug in Tuscany. Please confirm.
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for 
the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. 
IBS
> makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy
> or completeness of the information contained in this email or any 
attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



-- 
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/






DISCLAIMER: 

"The information in this e-mail and any attachment is intended only for 
the person to whom it is addressed and may contain confidential and/or 
privileged material. If you have received this e-mail in error, kindly 
contact the sender and destroy all copies of the original communication. 
IBS makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy or completeness of the information contained in this email or any 
attachment and is not liable for any errors, defects, omissions, viruses 
or for resultant loss or damage, if any, direct or indirect."





Re: tuscany + bpel + multiple partners failing + bug?

Posted by Luciano Resende <lu...@gmail.com>.
Rupesh, this seems like a bug.... could you please create a JIRA for
this issue... also, from your e-mail, it seems you have a possible fix
as well ? If so, could you please provide a patch of what you have
changed to make this scenario working.

On Tue, Jun 30, 2009 at 6:07 AM, Rupesh M G<Ru...@ibsplc.com> wrote:
>
> Hello friend,
>
>         I think I came across a bug in Tuscany 1.4. Please confirm, or
> correct me if I'm wrong.
>
> Regards,
> Rupesh
>
> REQUIREMENT & ERROR
>
>         My requirement is to invoke 2 different SCA components A and B from
> an implementation.bpel.
>
> I can invoke either A or B successfully.
> When A is called after B, the Unable to register Synchronizer error comes.
>
> Something goes wrong in the tuscany-ODE bridge.
> I debugged, and my observation is as follows.
>
> class --> org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService
>
> method --> public void invoke(final PartnerRoleMessageExchange
> partnerRoleMessageExchange)
>
> problem area --> RuntimeComponentReference runtimeComponentReference =
>
>  (RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0);
>                         The index 0 is hardcoded. So only the first
> reference is considered always.
>
> Reason --> Since the first reference to the impl.bpel is invoked always,
> either A or B works fine.
> When I use both A and B, for all the messages, SCA reference A is invoked,
> and ODE fails processing messages for B.
>
> My trial --> I changed the index of the references collection to match the
> incoming message type.
> It worked, and I could call SCA components A and B from the impl.bpel.
>
> Conclusion --> This could be a bug in Tuscany. Please confirm.
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. IBS
> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
> or completeness of the information contained in this email or any attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



-- 
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/

Re: tuscany + bpel + multiple partners failing + bug?

Posted by Luciano Resende <lu...@gmail.com>.
Rupesh, this seems like a bug.... could you please create a JIRA for
this issue... also, from your e-mail, it seems you have a possible fix
as well ? If so, could you please provide a patch of what you have
changed to make this scenario working.

On Tue, Jun 30, 2009 at 6:07 AM, Rupesh M G<Ru...@ibsplc.com> wrote:
>
> Hello friend,
>
>         I think I came across a bug in Tuscany 1.4. Please confirm, or
> correct me if I'm wrong.
>
> Regards,
> Rupesh
>
> REQUIREMENT & ERROR
>
>         My requirement is to invoke 2 different SCA components A and B from
> an implementation.bpel.
>
> I can invoke either A or B successfully.
> When A is called after B, the Unable to register Synchronizer error comes.
>
> Something goes wrong in the tuscany-ODE bridge.
> I debugged, and my observation is as follows.
>
> class --> org.apache.tuscany.sca.implementation.bpel.ode.ODEExternalService
>
> method --> public void invoke(final PartnerRoleMessageExchange
> partnerRoleMessageExchange)
>
> problem area --> RuntimeComponentReference runtimeComponentReference =
>
>  (RuntimeComponentReference)tuscanyRuntimeComponent.getReferences().get(0);
>                         The index 0 is hardcoded. So only the first
> reference is considered always.
>
> Reason --> Since the first reference to the impl.bpel is invoked always,
> either A or B works fine.
> When I use both A and B, for all the messages, SCA reference A is invoked,
> and ODE fails processing messages for B.
>
> My trial --> I changed the index of the references collection to match the
> incoming message type.
> It worked, and I could call SCA components A and B from the impl.bpel.
>
> Conclusion --> This could be a bug in Tuscany. Please confirm.
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. IBS
> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
> or completeness of the information contained in this email or any attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



-- 
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/