如何形成.net中设计的Web服务的URL请求

时间:2013-08-06 13:14:43

标签: .net web-services http

我有一个以下的网络服务设计

POST /films/FilmApp.asmx HTTP/1.1
Host: myhost.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/getFilms"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getFilms xmlns="http://tempuri.org/">
      <s1>string</s1>
    </getFilms>
  </soap:Body>
</soap:Envelope>

对于上述Web服务请求,我正在尝试启动http调用并在我的移动应用程序中使用它。我在我的http请求中解析为

http://myhost.com/films/FilmApp.asmx/getFilms?s1=inception

对于上述请求,我收到的回复是

http://myhost.com/Errorpage.aspx?aspxerrorpath=/films/FilmApp.asmx/getFilms.

我期待下面的XML响应

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <getFilmsResponse xmlns="http://tempuri.org/">
      <getFilmsResult>xml</getFilmsResult>
    </getFilmsResponse>
  </soap:Body>
</soap:Envelope>

../ films / FilmApp.asmx / getFilms是一个有效的路径,我无法理解为什么我收到此错误。我的http请求有问题吗?

1 个答案:

答案 0 :(得分:0)

当您还拥有此from the browser for testing文件时,http://myhost.com/films/FilmApp.asmx/getFilms?s1=inception仅适用于enabled in your configuration目的:

<system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
</system.web>

您需要POST的SOAP端点为http://myhost.com/films/FilmApp.asmx