如何調用ASP .NET Web服務並使用URL傳遞參數?如何調用Web服務並使用URL傳遞參數
例如,對於服務的URL是什麼樣子,
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight
我需要傳遞兩個參數a和b,我試圖
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight?a=254&b=1
但是失敗了。
請指教。
很多謝謝,
如何調用ASP .NET Web服務並使用URL傳遞參數?如何調用Web服務並使用URL傳遞參數
例如,對於服務的URL是什麼樣子,
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight
我需要傳遞兩個參數a和b,我試圖
http://[localhost]:31856/MySystem/MyAPI.asmx?op=getHeight?a=254&b=1
但是失敗了。
請指教。
很多謝謝,
不是這樣的。
您必須在函數中聲明參數。 例如這裏是一個小例子:
[WebMethod]
public string[] getVariables(string sop, string sgsm)
{ // do what you want ... }
然後當你調用它
WebReference.Service1 service = new WebReference.Service1();
service.getVariables("foo", "blabla");
更改第二?
到&
。如果您查看http://[localhost]:31856/MySystem/MyAPI.asmx
呈現的頁面,它會告訴您如何將其稱爲HTTP GET
。
如果您需要傳遞多個參數,使用這種格式param1=value1¶m2=value2
等on.So你的鏈接應該是:
http://[localhost]:31856/MySystem/MyAPI.asmx/AnyMethodName?op=getHeight&a=254&b=1
你需要一個像this.This方法的方法返回一個字符串列表,它只是爲了示範。
[WebMethod]
public List<string> AnyMethodName(string op, string a, string b)
{
//Do whatever you want, get answer
return (ans.ToList());
}
我有同樣的問題,我需要添加以下我對System.Web - 標籤內部webconfig:
<webServices>
<protocols>
<add name="HttpGet" />
</protocols>
</webServices>
剩下的就是很像已經提到的(使用的例子阿什溫的回答,只是刪除了運算參數)
[WebMethod]
public List<string> AnyMethodName(string a, string b)
{
//Do whatever you want, get answer
return (ans.ToList());
}
之後,我能夠再次調用與以下(刪除運算參數的WebService):
http://localhost/MySystem/MyAPI.asmx/AnyMethodName?a=254&b=1
謝謝jonnyGold,它現在不給我任何錯誤,但它不顯示出來,我怎麼知道底層函數是否成功執行? – DafaDil
嘗試指向[SOAP UI](http://www.soapui.org/)。這是一個很好的「外國」網絡服務調試工具。 – bluevector