Change Namespace URI in Spring SOAP WS

Viewed 51

We have some legacy systems that consume the same @Endpoint however each with a different namespace. The payload, implementation and functionality are the same except for the namespace of the SOAPBody's first child element.

How would I replace the namespace of the incoming SOAP request to a generic one before it reaches the Endpoint? Tried playing with the EndpointInterceptor however unable to find a method to replace the namespace.

Legacy System 1:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <GetRecordsRequest xmlns="http://www.test.com/system1">
         <maxRecords>100</maxRecords>
      <GetRecordsRequest>
   </soapenv:Body>
</soapenv:Envelope>

Legacy System 2:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <GetRecordsRequest xmlns="http://www.abctest.com/system2">
         <maxRecords>100</maxRecords>
      <GetRecordsRequest>
   </soapenv:Body>
</soapenv:Envelope>
0 Answers
Related