2016-09-12 6 views
1

Я SOAP новичок и борюсь с тем, как разрешить это сообщение об ошибке,Ошибка: Необъявленная префикс пространства имен х:

{:error, "500", "Undeclared namespace prefix \"x\"\n at [row,col {unknown-source}]: [1,168]"}

для ниже SOAP-конверта. Из-за условий хост-системы, к которой я пытаюсь получить доступ, я заменил идентификационный URL и учетную информацию на «xxx» и удалил большинство объектов.

<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> 

ответ

5

Чтобы устранить проблему необъявленной префиксом пространства имен (x:), делать какие-либо один из следующих действий:

  1. Заменить x: с soapenv: в названиях элементов SOAP конверт.

  2. Изменение xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" до xmlns:x="http://schemas.xmlsoap.org/soap/envelope/".

  3. Используйте пространство имен по умолчанию, изменив xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" на xmlns="http://schemas.xmlsoap.org/soap/envelope/" и удаление x: в названиях элементов SOAP конверт.

+1

Это было! Спасибо за 3 варианта, поскольку это помогло мне понять требования к префиксу пространства имен xml. –