안녕하세요.. 웹서비스를 처음으로 개발하고 있습니다.
WSDL로 서비스하는 기상청의 날씨정보를 조회하는 프로그램을 만들고 있습니다.
기상청에 id를 신청하고 신청한 id로 인증이 되면 현재날씨를 가져오게 됩니다.
문제는 아래와 같이 2가지 입니다.
1. 인증이 되지 않음
-> 원래는 신청한 id외에는 에러가 나야하는데 디버깅을 해보면 어떤 id와 암호를 입력해도 에러가 나지 않네요.
참고로 현재 운영중인 다른 프로그램에서는 신청한 id만 접속되고 다른 id로 테스트하면 에러가 납니다.
2. 현재날씨 조회시 NULL에러 발생
-> 인증이 되지 않아서 에러가 나는건지 소스에 문제가 있는건지..
간단한 프로그램인데 웹서비스 프로그램을 처음 하다보니
개발환경에 문제가 있는건지(웹 관련 프로그램이나 서비스를 실행해야 하는지)
소스에 문제가 있는건지 알수가 없네요..
아래는 작업내용을 적어봤고 소스를 첨부했습니다.
참고로 개발환경은 델파이 2006(win32)입니다.
고수님의 조언을 부탁드립니다.
VCL폼 생성
WebServices-WSDL Importer 실행
주소에 http://websky.kma.go.kr/services/SurfaceService?wsdl 입력
HTTPRIO의 HTTPWebNode를 HTTPReqResp1 변경
uses에 SurfaceService, WinInet 추가
Connect버튼에 HTTPRIO 설정하고 현재날씨 호출(HTTPReqResp1BeforePost 이벤트 실행됨)
HTTPReqResp1의 BeforePost 이벤트에 MIME(base64)로 인증