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 "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org> on 2004/11/19 11:16:29 UTC

[jira] Closed: (AXISCPP-240) Bug in SoapDeserilizer File

     [ http://nagoya.apache.org/jira/browse/AXISCPP-240?page=history ]
     
Samisa Abeysinghe closed AXISCPP-240:
-------------------------------------

      Assign To: Samisa Abeysinghe
     Resolution: Fixed
    Fix Version: 1.4 Alpha

Bugs were fixed in line with the suggestions made.
Thanks to Shijith Lal for his feedback/thougts on the fix.

> Bug in SoapDeserilizer File
> ---------------------------
>
>          Key: AXISCPP-240
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-240
>      Project: Axis-C++
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.3 Final
>     Reporter: shijith lal
>     Assignee: Samisa Abeysinghe
>      Fix For: 1.4 Alpha

>
>  I am working with Axis Client 1.3 (C++ ) version. I want to recieve
> a complex response coming from my apache SOAP server. For that I write
> my own Deserialize function and proced. I use the "getAnyObject"
> function of Deserializer object. I found that if my attribute contain
> no namespace it will not work. The code in Axis C++ client looks like
> (in SoapDeserializer.cpp file serializeTag function )
>                if (node->m_pchAttributes[j])
>                {
>              pchPrefix = m_pParser->getPrefix4NS(node->m_pchAttributes[j+1]);
>                      // remainig code....
>                }
> m_pchAttributes[j+1] is null in my case. So the function throw an
> exception if i use the Expat XML parser. I think it is bug and code
> can be change to
>        if (node->m_pchAttributes[j])
>                {
>                  if(node->m_pchAttributes[j+1])
>                 {
>              pchPrefix = m_pParser->getPrefix4NS(node->m_pchAttributes[j+1]);
>                 }
>                      // remainig code....
>                }
>   Another prblem in the same file and function is , code looks like
>        xmlStr += " ";
>        if (pchPrefix && (strcmp(pchPrefix, "")!=0))
>               {
>         xmlStr += pchPrefix;
>        xmlStr += ":";
>        xmlStr += node->m_pchAttributes[j];
>        }
>                xmlStr += "=\"";                                        xmlStr +=
> node->m_pchAttributes[j+2];                             xmlStr += "\"";
> here if namespace is null then the attribute name will not append to
> the result string . It can be modified to
>        xmlStr += " ";
>        if (pchPrefix && (strcmp(pchPrefix, "")!=0))
>               {
>         xmlStr += pchPrefix;
>        xmlStr += ":";
>        }
>        xmlStr += node->m_pchAttributes[j];
>                xmlStr += "=\"";                                        xmlStr +=
> node->m_pchAttributes[j+2];                             xmlStr += "\"";

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira