I'm currently using Muse 2.1.0 and deploying my app using the
mini-servlet platform. Now, when I try to upgrade to the Axis2
packaging, the xml received on the server side has a bunch of duplicate
namespaces. I'm not sure what is causing this, but I suspect it might
be Axis2. This causes problems when I try to call
XmlUtils.getQName(element) and pass an Element extracted from the
request header using the Axis2 MessageContext class.
Is anyone else experiencing the same problems? To upgrade to Axis2, I
basically deploy the Axis2 web.xml and libs that come with Muse 2.1.0,
instead of the mini version of web.xml and libs.
The client output is the same for both packagings. For example:
[CLIENT TRACE] SOAP envelope contents (outgoing):
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wsa:To
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8080/T
estApp/services/QueryServicePort</wsa:To>
<wsa:Action
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://schemas.cmp.cisc
o.com/2006/07/QueryService/getRequest</wsa:Action>
<wsa:MessageID
xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:59d2dd91-dcb0-2fec
-0e14-a86085b7b551</wsa:MessageID>
<wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Ad
dress>
</wsa:From>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd">
<wsse:UserToken>
<wsse:Username>TestUsername</wsse:Username>
<wsse:Password>TestPassword</wsse:Password>
</wsse:UserToken>
</wsse:Security>
</soap:Header>
...
</soap:Envelope>
The difference is the incoming xml on the server side. Using the mini
platform, the xml is fine and appears as:
FINE: [SERVER TRACE] SOAP envelope contents (incoming):
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wsa:To
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8080/T
estApp/services/QueryServicePort</wsa:To>
<wsa:Action
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://schemas.cmp.cisc
o.com/2006/07/QueryService/getRequest</wsa:Action>
<wsa:MessageID
xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:bd9305ca-ca2c-15e5
-7786-b51bd47714d1</wsa:MessageID>
<wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Ad
dress>
</wsa:From>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd">
<wsse:UserToken>
<wsse:Username>TestUsername</wsse:Username>
<wsse:Password>TestPassword</wsse:Password>
</wsse:UserToken>
</wsse:Security>
</soap:Header>
...
</soap:Envelope>
But, using the Axis2 platform, the incoming xml contains many duplicate
namespaces. It appears as:
FINE: [SERVER TRACE] SOAP envelope contents (incoming):
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8080/T
estApp/services/QueryServicePort</wsa:To>
<wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsa="http://www.w3.org/2005/08/addressing">http://schemas.cmp.cisc
o.com/2006/07/QueryService/getRequest</wsa:Action>
<wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:59d2dd91-dcb0-2fec
-0e14-a86085b7b551</wsa:MessageID>
<wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Ad
dress>
</wsa:From>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wsse
curity-secext-1.0.xsd">
<wsse:UserToken>
<wsse:Username>TestUsername</wsse:Username>
<wsse:Password>TestPassword</wsse:Password>
</wsse:UserToken>
</wsse:Security>
</soap:Header>
...
</soap:Envelope>