You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/03/09 04:39:23 UTC

svn commit: r384418 [4/4] - in /webservices/axis/trunk/c/src/cbindings: ./ client/

Modified: webservices/axis/trunk/c/src/cbindings/client/StubC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/client/StubC.cpp?rev=384418&r1=384417&r2=384418&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/client/StubC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/client/StubC.cpp Wed Mar  8 19:39:21 2006
@@ -16,166 +16,721 @@
  */
 
 #include <axis/client/Stub.hpp>
+#include <axis/AxisException.hpp>
+
+#include "../AxisObjectContainer.hpp"
 
 AXIS_CPP_NAMESPACE_START
 class StubC : Stub
 {
 public :
-	StubC(const char *ep, AXIS_PROTOCOL_TYPE pt):Stub(ep,pt) {}
-	virtual ~StubC() {}
-	Call* getCallStubC() { return getCall(); }
-	void applyUserPreferencesStubC() { applyUserPreferences(); }
-	void setSOAPHeadersStubC() { setSOAPHeaders(); }
+    StubC(const char *ep, AXIS_PROTOCOL_TYPE pt):Stub(ep,pt) {}
+    virtual ~StubC() {}
+    Call* getCallStubC() { return getCall(); }
+    void applyUserPreferencesStubC() { applyUserPreferences(); }
+    void setSOAPHeadersStubC() { setSOAPHeaders(); }
 };
 AXIS_CPP_NAMESPACE_END
 
 AXIS_CPP_NAMESPACE_USE
 
 extern "C" {
+#include <axis/Axis.h>
 #include <axis/GDefine.h>
 #include <axis/AxisUserAPI.h>
 #include <axis/client/Stub.h>
 
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscCreateStub(const char * pcEndPointURI, 
-	AXISC_PROTOCOL_TYPE eProtocol) {
-	StubC *stub = new StubC(pcEndPointURI, (AXIS_PROTOCOL_TYPE)eProtocol);
-	return (AXISCHANDLE)stub;
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscDestroyStub(AXISCHANDLE stub) {
-	StubC *s = (StubC*)stub;
-	delete s;
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscSetEndPoint(AXISCHANDLE stub, const char * pcEndPointURI) {
-	Stub *s = (Stub*)stub;
-	s->setEndPoint(pcEndPointURI);
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscSetTransportPropertyStub(AXISCHANDLE stub, const char * pcKey, 
-	const char * pcValue) {
-	Stub *s = (Stub*)stub;
-	s->setTransportProperty(pcKey,pcValue);
-}
-
-AXISC_STORAGE_CLASS_INFO const char * axiscGetTransportPropertyStub(AXISCHANDLE stub, const char *key, 
-	AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	return s->getTransportProperty(key, (bool)(response !=0 ));
-}
-
-AXISC_STORAGE_CLASS_INFO const char * axiscGetFirstTransportPropertyKey(AXISCHANDLE stub, AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	return s->getFirstTransportPropertyKey( (bool)(response!=0));
-}
-
-AXISC_STORAGE_CLASS_INFO const char * axiscGetNextTransportPropertyKey(AXISCHANDLE stub, AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	return s->getNextTransportPropertyKey((bool)(response!=0));
-}
-
-AXISC_STORAGE_CLASS_INFO const char * axiscGetCurrentTransportPropertyKey(AXISCHANDLE stub, AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	return s->getCurrentTransportPropertyKey((bool)(response!=0));
-}
-
-AXISC_STORAGE_CLASS_INFO const char * axiscGetCurrentTransportPropertyValue(AXISCHANDLE stub, AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	return s->getCurrentTransportPropertyValue((bool)(response!=0));
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscDeleteCurrentTransportProperty(AXISCHANDLE stub, AxiscBool response) {
-	Stub *s = (Stub*)stub;
-	s->deleteCurrentTransportProperty((bool)(response!=0));
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscDeleteTransportProperty(AXISCHANDLE stub, char * pcKey, 
-	unsigned int uiOccurance) {
-	Stub *s = (Stub*)stub;
-	s->deleteTransportProperty(pcKey,uiOccurance);
-}
-
-AXISC_STORAGE_CLASS_INFO void axiscSetHandlerPropertyStub(AXISCHANDLE stub, AxiscChar * name, 
-	void * value, int len) {
-	Stub *s = (Stub*)stub;
-	s->setHandlerProperty(name,value,len);
-}
-
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscCreateSOAPHeaderBlock(AXISCHANDLE stub, AxiscChar * pachLocalName, 
-	AxiscChar * pachUri, AxiscChar * pachPrefix) {
-	Stub *s = (Stub*)stub;
-	return (AXISCHANDLE)s->createSOAPHeaderBlock(pachLocalName,pachUri,pachPrefix);
-}
-
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscGetFirstSOAPHeaderBlock(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	return (AXISCHANDLE)s->getFirstSOAPHeaderBlock();
-}
 
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscGetNextSOAPHeaderBlock(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	return (AXISCHANDLE)s->getNextSOAPHeaderBlock();
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscCreateStub(const char * pcEndPointURI, 
+                            AXISC_PROTOCOL_TYPE eProtocol) 
+{  
+    try
+    {
+        StubC *stub = new StubC(pcEndPointURI, (AXIS_PROTOCOL_TYPE)eProtocol);
+        AxisObjectContainer *h = new AxisObjectContainer(stub);
+        return (AXISCHANDLE)h;
+    }
+    catch ( AxisException& e  )
+    {
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+    
+    return (AXISCHANDLE)NULL;
 }
 
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscGetCurrentSOAPHeaderBlock(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	return (AXISCHANDLE)s->getCurrentSOAPHeaderBlock();
-}
+AXISC_STORAGE_CLASS_INFO 
+void axiscDestroyStub(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    StubC *s = (StubC*)h->_objHandle;
+    
+    try
+    {
+        delete h;
+        delete s;
+    }
+    catch ( AxisException& e  )
+    {
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetEndPoint(AXISCHANDLE stub, 
+                      const char * pcEndPointURI) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setEndPoint(pcEndPointURI);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetTransportPropertyStub(AXISCHANDLE stub, 
+                                   const char * pcKey, 
+                                   const char * pcValue) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setTransportProperty(pcKey,pcValue);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+const char * axiscGetTransportPropertyStub(AXISCHANDLE stub, 
+                                           const char *key, 
+                                           AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return s->getTransportProperty(key, (bool)(response !=0 ));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return (const char *)NULL;
+}
+
+AXISC_STORAGE_CLASS_INFO 
+const char * axiscGetFirstTransportPropertyKey(AXISCHANDLE stub, 
+                                               AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return s->getFirstTransportPropertyKey( (bool)(response!=0));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+    
+    return (const char *)NULL;
+}
+
+AXISC_STORAGE_CLASS_INFO 
+const char * axiscGetNextTransportPropertyKey(AXISCHANDLE stub, 
+                                              AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return s->getNextTransportPropertyKey((bool)(response!=0));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return (const char *)NULL;
+}
+
+AXISC_STORAGE_CLASS_INFO 
+const char * axiscGetCurrentTransportPropertyKey(AXISCHANDLE stub, 
+                                                 AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return s->getCurrentTransportPropertyKey((bool)(response!=0));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return (const char *)NULL;    
+}
+
+AXISC_STORAGE_CLASS_INFO 
+const char * axiscGetCurrentTransportPropertyValue(AXISCHANDLE stub, 
+                                                   AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+
+    try
+    {
+        return s->getCurrentTransportPropertyValue((bool)(response!=0));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return (const char *)NULL;    
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscDeleteCurrentTransportProperty(AXISCHANDLE stub, 
+                                         AxiscBool response) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->deleteCurrentTransportProperty((bool)(response!=0));
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscDeleteTransportProperty(AXISCHANDLE stub, 
+                                  char * pcKey, 
+                                  unsigned int uiOccurance) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+
+    try
+    {
+        s->deleteTransportProperty(pcKey,uiOccurance);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetHandlerPropertyStub(AXISCHANDLE stub, 
+                                 AxiscChar * name, 
+                                 void * value, 
+                                 int len) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+
+    try
+    {
+        s->setHandlerProperty(name,value,len);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscCreateSOAPHeaderBlock(AXISCHANDLE stub, 
+                                       AxiscChar * pachLocalName, 
+                                       AxiscChar * pachUri, 
+                                       AxiscChar * pachPrefix) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return (AXISCHANDLE)s->createSOAPHeaderBlock(pachLocalName,pachUri,pachPrefix);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 
-AXISC_STORAGE_CLASS_INFO void axiscDeleteCurrentSOAPHeaderBlock(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	s->deleteCurrentSOAPHeaderBlock();
+    return (AXISCHANDLE)NULL;
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscDeleteSOAPHeaderBlock(AXISCHANDLE stub, AXISCHANDLE pHeaderBlock) {
-	Stub *s = (Stub*)stub;
-	s->deleteSOAPHeaderBlock((IHeaderBlock*)pHeaderBlock);
-}
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscGetFirstSOAPHeaderBlock(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return (AXISCHANDLE)s->getFirstSOAPHeaderBlock();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 
-AXISC_STORAGE_CLASS_INFO void axiscSetProxyStub(AXISCHANDLE stub, const char * pcProxyHost, 
-	unsigned int uiProxyPort) {
-	Stub *s = (Stub*)stub;
-	s->setProxy(pcProxyHost,uiProxyPort);
+    return (AXISCHANDLE)NULL;    
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscSetTransportTimeout(AXISCHANDLE stub, const long lSeconds) {
-	Stub *s = (Stub*)stub;
-	s->setTransportTimeout(lSeconds);
-}
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscGetNextSOAPHeaderBlock(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return (AXISCHANDLE)s->getNextSOAPHeaderBlock();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 
-AXISC_STORAGE_CLASS_INFO int axiscGetStatusStub(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	return s->getStatus();
+    return (AXISCHANDLE)NULL;    
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscSetMaintainSession(AXISCHANDLE stub, AxiscBool bSession) {
-	Stub *s = (Stub*)stub;
-	s->setMaintainSession(0!=bSession);
-}
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscGetCurrentSOAPHeaderBlock(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return (AXISCHANDLE)s->getCurrentSOAPHeaderBlock();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 
-AXISC_STORAGE_CLASS_INFO void axiscSetTransportProtocol(AXISCHANDLE stub, AXISC_PROTOCOL_TYPE eProtocol) {
-	Stub *s = (Stub*)stub;
-	s->setTransportProtocol((AXIS_PROTOCOL_TYPE)eProtocol);
+    return (AXISCHANDLE)NULL;    
 }
 
-AXISC_STORAGE_CLASS_INFO AXISC_PROTOCOL_TYPE axiscGetTransportProtocol(AXISCHANDLE stub) {
-	Stub *s = (Stub*)stub;
-	return (AXISC_PROTOCOL_TYPE)(s->getTransportProtocol());
+AXISC_STORAGE_CLASS_INFO 
+void axiscDeleteCurrentSOAPHeaderBlock(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->deleteCurrentSOAPHeaderBlock();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 }
 
-AXISC_STORAGE_CLASS_INFO AXISCHANDLE axiscGetCall(AXISCHANDLE stub) { 
-	StubC *s = (StubC*)stub;
-	return s->getCallStubC();
+AXISC_STORAGE_CLASS_INFO 
+void axiscDeleteSOAPHeaderBlock(AXISCHANDLE stub, AXISCHANDLE pHeaderBlock) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->deleteSOAPHeaderBlock((IHeaderBlock*)pHeaderBlock);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetProxyStub(AXISCHANDLE stub, 
+                       const char * pcProxyHost, 
+                       unsigned int uiProxyPort) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setProxy(pcProxyHost,uiProxyPort);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetTransportTimeout(AXISCHANDLE stub, 
+                              long lSeconds) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setTransportTimeout(lSeconds);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscApplyUserPreferences(AXISCHANDLE stub) { 
-	StubC *s = (StubC*)stub;
-	s->applyUserPreferencesStubC(); 
+AXISC_STORAGE_CLASS_INFO 
+int axiscGetStatusStub(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return s->getStatus();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return -1;
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetMaintainSession(AXISCHANDLE stub, 
+                             AxiscBool bSession) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setMaintainSession(0!=bSession);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetTransportProtocol(AXISCHANDLE stub, 
+                               AXISC_PROTOCOL_TYPE eProtocol) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        s->setTransportProtocol((AXIS_PROTOCOL_TYPE)eProtocol);
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 }
 
-AXISC_STORAGE_CLASS_INFO void axiscSetSOAPHeaders(AXISCHANDLE stub) { 
-	StubC *s = (StubC*)stub;
-	s->setSOAPHeadersStubC(); 
+AXISC_STORAGE_CLASS_INFO 
+AXISC_PROTOCOL_TYPE axiscGetTransportProtocol(AXISCHANDLE stub) 
+{
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    Stub *s = (Stub*)h->_objHandle;
+    
+    try
+    {
+        return (AXISC_PROTOCOL_TYPE)(s->getTransportProtocol());
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+    
+    return (AXISC_PROTOCOL_TYPE)-1;
+}
+
+AXISC_STORAGE_CLASS_INFO 
+AXISCHANDLE axiscGetCall(AXISCHANDLE stub) 
+{ 
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    StubC *s = (StubC*)h->_objHandle;
+    
+    try
+    {
+        AxisObjectContainer *newH = new AxisObjectContainer(s->getCallStubC());
+
+        return (AXISCHANDLE)newH;
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+
+    return (AXISCHANDLE)NULL;    
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscApplyUserPreferences(AXISCHANDLE stub) 
+{ 
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    StubC *s = (StubC*)h->_objHandle;
+    
+    try
+    {
+        s->applyUserPreferencesStubC();
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
+}
+
+AXISC_STORAGE_CLASS_INFO 
+void axiscSetSOAPHeaders(AXISCHANDLE stub) 
+{ 
+    AxisObjectContainer *h = (AxisObjectContainer *)stub;
+    h->_exception.resetException();
+    StubC *s = (StubC*)h->_objHandle;
+    
+    try
+    {
+        s->setSOAPHeadersStubC(); 
+    }
+    catch ( AxisException& e  )
+    {
+        h->_exception.setExceptionFromException(e);
+        axiscInvokeExceptionHandler(e.getExceptionCode(), e.what());
+    }
+    catch ( ... )
+    {
+        h->_exception.setExceptionCode(-1);  
+        h->_exception.setMessage("Unrecognized exception thrown.");  
+        axiscInvokeExceptionHandler(-1, "Unrecognized exception thrown.");
+    }
 }
 
 }