2009-08-21 2 views
1

Windows Mobile 장치 프로젝트에서 asp.net 웹 서비스를 호출 할 때 예외 (WebException)를 잡아 내고 응답이 "BadRequest"인 것 같습니다.실패한 웹 서비스 호출에서 더 많은 진단 정보를 찾으려면 어떻게합니까?

이것은 실제 시스템에서는 발생하지만 로컬에서는 개발되지 않습니다. 하지만 둘 다 같은 빌드를 가지고 있습니다.

라이브 웹 서비스에서 개발 코드를 가리킬 때 BadRequest 오류가 다시 발생합니다. 이 오류에 대한 추가 정보를 얻을 수있는 방법이 있습니까?

우리는 로깅을 위해 Elmah를 사용하고 웹 서비스 자체에 예외가 발생하지 않았 음을 확인할 수 있습니다. 실제로는 호출되지 않습니다.

+0

웹 서버 구성 오류를 배제하기 위해 웹 서비스를 호스팅하는 웹 서버가 제공하는 웹 페이지를보고 볼 수 있습니까? –

+0

smink 예, 그렇습니다. 실제로 웹 서비스를 탐색 할 수 있고 (더 간단한 것들 중 일부에서) 웹 인터페이스 asp.net을 사용하여 실제로 실행할 수 있습니다. –

+0

먼저 할 일은 웹 서비스가 스니퍼와 함께 제공되는 포트를 도청하는 것입니다. 이 방법을 사용하면 통신이 웹 서버에 연결되었다고 주장 할 수 있습니다. 그 다음에는 모바일 장치 또는 웹 서버 중 어느쪽에 태클을해야하는지 알게됩니다. –

답변

1

잘못된 요청은 서버가 클라이언트로부터의 요청을 많이 보지 않았다는 것을 의미하는 일반 오류입니다. 이는 서비스가 수신 버퍼 길이를 초과하는 등의 방식으로 크게 변형 되었기 때문입니다.

서버가 작동 할 때까지 그리고/또는 다른 (보다 정확한) 오류가 발생할 때까지 서버를 클라이언트에서 더 간단하게 보내보십시오.

불행히도 Fiddler와 같은 도구를 사용하여 서버 예외 처리 또는 전선에서 트래픽보기는이 시나리오에서 도움이되지 않을 것입니다.

웹 서비스의 버전 (ASP.NET 2.0, WCF 등)을 확인하는 데 도움이됩니다.

+0

Fiddler는 한 컴퓨터에서 작업 요청을 캡처하고 다른 컴퓨터에서 작동하지 않는 요청과 쉽게 비교할 수 있으므로 매우 유용 할 수 있습니다. – EricLaw

+0

질문을 읽은 것은 클라이언트가 라이브 서버와 성공적으로 통신하지 못했다는 것을 의미합니다. 한 클라이언트가 다른 클라이언트가 성공하지 못하고 클라이언트가 다른 데이터를 서버에 보낼 수있는 경우, 나는 Fiddler가 유용 할 수 있다는 것에 동의 할 것입니다. –

관련 문제