diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-16 06:37:38 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-16 06:37:38 +0000 |
commit | d36c8e323a6f8df998edd185de8972dc5e6f87f0 (patch) | |
tree | 2a402b87f045e8066fcf7743e8654728977f6a8a /tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src | |
parent | 034ecc7803559acdda5dd6c54ecc081665b19f61 (diff) |
Cleaning up SVN structure, moving tag under sca-cpp/tags.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@880619 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src')
9 files changed, 0 insertions, 625 deletions
diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtbuild b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtbuild deleted file mode 100644 index cad284f534..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtbuild +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?fileVersion 3.0.0?> - -<ManagedProjectBuildInfo> -<project id="tuscany_sca_axis_wrapper.cdt.managedbuild.target.gnu.so.1184841924" name="Shared Library (Gnu)" projectType="cdt.managedbuild.target.gnu.so"> -<configuration artifactExtension="so" artifactName="tuscany_sca_axis_wrapper" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.so.debug.928824798" name="Debug" parent="cdt.managedbuild.config.gnu.so.debug"> -<toolChain id="cdt.managedbuild.toolchain.gnu.so.debug.1339758042" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.so.debug"> -<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.so.debug.1154109611" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.debug"/> -<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug.1608382279" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.debug"> -<option id="gnu.cpp.compiler.option.preprocessor.def.1011501225" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols"> -<listOptionValue builtIn="false" value="_DEBUG"/> -</option> -<option id="gnu.cpp.compiler.option.include.paths.1415031933" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value="${project_loc}/../../../core/src"/> -<listOptionValue builtIn="false" value="${TUSCANY_SDOCPP}/include"/> -<listOptionValue builtIn="false" value="${AXISCPP_DEPLOY}/include"/> -</option> -</tool> -<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.so.debug.1838165705" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.debug"/> -<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.so.debug.967811729" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.debug"/> -<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.so.debug.182811061" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.debug"/> -<macros/> -</toolChain> -</configuration> -<configuration artifactExtension="so" artifactName="tuscany_sca_axis_wrapper" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="cdt.managedbuild.config.gnu.so.release.417732635" name="Release" parent="cdt.managedbuild.config.gnu.so.release"> -<toolChain id="cdt.managedbuild.toolchain.gnu.so.release.2030957057" name="GCC Tool Chain" superClass="cdt.managedbuild.toolchain.gnu.so.release"> -<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.compiler.so.release.1306716781" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.so.release"/> -<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.compiler.so.release.1788615220" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.so.release"> -<option id="gnu.cpp.compiler.option.include.paths.425019187" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> -<listOptionValue builtIn="false" value="${project_loc}/../../../core/src"/> -<listOptionValue builtIn="false" value="${TUSCANY_SDOCPP}/include"/> -<listOptionValue builtIn="false" value="${AXISCPP_DEPLOY}/include"/> -</option> -</tool> -<tool command="gcc" id="cdt.managedbuild.tool.gnu.c.linker.so.release.1895133278" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.so.release"/> -<tool command="g++" id="cdt.managedbuild.tool.gnu.cpp.linker.so.release.279322021" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.so.release"/> -<tool command="as" id="cdt.managedbuild.tool.gnu.assembler.so.release.774676807" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.so.release"/> -<macros/> -</toolChain> -</configuration> -<macros/> -</project> -</ManagedProjectBuildInfo> diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtproject b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtproject deleted file mode 100644 index 48a12e6664..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.cdtproject +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
-<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.domsourceindexer" point="org.eclipse.cdt.core.CIndexer"/>
-<data>
-<item id="org.eclipse.cdt.core.pathentry">
-<pathentry kind="src" path=""/>
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
-</item>
-</data>
-</cdtproject>
diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.project b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.project deleted file mode 100644 index 526e05b5c0..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.project +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>tuscany_sca_axis_wrapper</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.cdt.core.cnature</nature> - <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> - <nature>org.eclipse.cdt.core.ccnature</nature> - </natures> -</projectDescription> diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs deleted file mode 100644 index 263f7d68d6..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/.settings/org.eclipse.cdt.managedbuilder.core.prefs +++ /dev/null @@ -1,9 +0,0 @@ -#Thu Feb 16 14:46:12 GMT 2006 -eclipse.preferences.version=1 -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.so.debug.928824798=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n -environment/buildEnvironmentInclude/cdt.managedbuild.config.gnu.so.release.417732635=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="CPATH" operation\="remove"/>\n<variable name\="CPLUS_INCLUDE_PATH" operation\="remove"/>\n</environment>\n -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.so.debug.928824798=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n -environment/buildEnvironmentLibrary/cdt.managedbuild.config.gnu.so.release.417732635=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable name\="LIBRARY_PATH" operation\="remove"/>\n</environment>\n -environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment/>\n -environment/project/cdt.managedbuild.config.gnu.so.debug.928824798=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable delimiter\="" name\="TUSCANY_SDOCPP" operation\="replace" value\="/home/tuscany/workspace/sdo"/>\n</environment>\n -environment/project/cdt.managedbuild.config.gnu.so.release.417732635=<?xml version\="1.0" encoding\="UTF-8"?>\n<environment>\n<variable delimiter\="" name\="TUSCANY_SDOCPP" operation\="replace" value\="/home/tuscany/workspace/sdo"/>\n</environment>\n diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.cpp b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.cpp deleted file mode 100755 index d23689ad9d..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws) - * This file contains implementations of the Exception class of the web service. - */ - -#include "AxisServiceException.h" - -#include <axis/AxisWrapperAPI.hpp> - -AxisServiceException::AxisServiceException() -{ -/* This only serves the purpose of indicating that the - * service has thrown an excpetion - */ - m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION; - processException(m_iExceptionCode); -} - -AxisServiceException::AxisServiceException(ISoapFault* pFault) -{ - m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION; - m_pISoapFault = pFault; - processException(pFault);} - -AxisServiceException::AxisServiceException(int iExceptionCode) -{ - - m_iExceptionCode = iExceptionCode; - processException (iExceptionCode); -} - -AxisServiceException::AxisServiceException(exception* e) -{ - processException (e); -} - -AxisServiceException::AxisServiceException(exception* e,int iExceptionCode) -{ - - processException (e, iExceptionCode); -} - -AxisServiceException::AxisServiceException(string sMessage) -{ - m_sMessage =sMessage; -} - -AxisServiceException::~AxisServiceException() throw () -{ - m_sMessage =""; -} - -void AxisServiceException:: processException(exception* e, int iExceptionCode) -{ - m_sMessage = getMessage (e) + getMessage (iExceptionCode); -} - -void AxisServiceException::processException (ISoapFault* pFault) -{ - /*User can do something like deserializing the struct into a string*/ -} - -void AxisServiceException::processException(exception* e) -{ - m_sMessage = getMessage (e); -} - -void AxisServiceException::processException(int iExceptionCode) -{ - m_sMessage = getMessage (iExceptionCode); -} - -const string AxisServiceException::getMessage (exception* objException) -{ - string sMessage = objException->what(); - return sMessage; -} - -const string AxisServiceException::getMessage (int iExceptionCode) -{ - string sMessage; - switch(iExceptionCode) - { - case AXISC_SERVICE_THROWN_EXCEPTION: - sMessage = "The service has thrown an exception. see details"; - break; - default: - sMessage = "Unknown Exception has occured in the service"; - } -return sMessage; -} - -const char* AxisServiceException::what() throw () -{ - return m_sMessage.c_str (); -} - -const int AxisServiceException::getExceptionCode(){ - return m_iExceptionCode; -} - -const ISoapFault* AxisServiceException::getFault(){ - return m_pISoapFault; -} - diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.h b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.h deleted file mode 100755 index 7684740b88..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/AxisServiceException.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws) - * This file contains an Exception class of the web service. - */ - -#if !defined(__AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_) -#define __AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_ - -#include <string> -#include <exception> -#include <axis/AxisException.hpp> -#include <axis/ISoapFault.hpp> - -using namespace std; -AXIS_CPP_NAMESPACE_USE - -class AxisServiceException: public AxisException -{ -public: - STORAGE_CLASS_INFO AxisServiceException(); - STORAGE_CLASS_INFO AxisServiceException(ISoapFault* pFault); - STORAGE_CLASS_INFO AxisServiceException(int iExceptionCode); - STORAGE_CLASS_INFO AxisServiceException(exception* e); - STORAGE_CLASS_INFO AxisServiceException(exception* e, int iExceptionCode); - STORAGE_CLASS_INFO AxisServiceException(string sMessage); - STORAGE_CLASS_INFO virtual ~AxisServiceException() throw(); - STORAGE_CLASS_INFO const char* what() throw(); - STORAGE_CLASS_INFO const int getExceptionCode(); - STORAGE_CLASS_INFO const string getMessage(exception* e); - STORAGE_CLASS_INFO const string getMessage(int iExceptionCode); - STORAGE_CLASS_INFO const ISoapFault* getFault(); - -private: - void processException(exception* e); - void processException(ISoapFault* pFault); - void processException(exception* e, int iExceptionCode); - void processException(int iExceptionCode); - string m_sMessage; - int m_iExceptionCode; - ISoapFault* m_pISoapFault; - -}; - -#endif /* !defined(__AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_)*/ diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/Makefile.am b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/Makefile.am deleted file mode 100644 index ec6e6eccdf..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -lib_LTLIBRARIES = libtuscany_sca_axis_wrapper.la - -libtuscany_sca_axis_wrapper_la_SOURCES = SCAWSWrapper.cpp AxisServiceException.cpp - -libtuscany_sca_axis_wrapper_la_LIBADD = -L$(top_builddir)/runtime/core/src -ltuscany_sca \ - -L${TUSCANY_SDOCPP}/lib -ltuscany_sdo -lxml2 -lstdc++ \ - -L${AXISCPP_DEPLOY}/lib -laxis_client - -INCLUDES = -I$(top_builddir)/runtime/core/src \ - -I${TUSCANY_SDOCPP}/include \ - -I${AXISCPP_DEPLOY}/include - diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.cpp b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.cpp deleted file mode 100644 index 57f3f40148..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.cpp +++ /dev/null @@ -1,268 +0,0 @@ -/* - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Rev$ $Date: 2005/12/22 11:33:21 $ */ - -#include "SCAWSWrapper.h" - -#include "commonj/sdo/SDO.h" -#include "tuscany/sca/util/Exceptions.h" -#include "tuscany/sca/core/SCAEntryPoint.h" - -#include "axis/GDefine.h" -#include "AxisServiceException.h" - - -using namespace std; -using namespace commonj::sdo; -using namespace tuscany::sca; -AXIS_CPP_NAMESPACE_USE; - -/** Construct an SCAWSWrapper. - */ -SCAWSWrapper::SCAWSWrapper() -{ -} - -/** Destruct an SCAWSWrapper. - */ -SCAWSWrapper::~SCAWSWrapper() -{ -} - - -// -// Implementation of WrapperClassHandler interface -// - -/** Perform any necessary initialization. - */ -int SCAWSWrapper::init() -{ - return AXIS_SUCCESS; -} - -/** Perform an necessary finalization. - */ -int SCAWSWrapper::fini() -{ - return AXIS_SUCCESS; -} - -/** Invoke a web service operation. The invoke method expects SCA specific - * properties to have been set into the MessageData by the SCAWSHandler. - * Using those properties, the wrapper will invoke the correct SCA Entry - * Point. - * @param pMsg - pointer to IMessageData. - * - * @see SCAWSHandler - */ -int SCAWSWrapper::invoke(void *pMsg) -{ - - IMessageData *pIMsg = (IMessageData*)pMsg; - const AxisChar *operationName = pIMsg->getOperationName(); - - int axisReturn = invokeService(pIMsg, operationName); - return axisReturn; -} - -/** Handle Faults. - */ -void SCAWSWrapper::onFault(void *pMsg) -{ -} - - -// Invoke an operation on an SCA Entry Point. -int SCAWSWrapper::invokeService(IMessageData *pIMsg, - const AxisChar *operationName) -{ - int axisReturn = AXIS_SUCCESS; - - // Get the SoapSerializer. - IWrapperSoapSerializer* pIWSSZ; - pIMsg->getSoapSerializer(&pIWSSZ); - if (!pIWSSZ) - { - return AXIS_FAIL; - } - - // Get the SoapDeSerializer. - IWrapperSoapDeSerializer* pIWSDZ; - pIMsg->getSoapDeSerializer(&pIWSDZ); - if (!pIWSDZ) - { - return AXIS_FAIL; - } - - // Target Namespace was set into the MessageData by the SCAWSHandler. - const AxisChar *targetNamespace = (const AxisChar *)pIMsg->getProperty("targetNamespace"); - - // Make sure we have the correct message. - if (AXIS_SUCCESS != pIWSDZ->checkMessageBody(operationName, targetNamespace)) - { - return AXIS_FAIL; - } - - try - { - // - // Create the SCA EntryPoint - // - const AxisChar *scaEntryPointName = (const AxisChar *)pIMsg->getProperty("scaEntryPoint"); - SCAEntryPoint entrypoint(scaEntryPointName); - - // Get the DataFactory which has Types loaded from WSDLs - DataFactoryPtr dataFactory = entrypoint.getDataFactory(); - - // - // Get the Soap body and create an SDO request object from it. - // - AnyType *soapAny = pIWSDZ->getAnyObject(); - - // The Doc Literal soap message does not include the root element (operation name) when - // we use getAnyObject. Axis calls this element the 'soap method' but there is no - // 'getSoapMethod' method on the deserializer - we need to wrap the soap body with an - // element named for the operation name. - - string soapBody("<"); - soapBody.append(operationName); - soapBody.append(" "); - soapBody.append("xmlns"); - soapBody.append("=\""); - soapBody.append(targetNamespace); - soapBody.append("\">"); - for (int i=0; i < soapAny->_size ; i++) - { - // The soap body is stored in the _array member of AnyType. - soapBody.append(soapAny->_array[i]); - } - soapBody.append("</"); - soapBody.append(operationName); - soapBody.append(">"); - - // - // Create the SDO request object from the soap body. - // - XMLHelperPtr xmlHelper = HelperProvider::getXMLHelper(dataFactory); - XMLDocumentPtr xmlDoc = xmlHelper->load(soapBody.c_str(), targetNamespace); - DataObjectPtr requestSDO = xmlDoc->getRootDataObject(); - - // - // Invoke the operation on the SCA EntryPoint. - // - DataObjectPtr responseSDO = entrypoint.invoke(operationName, requestSDO); - - // - // Serialize the responseSDO into a SOAP response. - // - // Get the name of the response SDO. The entry point was invoked using an - // SDOStub and the stub makes sure that the response includes the root - // element (operation response name). - - const Type &responseType = responseSDO->getType(); - const char *operationResponseName = responseType.getName(); - - // Get the first child of the root element - this is the soap body - // to return in the response. The body will be wrapped with the root - // element (operation response name) when we call the Axis method - // 'createSoapmMethod'. - DataObjectPtr soapBodySDO = responseSDO->getDataObject((unsigned int)0); - const Type& soapBodyType = soapBodySDO->getType(); - const char *soapBodyName = soapBodyType.getName(); - // Convert the soap body DataObject into XML. - XMLDocumentPtr responseDoc = xmlHelper->createDocument(soapBodySDO, - targetNamespace, - soapBodyName); - responseDoc->setXMLDeclaration(false); - char *responseXML = xmlHelper->save(responseDoc); - - // - // Serialize the response - // - // Wrap the soap body with the root element (operation response name). - pIWSSZ->createSoapMethod(operationResponseName, targetNamespace); - // Add the XML response document (soap body) as an AnyType. - AnyType *soapAnyResponse = new AnyType(); - soapAnyResponse->_size = 1; - soapAnyResponse->_array = new char*[1]; - soapAnyResponse->_array[0] = strdup(responseXML); - - pIWSSZ->addOutputAnyObject(soapAnyResponse); - - } - catch(ServiceRuntimeException e) - { - - // Throw a useful fault - string faultCode = string("Server.TuscanySCA.") + string(e.getEClassName()); - string faultString = string(e.getEClassName()) + string(":") + string (e.getMessageText()); - - pIWSSZ->createSoapFault("ServiceRuntimeException","tempURI", faultCode.c_str(), faultString.c_str()); - throw AxisServiceException(); - } - catch(SDORuntimeException e) - { - // Throw a useful fault - string faultCode = string("Server.TuscanySDO.") + string(e.getEClassName()); - string faultString = string(e.getEClassName()) + string(":") + string (e.getMessageText()); - - pIWSSZ->createSoapFault("SDORuntimeException","tempURI", faultCode.c_str(), faultString.c_str()); - throw AxisServiceException(); - } - - - return axisReturn; -} - -// -// These functions are exported from the SCAWSWrapper DLL and are called by the Axis Engine -// to create/destroy instances of the service wrapper class. -// -extern "C" -{ -STORAGE_CLASS_INFO -int GetClassInstance(BasicHandler **inst) -{ - *inst = new BasicHandler(); - WrapperClassHandler* pWCH = new SCAWSWrapper(); - (*inst)->_functions = 0; - if (pWCH) - { - (*inst)->_object = pWCH; - return pWCH->init(); - } - return AXIS_FAIL; -} -STORAGE_CLASS_INFO -int DestroyInstance(BasicHandler *inst) -{ - if (inst) - { - WrapperClassHandler* pWCH = reinterpret_cast<WrapperClassHandler*>(inst); - pWCH->fini(); - delete pWCH; - delete inst; - return AXIS_SUCCESS; - } - return AXIS_FAIL; -} -} // extern "C" - - - diff --git a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.h b/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.h deleted file mode 100644 index 474c39977f..0000000000 --- a/tags/cpp-sca-20060405/runtime/axis_binding/wrapper/src/SCAWSWrapper.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* $Rev$ $Date: 2005/12/22 11:33:21 $ */ - -#if !defined(SCAWSWRAPPER_H_INCLUDED) -#define SCAWSWRAPPER_H_INCLUDED - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "osoa/sca/export.h" -#include <axis/server/WrapperClassHandler.hpp> -#include <axis/IMessageData.hpp> -#include <axis/GDefine.hpp> -#include <axis/AxisWrapperAPI.hpp> -#include <axis/AxisUserAPI.hpp> - - -AXIS_CPP_NAMESPACE_USE - -/** The SCAWSWrapper class is an Axis WrapperClassHandler that acts as a generic service wrapper for - * invoking services using the SCARuntime. Any services defined in the deployment descriptor (server.wsdd) - * with <parameter name="className" value="<path>\SCAWSWrapper.dll"/> will be invoked by the SCAWSWrapper. - * The service must also be configured with a handler (SCAWSHandler) that sets SCA specific properties - * from the deployment descriptor into the MessageData that is passed to the wrapper's invoke method. - * The SCAWSWrapper uses the properties to configure an SCA Entry Point and invoke the requested operation - * on the service. - * - * Example: - * - * <service name="ExampleService" provider="CPP:DOCUMENT" description="Example Service"> - * <requestFlow> - * <handler name="SCAWSHandler" type="C:\Apache2.0.54\Apache2\Axis\handlers\SCAWSHandler.dll"> - * <parameter name="targetNamespace" value="http://com.exampleservice"/> - * <parameter name="scaEntryPoint" value="SubSystem1/ExampleService/ExampleService"/> - * </handler> - * </requestFlow> - * - * <parameter name="className" value="C:\Apache2.0.54\Apache2\Axis\webservices\SCAWSWrapper.dll"/> - * <parameter name="allowedMethods" value="ExampleMethod "/> - * </service> - * - * @see SCAWSHandler - */ -class SCAWSWrapper : public WrapperClassHandler -{ - public: - - /** Construct an SCAWSWrapper. - */ - SCAWSWrapper(); - - /** Destruct an SCAWSWrapper. - */ - virtual ~SCAWSWrapper(); - - // - // Axis WrapperClassHandler interface. - // - - /** Perform any necessary initialization. - */ - int AXISCALL init(); - - /** Perform any necessary finalization. - */ - int AXISCALL fini(); - - /** Invoke a web service operation. The invoke method expects SCA specific - * properties to have been set into the MessageData by the SCAWSHandler. - * Using those properties, the wrapper will invoke the correct SCA Entry - * Point. - * @param pMsg - pointer to IMessageData. - * - * @see SCAWSHandler - */ - int AXISCALL invoke(void* pMsg); - - /** Handle Faults. - */ - void AXISCALL onFault(void* pMsg); - - /** Binding Style: Document Literal. - */ - AXIS_BINDING_STYLE AXISCALL getBindingStyle() { return DOC_LITERAL; }; - - private: - - // Invoke an SCA Entry Point and return an SDO object as a result. - int invokeService(IMessageData *pIMsg, - const AxisChar *operationName); -}; - -#endif // !defined(SCAWSWRAPPER_H_INCLUDED) |