[SWS-509] Namespace prefix in attribute value not resolved correctly Created: 13/May/09  Updated: 04/May/12  Resolved: 19/May/09

Status: Closed
Project: Spring Web Services
Component/s: Core
Affects Version/s: 1.5.6
Fix Version/s: 1.5.7

Type: Bug Priority: Major
Reporter: Lukas Krecan Assignee: Arjen Poutsma
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SWS-502 Soap envelope rpc-encoded namespace i... Closed
Related
is related to SWS-523 CLONE -Namespace prefix in attribute ... Closed
Reference URL: http://forum.springsource.org/showthread.php?t=71673

 Description   

I have following SOAP request.

 
<soapenv:Envelope  xmlns:ns="http://schemas.qqq.com/wsdl/spi/profile/1.0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getRights> 
            <ns:customerCredential xsi:type="ns:CustomerCredentialMsisdn">
               <ns:msisdn>420123456789</ns:msisdn>
            </ns:customerCredential>
      </ns:getRights>
   </soapenv:Body>
</soapenv:Envelope>

When umarshalling is called only the payload is passed to the unmarshaller. So DOM equivalent of following is used

 
<ns:getRights> 
            <ns:customerCredential xsi:type="ns:CustomerCredentialMsisdn">
               <ns:msisdn>420123456789</ns:msisdn>
            </ns:customerCredential>
</ns:getRights>

Please note that namespace prefix ns is not defined. Usually this is not a problem since in DOM namespaces are already resolved. There is one exception - attribute value. When XmlBeans try to unmarshall the element, they are not able to resolve the namespace and do not work correctly. I assume that Spring-WS should somehow take this situation into account.

If following request is used (the only difference is position of ns prefix declaration) everything works fine

 
<soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header/>
   <soapenv:Body>
      <ns:getRights xmlns:ns="http://schemas.qqq.com/wsdl/spi/profile/1.0"> 
            <ns:customerCredential xsi:type="ns:CustomerCredentialMsisdn">
               <ns:msisdn>420123456789</ns:msisdn>
            </ns:customerCredential>
      </ns:getRights>
   </soapenv:Body>
</soapenv:Envelope>



 Comments   
Comment by Arjen Poutsma [ 19/May/09 ]

This should be fixed, as it seems to be a duplicate of SWS-502

Comment by Arjen Poutsma [ 04/May/12 ]

Closing old issues

Generated at Sat Dec 16 01:30:10 UTC 2017 using JIRA 6.4.14#64029-sha1:ae256fe0fbb912241490ff1cecfb323ea0905ca5.