You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by pr...@apache.org on 2006/01/25 17:49:31 UTC
svn commit: r372270 - in /webservices/axis/trunk/c/src/soap:
SoapDeSerializer.cpp SoapDeSerializer.h
Author: prestonf
Date: Wed Jan 25 08:46:51 2006
New Revision: 372270
URL: http://svn.apache.org/viewcvs?rev=372270&view=rev
Log:
Changes for RPC deserialisation.
Modified:
webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
webservices/axis/trunk/c/src/soap/SoapDeSerializer.h
Modified: webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp?rev=372270&r1=372269&r2=372270&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp Wed Jan 25 08:46:51 2006
@@ -739,7 +739,7 @@
const char* elementName = peekNextElementName();
if(strcmp(elementName, pName) == 0)
{
- getElement(pName, pNamespace, pSimpleType);
+ getElement(pName, pNamespace, pSimpleType, true);
void * pValue = pSimpleType->getValue();
pArray->addElement(pValue);
Axis::AxisDelete(pValue, pSimpleType->getType());
@@ -1603,7 +1603,8 @@
void SoapDeSerializer::getElement (const AxisChar * pName,
const AxisChar * pNamespace,
- IAnySimpleType * pSimpleType)
+ IAnySimpleType * pSimpleType,
+ bool isArrayElement)
{
if (AXIS_SUCCESS != m_nStatus)
return;
@@ -1633,7 +1634,7 @@
}
}
- if (bNillFound || (pSimpleType->getType() == getXSDType (m_pNode)))
+ if (bNillFound || isArrayElement || (pSimpleType->getType() == getXSDType (m_pNode)))
{
m_pNode = m_pParser->next (true); /* charactor node */
if (m_pNode && (CHARACTER_ELEMENT == m_pNode->m_type))
Modified: webservices/axis/trunk/c/src/soap/SoapDeSerializer.h
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/soap/SoapDeSerializer.h?rev=372270&r1=372269&r2=372270&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapDeSerializer.h (original)
+++ webservices/axis/trunk/c/src/soap/SoapDeSerializer.h Wed Jan 25 08:46:51 2006
@@ -133,7 +133,7 @@
/* Methods used by wrappers to get a deserialized value of basic types */
void getElement (const AxisChar* pName, const AxisChar* pNamespace,
- IAnySimpleType* pSimpleType);
+ IAnySimpleType* pSimpleType, bool isArrayElement = false);
xsd__int * AXISCALL getElementAsInt(const AxisChar* pName,
const AxisChar* pNamespace);
xsd__boolean * AXISCALL getElementAsBoolean(const AxisChar* pName,