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 "Lahiru Gunathilake (JIRA)" <ji...@apache.org> on 2008/01/21 05:39:34 UTC

[jira] Commented: (AXIS2C-834) guththila_xml_writer has problems with default namespace

    [ https://issues.apache.org/jira/browse/AXIS2C-834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560930#action_12560930 ] 

Lahiru Gunathilake commented on AXIS2C-834:
-------------------------------------------

This issue is resloved by the jira 891.Now guththila parser works with default namespaces.

Regs
lahiru

> guththila_xml_writer has problems with default namespace
> --------------------------------------------------------
>
>                 Key: AXIS2C-834
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-834
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: guththila, xml/parser
>    Affects Versions: Current (Nightly)
>         Environment: Windows XP, Visual Studio 2005, guththila parser, libcurl transport
>            Reporter: Bill Mitchell
>         Attachments: guththila_xml_writer_diff, guththila_xml_writer_wrapper_diff
>
>
> The guththila xml writer appears to have several problems related to the default namespace.  These appear when attempting to use the ADB stubs for the elements in the SOAP request messages, as the Axis data bindings fill in the default namespace from the WSDL.  
> (1) In guththila_xml_writer_wrapper, guththila_xml_writer_wrap_namespace() has a comment indicating that the prefix is null on the default namespace.  Yet it goes ahead and calls guththila_write_namespace() which requires both a prefix and a namespace URI.  
> (2) In guththila_xml_wrapper.c, the routine guththila_write_start_element_with_namespace() does not understand the default namespace.  It searches the table of namespaces to determine the prefix that goes with this namespace.  If the namespace is not found, no XML is generated, so no element is started although the outer code assumes it is.  This results in malformed XML as below:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header></soapenv:Header>
> <soapenv:Body name="customer" exemplarHandle="master" xmlns="http://frameware.xcentrisity.com/services/"></soapenv:Body>
> </soapenv:Envelope></
> Yes, the trailing </ is not a typo.  When the XML writer tries to close off 3 elements in the stack without having started one of the elements, this is the outcome.  
> (3) After fixing the above problems, I discovered that the generated XML for the element inside the SOAP Body incorrectly had the URI of the namespace as the name of the element, rather than the name itself.  I.e., the message contained a structure like:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header></soapenv:Header>
> <soapenv:Body>
> <http://frameware.xcentrisity.com/services/ name="customer" exemplarHandle="master" xmlns="http://frameware.xcentrisity.com/services/"></http://frameware.xcentrisity.com/services/>
> </soapenv:Body>
> </soapenv:Envelope>
> The problem is that guththila_xml_writer_wrapper_start_element_with_namespace() is not flipping the order of the parameters as is correctly done in guththila_xml_writer_wrapper_start_element_with_namespace_prefix().  

-- 
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