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/16 02:08:13 UTC
svn commit: r464326 - 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: Sun Oct 15 17:08:12 2006
New Revision: 464326
URL: http://svn.apache.org/viewvc?view=rev&rev=464326
Log:
Fix for TUSCANY-855, find SDO property representing doc-lit-wrapped wrapper element and use its type instead of assuming that the type is named like the element.
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=464326&r1=464325&r2=464326
==============================================================================
--- 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 Sun Oct 15 17:08:12 2006
@@ -38,6 +38,7 @@
#include "tuscany/sca/core/SCARuntime.h"
#include "tuscany/sca/util/Logging.h"
+#include "tuscany/sca/util/Utils.h"
#include "model/WSServiceBinding.h"
#include "tuscany/sca/util/Utils.h"
#include "tuscany/sca/util/Exceptions.h"
@@ -281,15 +282,27 @@
try
{
- // Create the output wrapper
- const Type& inputType = dataFactory->getType(wsdlOperation.getInputTypeUri().c_str(),
- wsdlOperation.getInputTypeName().c_str());
+ // Create the input wrapper
+ const Type& rootType = dataFactory->getType(wsdlOperation.getInputTypeUri().c_str(), "RootType");
+ const Property& prop = rootType.getProperty(wsdlOperation.getInputTypeName().c_str());
+ const Type& inputType = prop.getType();
inputDataObject = dataFactory->create(inputType);
}
catch (SDORuntimeException e)
{
- // The input wrapper type is not known, create an open DataObject
- inputDataObject = dataFactory->create(Type::SDOTypeNamespaceURI, "OpenDataObject");
+ try
+ {
+ // Create the input wrapper
+ const Type& inputType = dataFactory->getType(wsdlOperation.getInputTypeUri().c_str(),
+ wsdlOperation.getInputTypeName().c_str());
+ inputDataObject = dataFactory->create(inputType);
+ }
+ catch (SDORuntimeException e2)
+ {
+
+ // The input wrapper type is not known, create an open DataObject
+ inputDataObject = dataFactory->create(Type::SDOTypeNamespaceURI, "OpenDataObject");
+ }
}
// Go through data object to set the input parameters
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=464326&r1=464325&r2=464326
==============================================================================
--- 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 Sun Oct 15 17:08:12 2006
@@ -198,7 +198,6 @@
{
float* floatData = new float;
*floatData = inputDataObject->getFloat(pl[i]);
- //printf("inputDataObject has FloatType named %s with value %f\n", name, *floatData);
operation.addParameter(floatData);
}
break;
@@ -248,7 +247,6 @@
* Get each element as a DataObject and add in to the parameter list
*/
- printf("inputDataObject has OpenDataObjectType named %s\n", name);
DataObjectList& dataObjectList = inputDataObject->getList(pl[i]);
for(int j=0; j<dataObjectList.size(); j++)
@@ -328,17 +326,28 @@
// Set the data in the outputDataObject to be returned
DataObjectPtr outputDataObject;
- try
- {
+ try {
// Create the output wrapper
- const Type& outputType = dataFactoryPtr->getType(outputTypeURI, outputTypeName);
+ const Type& rootType = dataFactoryPtr->getType(outputTypeURI, "RootType");
+ const Property& prop = rootType.getProperty(outputTypeName);
+ const Type& outputType = prop.getType();
outputDataObject = dataFactoryPtr->create(outputType);
}
catch (SDORuntimeException e)
{
- // The output wrapper type is not known, create an open DataObject
- outputDataObject = dataFactoryPtr->create(Type::SDOTypeNamespaceURI, "OpenDataObject");
+ try
+ {
+
+ // Create the output wrapper
+ const Type& outputType = dataFactoryPtr->getType(outputTypeURI, outputTypeName);
+ outputDataObject = dataFactoryPtr->create(outputType);
+ }
+ catch (SDORuntimeException e)
+ {
+ // The output wrapper type is not known, create an open DataObject
+ outputDataObject = dataFactoryPtr->create(Type::SDOTypeNamespaceURI, "OpenDataObject");
+ }
}
setOutputData(operation, outputDataObject, dataFactoryPtr);
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org