IHandlerSoapSerializer->setSoapVersion creates duplicate namespaces in header
-----------------------------------------------------------------------------
Key: AXISCPP-368
URL: http://issues.apache.org/jira/browse/AXISCPP-368
Project: Axis-C++
Type: Bug
Reporter: Andrew Perry
When I add call setSoapVersion in a handler, the SOAP Header adds duplicate
namespaces which causes the web service call to fail. I have 2 handler tests,
the only difference is "pISZ->setSoapVersion(SOAP_VER_1_2);" where pISZ is a
pointer to the IHandlerSoapSerializer retrieved from the IMessageData object.
The first working test produces this soap message:
----------------------------------
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header><ns2:echoMeString
xmlns:ns2="http://soapinterop.org/echoheader/">test Header
Val</ns2:echoMeString></SOAP-ENV:Header>
<SOAP-ENV:Body>
...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
----------------------------------
And the second failing tests with the setSoapVersion call produces this soap
message
----------------------------------
<?xml version='1.0' encoding='utf-8' ?>
<env:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header><ns2:echoMeString
xmlns:ns2="http://soapinterop.org/soapversion/">Soap Version
Test</ns2:echoMeString></env:Header>
<env:Body>
...
</env:Body>
</env:Envelope>
----------------------------------
As can be seen env is defined, but is different to SOAP-ENV which is also
defined but never used, and also the xsd and xsi namespaces are defined twice
though consistantly. When this message is sent the web server throws the
following message
----- snippit --------------------
Bad envelope namespace: http://www.w3.org/2003/05/soap-envelope
----------------------------------
which is the definition of the env namespace which is used. The SOAP-ENV
namespace is correct.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.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