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
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]