You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-commits@axis.apache.org by na...@apache.org on 2011/12/11 02:53:03 UTC
svn commit: r1212959 - in /axis/axis1/c/trunk/src/soap: SoapDeSerializer.cpp
SoapDeSerializer.h
Author: nadiramra
Date: Sun Dec 11 01:53:03 2011
New Revision: 1212959
URL: http://svn.apache.org/viewvc?rev=1212959&view=rev
Log:
AXISCPP-227 complex extension support step 1.
Modified:
axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp
axis/axis1/c/trunk/src/soap/SoapDeSerializer.h
Modified: axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp?rev=1212959&r1=1212958&r2=1212959&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp (original)
+++ axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp Sun Dec 11 01:53:03 2011
@@ -74,6 +74,8 @@ SoapDeSerializer ()
m_nStatus = AXIS_SUCCESS;
m_nSoapVersion = VERSION_LAST;
+ m_doNotSkip = false;
+
logExit()
}
@@ -1024,7 +1026,9 @@ getCmplxObject (void *pDZFunct, void *pC
if (pObject && pDZFunct)
{
try
- {
+ {
+ m_doNotSkip = false;
+
logDebugArg1("Calling object deserializer function for %s", pName)
m_nStatus = ((AXIS_DESERIALIZE_FUNCT) pDZFunct) (pObject, this);
@@ -1033,7 +1037,10 @@ getCmplxObject (void *pDZFunct, void *pC
if (AXIS_SUCCESS == m_nStatus)
- skipNode();
+ {
+ if (!m_doNotSkip)
+ skipNode();
+ }
else
{
logDebugArg2("Calling object delete function for %s for object %p", pName, pObject)
@@ -2460,6 +2467,11 @@ getChardataAs (void **pValue, XSDTYPE ty
*pValue = pSimpleType->getValue();
delete pSimpleType;
}
+ else if (END_ELEMENT == m_pNode->m_type)
+ {
+ m_doNotSkip = true;
+ m_pNode = NULL;
+ }
}
logExit()
Modified: axis/axis1/c/trunk/src/soap/SoapDeSerializer.h
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/soap/SoapDeSerializer.h?rev=1212959&r1=1212958&r2=1212959&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/soap/SoapDeSerializer.h (original)
+++ axis/axis1/c/trunk/src/soap/SoapDeSerializer.h Sun Dec 11 01:53:03 2011
@@ -63,6 +63,8 @@ private:
string m_strMethodNameToInvoke;
+ bool m_doNotSkip;
+
private:
int AXISCALL getArraySize();
public: