2015-10-22 6 views
0

Почему этот мыльный звонок не работает для этого URL-адреса?Недействительный мыльный звонок

http://services.aonaware.com/DictService/DictService.asmx?op=Define

<v:Envelope xmlns:i="http://www.w3.org/1999/XMLSchema-instance" xmlns:d="http://www.w3.org/1999/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"> 
    <v:Header /> 
    <v:Body> 
     <Define xmlns="http://tempuri.org/" id="o0" c:root="1"> 
      <word i:type="d:string">Name</word> 
     </Define> 
    </v:Body> 
</v:Envelope> 

Но это делает

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://services.aonaware.com/webservices/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <web:Define> 
     <!--Optional:--> 
     <web:word>Test</web:word> 
     </web:Define> 
    </soapenv:Body> 
</soapenv:Envelope> 

ответ

1

Потому что они разные: не только по содержанию, но и в определении пространства имен, чтобы исправить первый вы, чтобы по крайней мере использовать правильное пространство имен, поэтому используйте http://services.aonaware.com/webservices/ для вашего <Define>, как и для второго:

<v:Envelope xmlns:i="http://www.w3.org/1999/XMLSchema-instance" xmlns:d="http://www.w3.org/1999/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/"> 
    <v:Header /> 
    <v:Body> 
     <Define xmlns="http://services.aonaware.com/webservices/" id="o0" c:root="1"> 
      <word i:type="d:string">Name</word> 
     </Define> 
    </v:Body> 
</v:Envelope> 

Затем убедитесь также, что idc:root являются действительными атрибуты вашей xsd для <Definition> и i:type это правильным для <word>.

EDIT

Я призываю http://services.aonaware.com/DictService/DictService.asmx с SoapUI используя мой исправленный запрос и его ответ правильно:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <DefineResponse xmlns="http://services.aonaware.com/webservices/"> 
     <DefineResult> 
      <Word>Name</Word> 
      <Definitions> 
       <Definition> 
        <Word>Name</Word> 
        <Dictionary> 
        <Id>gcide</Id> 
        <Name>The Collaborative International Dictionary of English v.0.44</Name> 
        </Dictionary> 
        <WordDefinition>Name \Name\ (n[=a]m), n. [AS. nama; akin to D. naam, OS. &amp; OHG. 
    ... 
      [1913 Webster]</WordDefinition> 
       </Definition> 
       <Definition> 
        <Word>Name</Word> 
        <Dictionary> 
        <Id>gcide</Id> 
        <Name>The Collaborative International Dictionary of English v.0.44</Name> 
        </Dictionary> 
        <WordDefinition>Name \Name\ (n[=a]m), v. t. [imp. &amp; p. p. {Named} (n[=a]md); p. 
    ... 
       </WordDefinition> 
       </Definition> 
      </Definitions> 
     </DefineResult> 
     </DefineResponse> 
    </soap:Body> 
</soap:Envelope> 

Надеется, что это помогает,

Смежные вопросы