【问题标题】:Request to web services failed using php, succeeded from windows client使用 php 对 Web 服务的请求失败,从 Windows 客户端成功
【发布时间】:2014-03-11 14:16:35
【问题描述】:

我使用 asp.net 2.0 编写了一个 Web 服务和一个简单的方法“HelloWorld”来测试它。这是服务器收到的肥皂信封:

   <?xml version="1.0" encoding="utf-8"?>
   <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:Header>
       <SoapAuthHeader xmlns="http://myservice.anywhere.net/">
         <UserName>MyUser</UserName>
         <Password>MyPassword</Password>
       </SoapAuthHeader>
     </soap:Header>
     <soap:Body>
       <HelloWorld xmlns="http://myservice.anywhere.net/">
         <request>
           &lt;?xml version="1.0" encoding="utf-16"?&gt;
           &lt;HelloWorld /&gt;
         </request>
       </HelloWorld>
     </soap:Body>
   </soap:Envelope>

我的问题是:如果我从带有嵌入式 wsdl 的 Windows 客户端发送请求,它会成功。如果我从 php(或 SoapUI)发送请求,则请求失败 - 服务器没有获得“请求”字符串,意味着没有正文内容。 服务器在这两种情况下都会收到上述相同的肥皂信封(使用跟踪扩展记录它)。

感谢您的帮助。

哈拉尔

附:无论我使用嵌入的 XML 还是嵌入的字符串作为请求。

【问题讨论】:

    标签: soap web service iis-7.5


    【解决方案1】:

    使用 asmx 跟踪我至少发现了 SoapUI 的问题。请求的需求类别是“text/xml”,它得到“application/soap+xml”。我已禁用“肥皂操作”并且调用成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多