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