I am a SOAP newbie and struggling with how to resolve this error message,
{:error, "500", "Undeclared namespace prefix \"x\"\n at [row,col {unknown-source}]: [1,168]"}
for the below SOAP envelope. Because of terms and conditions of the host system I am trying to access, I have replaced identifying URL and credential info with "xxx" and removed the majority of objects.
<x:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:read="urn://xxx/sdk/ReadObject"
xmlns:obj="http://xxx/object">
<x:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>xxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxx</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</x:Header>
<x:Body>
<read:readEstimate>
<read:estimate>
<obj:id>38945</obj:id>
</read:estimate>
</read:readEstimate>
</x:Body>
</x:Envelope>
To fix the problem of an undeclared namespace prefix (x:
), do any one of the following:
Replace x:
with soapenv:
in the SOAP envelope element names.
Change xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
to xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
.
Use a default namespace by changing xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
to xmlns="http://schemas.xmlsoap.org/soap/envelope/"
and removing x:
in the SOAP envelope element names.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With