为什么SOAPUI返回错误的请求?

时间:2016-02-28 17:38:02

标签: soap wsdl soapui

我创建了一个soapui项目来测试this wsdl

发送此请求时

  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:x/="http://www.w3schools.com/xml/">
 <soapenv:Header/>
 <soapenv:Body>
    <x/:CelsiusToFahrenheit>
       <!--Optional:-->
       <x/:Celsius>30</x/:Celsius>
    </x/:CelsiusToFahrenheit>
 </soapenv:Body>

我在原始回复中得到了错误的请求

  HTTP/1.1 400 Bad Request
  Cache-Control: private,public
  Content-Type: text/xml; charset=utf-8
  Date: Sun, 28 Feb 2016 17:33:28 GMT
  Server: Microsoft-IIS/7.5
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Content-Length: 0

1 个答案:

答案 0 :(得分:3)

由于命名空间(x/)中的特殊字符,错误非常简单,可以通过验证请求(在请求编辑器中单击键&#39; Alt + v`)找到该错误

无法弄清楚为什么当soapUI生成请求时会出现这样的特殊字符

为了使请求有效,应该怎么做?

请将请求更改为以下(将x/替换为x):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:x="http://www.w3schools.com/xml/">
   <soapenv:Header/>
   <soapenv:Body>
      <x:CelsiusToFahrenheit>
         <x:Celsius>30</x:Celsius>
      </x:CelsiusToFahrenheit>
   </soapenv:Body>
</soapenv:Envelope>

以下是如上所述更改请求时成功响应的屏幕截图。

CelsiusToFahrenheit request and response