2014-07-21 2 views
0

메소드를 취소해야하지만 시스템은 메소드를 호출하지 않으며 오류가 표시되지 않습니다. 요청 방법 웹 서비스에서 메소드를 호출하지 않는 "DELETE"

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

전혀 오류가 없다는 것은 거의 없습니다. 안드로이드 부분에 더 많은 컨텍스트 코드를 게시하고 logcat을 다시 확인하십시오. – njzk2

+0

'con.getResponseCode()'코드를 삽입하고 401 값을 반환합니다. – Loures

답변

0

이 문제가 해결되었습니다. 코드 con.getResponseCode()을 삽입하면 시스템은 410 (인증되지 않음)을 반환합니다. 이를 찾으려면 실제 원인을 찾으십시오. 구조 웹 서비스 WCF ins't는 동사 "삭제"를 지원하지 않았습니다.

"삭제"를 "POST"로 변경하고 응용 프로그램이 올바르게 실행됩니다.

감사합니다.

관련 문제