스프링에서 기상청에서 날씨 정보를 요청하는 api를 연동한다.
기상청 단기예보 조회서비스에 활용신청을 한 수 serviceKey를 발급받아 uri를 입력하고 실행하는데
200 OK가 뜨지만
<OpenAPI ServiceResponse>
<cmmMsgHeader>
<errMsg>SERVICE ERROR</errMsg>
<returnAuthMsg>NO_OPENAPI_SERVICE_ERROR</returnAuthMsg>
<return Reason Code>12</returnReasonCode>
</cmmMsgHeader>
</OpenAPI_ServiceResponse>
이런식으로 12번 에러가 발생했다.
찾아보니 API 서비스가 없거나 폐기...
뭔소린지 애매모호한 설명인데 어느 블로그 글에서 설정한 uri가 잘못됐을수도 있다는 글을 발견했고
uri를 어디서 찾을지 여기저기 뒤져보던 중
드디어 요청 주소를 찾았다...
메인화면에서는 서비스URL만 보여줘놓고 이렇게 숨겨놓았다니
다시 설정해준 뒤 실행하니 이번엔
<OpenAPI_ServiceResponse>
<cmmMsgHeader>
<errMsg>SERVICE ERROR</errMsg>
<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>
<returnReasonCode>30</returnReasonCode>
</cmmMsgHeader>
</OpenAPI_ServiceResponse>
30번 에러가 떴다
Service Key가 등록되지 않았다니...
재발급까지 받아보았지만 소용없었고
다른 블로그 글을 찾아보니 발급하고 몇분에서 몇시간은 기다리거나 다음날이 되어야 사용 가능했다고 한다.
다음날 다시 시도해봤지만 아직도 되지않았었고
하는 수 없이 팀원분이 예전에 발급받아 사용하셨던 open weather api를 연동해봤더니 바로 해결이 되었다.
필요한 parameter의 값만 약간 수정해주니 바로 해결되었다.
OpenWeatherMap : https://openweathermap.org/