.NetFrameWork 2.0 기술을 이용한 Web Service (.ASMX)의 호출 Protocol 제한 및 브라우저에서 .asmx 페이지를 직접 탐색할 경우 브라우저에 표시되는 XML Web services 도움말 페이지를 제한하는 내용 입니다.
( 자세한 사항은 : https://msdn.microsoft.com/ko-kr/library/ms228319(v=vs.85).aspx 페이지를 참조해 주세요 )
1. 호출 Protocol 제한
1.1 제한되지 않은 Protocol ( HTTP POST 형식으로 호출 가능 )
1.1.1 .asmx URL 페이지 및 메서드 설명에서 테스트 가능
1.1.2 웹페이지에서 테스트 및 호출 데이터 확인 (정상)
Fiddler 에서 HTTP 200 코드 확인
1.1.3 Telnet을 이용한 테스트 (정상)
Fiddler에서 확인된 호출 데이터에서 Accept-Encoding을 제외하고 Telnet으로 테스트 진행시 HTTP 200 확인
1.2 제한된 Protocol ( GET, POST Protocol Remove)
1.2.1 .asmx URL 페이지 및 메서드 설명은 확인 가능 하나 테스트 Form은 확인 되지 않음.
1.2.2 웹페이지에서 테스트 및 강제 호출 데이터 확인 (실패)
Fiddler 에서 HTTP 500 코드 확인
1.2.3 Telnet을 이용한 테스트 (실패)
Fiddler에서 확인된 호출 데이터에서 Accept-Encoding을 제외하고 Telnet으로 테스트 진행시 HTTP 500 확인
1.3 설정 방법
Web.config 에서 하기 내용을 추가
2. asmx 페이지를 직접 탐색할 경우 브라우저에 표시되는 XML Web services 도움말 페이지를 제한
페이지 제한은 해당 URL을 다른 페이지를 보여주게 하는 방식으로 특정 페이지를 생성하여 설명등 외
2.1 제한전 페이지 탐색
2.2 제한후 페이지 탐색
2.3 웹서비스 추가 및 업데이트 방법
asmx 페이지를 참조 추가할 경우 오류가 나며 하기와 같이 asmx 경루에
?WSDL 을 추가하여 참조를 추가 하거나 참조 업데이트를 진행 한다.
서비스의 호출은 asmx로 호출을 진행 한다.
2.3 제한 방법
특정 페이지( Default.aspx 등의 파일) 를 생성 후 web.config에서 wsdlHelpGenerator 항목 추가
---------------------------------- web.Config ----------------------------------------------------------
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<webServices>
<!-- Protocol 제한 시작 -->
<protocols>
<remove name="HttpGet"/>
<remove name="HttpPost"/>
<remove name="HttpPostLocalhost"/>
</protocols>
<!-- Protocol 제한 종료 -->
<!-- Xml Web Service 도움말 페이지 변경 시작 -->
<wsdlHelpGenerator href="Default.aspx" />
<!--Xml Web Service 도움말 페이지 변경 종료 -->
</webServices>
</system.web>
</configuration>
---------------------------------- web.Config ----------------------------------------------------------
'.Net Framework Standard > ASP.NET' 카테고리의 다른 글
웹사이트 빌드 시 DLL 참조 관련 오류 발생 시 0x80070057 (0) | 2017.01.25 |
---|---|
web.config에서 connectString 읽어 오기 (0) | 2012.09.26 |