axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dinesh Premalal (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIS2C-796) SOAP response message with leading XML comment is treated as invalid envelope
Date Fri, 30 Nov 2007 13:30:43 GMT

     [ https://issues.apache.org/jira/browse/AXIS2C-796?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dinesh Premalal updated AXIS2C-796:
-----------------------------------

    Fix Version/s: 1.2.0

> SOAP response message with leading XML comment is treated as invalid envelope
> -----------------------------------------------------------------------------
>
>                 Key: AXIS2C-796
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-796
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: xml/om
>    Affects Versions: 1.1.0
>         Environment: Windows XP, Visual Studio 2005
>            Reporter: Bill Mitchell
>            Assignee: Dinesh Premalal
>             Fix For: 1.2.0
>
>         Attachments: diff.txt
>
>
> In sending a SOAP request to a particular service, I receive a response of the following
form:
> <?xml version="1.0" encoding="UTF-8" ?> 
> <!-- SOAP 1.1 Message - Powered by Xcentrisityâ„¢ Frameware  --> 
> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
> <env:Body>
> ...
> </env:Body>
> </env:Envelope>
> Unfortunately, when this response is received by Axis2C, it is diagnosed as invalid,
error 187, SOAP message does not contain a SOAP envelope element.  
> Stepping through the code reveals that axiom_stax_builder_create_om_comment() treats
a leading comment before the root node as discardable and returns a null pointer. Then in
axiom_stax_builder_next_with_token(), a null pointer returned is treated as always being an
error.  
> My suggested fix is that axiom_stax_builder_next_with_token() should complete the comment
element only if one is created, but should always return it as valid and keep scanning.  In
particular, the comment portion of the switch statement that reads:
>     case AXIOM_XML_READER_COMMENT:
>         val = axiom_stax_builder_create_om_comment(om_builder, env);
>         if (!val)
>         {
>             return -1;
>         }
>         axiom_stax_builder_end_element(om_builder, env);
>         break;
> should read instead:
>     case AXIOM_XML_READER_COMMENT:
>         val = axiom_stax_builder_create_om_comment(om_builder, env);
>         if (val)
>         {
>             axiom_stax_builder_end_element(om_builder, env);
>         }
>         break;
> In my particular situation, I have verified that making this change allows the returned
SOAP response to be processed correctly.  I have not tested the other case, of a malformed
comment that runs off the document.  I hope that the subsequent read for more tokens will
terminate nicely when it finds the document empty.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org


Mime
View raw message