You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "nadir amra (JIRA)" <ax...@ws.apache.org> on 2007/01/14 07:36:27 UTC
[jira] Reopened: (AXISCPP-1011) faultactor is facultative in
SoapFaults
[ https://issues.apache.org/jira/browse/AXISCPP-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
nadir amra reopened AXISCPP-1011:
---------------------------------
For a correct parse of SoapFaults and their details i had to make two additional small changes (apart from making faultactor optional):
$ pwd
/cd/d/Quellen/SVN/axis/c/src/soap
Index: SoapDeSerializer.cpp
===================================================================
--- SoapDeSerializer.cpp (Revision 480584)
+++ SoapDeSerializer.cpp (Arbeitskopie)
@@ -899,7 +904,7 @@
// Skip the faultdetail tag
if (!m_pNode)
- m_pParser->next ();
+ m_pNode = m_pParser->next();
m_nStatus = AXIS_SUCCESS;
@@ -1619,7 +1624,8 @@
if (bReturn)
{
m_pNode = m_pParser->next (); /* skip end element node too */
- m_pNode = NULL; /* AXISCPP-978 node identified and used */
+ if (m_pNode->m_type != START_ELEMENT || m_pNode->m_type2 != END_ELEMENT)
+ m_pNode = NULL; /* AXISCPP-978 node identified and used */
return;
}
}
> faultactor is facultative in SoapFaults
> ---------------------------------------
>
> Key: AXISCPP-1011
> URL: https://issues.apache.org/jira/browse/AXISCPP-1011
> Project: Axis-C++
> Issue Type: Bug
> Components: SOAP
> Affects Versions: current (nightly)
> Environment: WIN2KSP4 VC6SP6 JDK1.5.0_07
> Reporter: Franz Fehringer
> Assigned To: nadir amra
>
> In handling SoapFaults, faultactor is retrieved unconditionally (next()) where it should (being facultative) be checked for presence first (peek()).
> $ pwd
> /cd/d/Quellen/SVN/axis/c/src/soap
> Index: SoapDeSerializer.cpp
> ===================================================================
> --- SoapDeSerializer.cpp (Revision 480584)
> +++ SoapDeSerializer.cpp (Arbeitskopie)
> @@ -401,7 +401,8 @@
> char *pcDetail;
> char *pcFaultCode;
> char *pcFaultstring;
> - char *pcFaultactor;
> + char *pcFaultactor = "";
> + char* pcName;
> if (0 == strcmp ("Fault", pName))
> {
> if (0 != strcmp (m_pNode->m_pchNameOrValue, pName))
> @@ -431,10 +432,14 @@
> if ( pcFaultstring )
> delete [] pcFaultstring;
>
> - pcFaultactor = getElementAsString ("faultactor", 0);
> - pFault->setFaultactor (pcFaultactor == NULL ? "" : pcFaultactor);
> - if ( pcFaultactor )
> - delete [] pcFaultactor;
> + pName = peekNextElementName();
> + if (strcmp(pName, "faultactor") == 0)
> + {
> + pcFaultactor = getElementAsString ("faultactor", 0);
> + pFault->setFaultactor (pcFaultactor == NULL ? "" : pcFaultactor);
> + if ( pcFaultactor )
> + delete [] pcFaultactor;
> + }
>
> // FJP Changed the namespace from null to a single space (an impossible
> // value) to help method know
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org