Version 1.0
문서 이력
2013-04-05 최초 작성 Ver 1.0
웹서비스 개발 중에 <soap:Fault> 발생 시 faultstring 에 디버깅 정보가 포함되어 나타나는 경우 이 디버깅 정보가 나타나지 않게 하는 방법입니다.
일단, 디버깅 정보가 포함된 faultstring 을 가진 응답 SOAP 메시지입니다.
<soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: 서버에서 요청을 처리할 수 없습니다. ---> System.Exception: ORA-01008: 일부 변수가 바인드되지 않았습니다. 위치: NineBear.Dac.gettInfo(String pInput) 파일 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\NineBear.Dac\Dac.cs:줄 183 위치: NineBear.Biz.getInfo(String pInput) 파일 C:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\NineBear.Biz\Biz.cs:줄 104 위치: WebService.test_Retrieve(String pInput) 파일 c:\Users\Administrator\Documents\Visual Studio 2008\Projects\test\NineBear.Web\App_Code\WebService.cs:줄 86 --- 내부 예외 스택 추적의 끝 ---</faultstring> <detail/> </soap:Fault> </soap:Body>
|
프로젝트의 web.config 파일을 보면 아래와 같은 부분이 있습니다.
<!-- 사용자 지정 오류 메시지 사용자 지정 오류 메시지를 사용하려면 customErrors mode="On" 또는 "RemoteOnly"로 설정하고 사용하지 않으려면 "Off"로 설정합니다. 처리할 각 오류에 <error> 태그를 추가하십시오.
"On" 항상 사용자에게 친숙한 메시지가 표시됩니다. "Off" 항상 자세한 ASP.NET 오류 정보가 표시됩니다. "RemoteOnly" 로컬 웹 서버에서 액세스하지 않는 사용자에게만 사용자에게 친숙한 메시지가 표시됩니다. 이 설정은 원격 클라이언트에서 응용 프로그램의 자세한 정보가 표시되지 않도록 보안을 강화할 때 사용하면 좋습니다. --> <customErrors mode="RemoteOnly" />
|
일반 웹 페이지와 동일하게 웹서비스에서도 오류 발생 시 디버깅 정보를 보여줄 지 안 보여줄지를 customErrors 로 설정할 수 있습니다.
Mode 값에 대한 설명을 읽어보면 현재 RemoteOnly 로 되어 있고 로컬이므로 디버깅 정보가 보였던 것이죠. 값을 On 으로 바꾸면 로컬에서도 디버깅 정보가 나타나지 않습니다.
<soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>서버에서 요청을 처리할 수 없습니다. ---> ORA-01008: 일부 변수가 바인드되지 않았습니다.</faultstring> <detail/> </soap:Fault> </soap:Body>
|
'데스크탑 > .NET' 카테고리의 다른 글
액세스 수준 정리 (0) | 2017.01.03 |
---|---|
Data Access Layer 로 Enterprise Library 5.0 의 Data Access Application Block(DAAB) 사용하기 (0) | 2013.05.18 |
[2.0] WSDL 문서로 웹서비스 제공 클래스 만들기 (1) | 2013.04.30 |
Visual Studio 2008 / 2010 에 WSE 3.0 설치하기 (0) | 2013.04.30 |
Windows 7 에서 ODP.NET 설치하기 (0) | 2013.04.30 |