使用php请求Web服务失败,从Windows客户端成功

时间:2014-03-11 14:16:35

标签: soap web service iis-7.5

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

   <?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)发送请求请求失败 - 服务器没有“请求”字符串,意味着没有正文的内容。 服务器在两种情况下都接收上面相同的soap信封(使用跟踪扩展名记录它)。

感谢您的帮助。

哈拉尔德

P.S。无论我是否使用嵌入式XML或嵌入字符串进行请求。

1 个答案:

答案 0 :(得分:0)

使用asmx跟踪我至少发现了SoapUI的问题。请求的需求类别是“text / xml”,它有“application / soap + xml”。我已禁用“肥皂动作”,呼叫成功。