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 "shijith lal (JIRA)" <ax...@ws.apache.org> on 2004/11/02 13:10:32 UTC
[jira] Created: (AXISCPP-240) Bug in SoapDeserilizer File
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
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
[jira] Closed: (AXISCPP-240) Bug in SoapDeserilizer File
Posted by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org>.
[ 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