我有一个以下的网络服务设计
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请求有问题吗?
答案 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
。