You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2006/10/10 08:05:43 UTC
svn commit: r454634 - in /incubator/tuscany/cpp/sca/runtime/extensions/ws:
reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp
Author: jsdelfino
Date: Mon Oct 9 23:05:43 2006
New Revision: 454634
URL: http://svn.apache.org/viewvc?view=rev&rev=454634
Log:
Fix for JIRA TUSCANY-816, allocate DataObjectPtrs using new instead of local variables, which will become invalid when they get out of scope
Modified:
incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp
Modified: incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp?view=diff&rev=454634&r1=454633&r2=454634
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/reference/axis2c/src/tuscany/sca/ws/Axis2Client.cpp Mon Oct 9 23:05:43 2006
@@ -614,19 +614,19 @@
break;
case Type::DataObjectType:
{
- DataObjectPtr dataObjectData = outputDataObject->getDataObject(pl[i]);
+ DataObjectPtr* dataObjectData = new DataObjectPtr;
+ *dataObjectData = outputDataObject->getDataObject(pl[i]);
if(!dataObjectData)
{
LOGINFO(4, "SDO DataObject return value was null");
}
- operation.setReturnValue(&dataObjectData);
+ operation.setReturnValue(dataObjectData);
}
break;
case Type::OpenDataObjectType:
{
/*
* This code deals with xsd:any element parameters
- * Get each element as a DataObject and add in to the parameter list
*/
DataObjectList& dataObjectList = outputDataObject->getList(pl[i]);
@@ -636,7 +636,9 @@
DataObjectPtr dataObjectData = dataObjectList[j];
if(!dataObjectData)
{
- operation.setReturnValue(&dataObjectData);
+ DataObjectPtr* dob = new DataObjectPtr;
+ *dob = NULL;
+ operation.setReturnValue(dob);
LOGINFO(4, "SDO OpenDataObject return value was null");
}
else
@@ -654,12 +656,13 @@
else
{
// Return a DataObject representing a complex element
- DataObjectPtr dob = sequence->getDataObjectValue(0);
- if(!dob)
+ DataObjectPtr* dob = new DataObjectPtr;
+ *dob = sequence->getDataObjectValue(0);
+ if(!*dob)
{
LOGINFO(4, "SDO DataObject return value was null");
}
- operation.setReturnValue(&dob);
+ operation.setReturnValue(dob);
}
}
else
Modified: incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp
URL: http://svn.apache.org/viewvc/incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp?view=diff&rev=454634&r1=454633&r2=454634
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp (original)
+++ incubator/tuscany/cpp/sca/runtime/extensions/ws/service/axis2c/src/tuscany/sca/ws/WSServiceProxy.cpp Mon Oct 9 23:05:43 2006
@@ -233,13 +233,14 @@
break;
case Type::DataObjectType:
{
- DataObjectPtr dataObjectData = inputDataObject->getDataObject(pl[i]);
+ DataObjectPtr* dataObjectData = new DataObjectPtr;
+ *dataObjectData = inputDataObject->getDataObject(pl[i]);
if(!dataObjectData)
{
LOGINFO_1(4, "SDO DataObject parameter named %s was null", name);
}
- operation.addParameter(&dataObjectData);
+ operation.addParameter(dataObjectData);
}
break;
case Type::OpenDataObjectType:
@@ -260,7 +261,9 @@
// Add a null DataObject ptr
LOGINFO_2(4, "SDO OpenDataObject parameter named %s[%d] was null", name, j);
- operation.addParameter(&dataObjectData);
+ DataObjectPtr* dob = new DataObjectPtr;
+ *dob = NULL;
+ operation.addParameter(dob);
}
else
{
@@ -277,12 +280,13 @@
else
{
// Add a complex element DataObject
- DataObjectPtr dob = sequence->getDataObjectValue(0);
- if(!dob)
+ DataObjectPtr* dob = new DataObjectPtr;
+ *dob = sequence->getDataObjectValue(0);
+ if(!*dob)
{
LOGINFO_1(4, "SDO DataObject parameter named %s was null", name);
}
- operation.addParameter(&dob);
+ operation.addParameter(dob);
}
}
else
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org