[ 
http://issues.apache.org/jira/browse/TUSCANY-554?page=comments#action_12453647 
] 
            
Andrew Borley commented on TUSCANY-554:
---------------------------------------

I believe I hit this issue when dealing with DataObjects in the SCA binding.ws. 

When axis returns from a ws call, the axiom node gets converted into a DO (call 
it DO1), and then the value or DO (DO2) within is returned to the calling 
component. So, when a DO is returned, DO2 is contained by DO1. Leaving the 
binding.ws code means that DO1 falls out of scope and is destroyed, but this 
destruction doesn't signal to DO2 that his container is no longer valid. So you 
can do DO2->getContainer() and get a pointer that looks good, but fails when 
you try to use it.

So the code is something like:

DataObjectPtr* do2 = new DataObjectPtr();

{
   DataObjectPtr do1 = axiomHelper->tosdo(axiom_doc, datafactory);
   *do2 = do1->getDataObject(0);
}
// do1 has fallen out of scope and is destroyed.
// However, this call returns a good pointer
DataObjectPtr container = do2->getContainer();

if(container)
{
   // container is not 0, but this call causes a crash
   container->getType();
}

Adding do2->detach() before do1 falls out of scope fixes this issue, but I 
think the destruction of do1 could be made to call detach() on any data objects 
that do1 contains


> Opposite properties are not implemented
> ---------------------------------------
>
>                 Key: TUSCANY-554
>                 URL: http://issues.apache.org/jira/browse/TUSCANY-554
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: C++ SDO
>    Affects Versions: Cpp-M1
>         Environment: all
>            Reporter: Ed Slattery
>            Priority: Minor
>             Fix For: Cpp-current
>
>
> Opposite properties are not implemented.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to