我需要调用方法cancel,但系统不会调用该方法,也不会显示错误。
url = new URL("http://localhost/api/Service.svc/Method/cancel");
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString("user:password".getBytes(), Base64.NO_WRAP ));
con.setRequestMethod("DELETE");
con.connect();
在我的服务器C#中:
[OperationContract]
[WebInvoke(Method = "DELETE", BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/cancel")]
void Cancel();
缺少什么?
更新:
我插入代码con.getResponseCode()
并返回值401.这是什么?
答案 0 :(得分:0)
我解决了这个问题。插入代码con.getResponseCode()
后,系统返回410(未授权)。寻找这个,找到了真正的原因:结构Web服务WCF不支持动词"删除"。
我改变了#34;删除"到" POST"并且应用程序正确运行。
谢谢!