Skip to Content
0
Former Member
May 10, 2013 at 02:43 PM

Mapping Error : The prefix "soapenv" for element "soapenv:Envelope" is not bound.

3944 Views

Hello Everyone,

We are trying to implement the SOAP to PI to Proxy scenario wherein the PI interface is exposed as a webservice to an external system. The Client Program is trying to send the following message to the PI webservice :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:xx.xxx.com:xxx:xxxxxxxxx_POC">

<soapenv:Header/>

<soapenv:Body>

<urn:MT_ClientRequest>

<Name>am</Name>

</urn:MT_ClientRequest>

</soapenv:Body>

</soapenv:Envelope>

It is failing while mapping and giving the error "The prefix "soapenv" for element "soapenv:Envelope" is not bound." When I checked SXMB_MONI for the request message it is showing me the below given message

<soapenv:Envelope>

<soapenv:Header/>

<soapenv:Body>

<MT_ClientRequest>

<Name xmlns=''>am10May</Name>

</MT_ClientRequest>

</soapenv:Body>

</soapenv:Envelope>

</MT_ClientRequest>

Clearly it is failing because it is not able to find a reference to "soapenv" in the body.

I have tried the below mentioned remedies

  1. Make the sender channel adjustments to "Do Not Use SOAP Envelope". This fails because, the Body of the message is not passed to the mapping program in this case.
  2. Created an XSLT to add namespace xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/". This fails with the error "The prefix "soapenv" for element "soapenv:Envelope" is not bound."
  3. Created an XSLT to remove prefix soapenv. This fails with the error "The prefix "soapenv" for element "soapenv:Envelope" is not bound."

I have read a few blog entries about using the XMLAnonymizerBean but I am not sure if it will work on the SOAP Sender Adapter Channel.

Any help to overcome the error will be highly appreciated.

Regards