본문 바로가기
트러블슈팅

[settlebank] 실시간계좌이체-현금영수증 Content-Type parsing error

by 설총이 2023. 7. 25.
실시간계좌이체 API는 application/json 타입으로 받기로 정의되어있는데 text/html형태로 넘어와 운영에서 에러가 발생


결론)
현금영수증API의 경우 차세대로 전환하면서 기존의 일부 컨텐츠 타입이 JSON으로 되어있던 것을TEXT/HTML로 동일하게 변경 되었습니다.

 

> 응답 <

- Status code  : 200
- Status text  : OK
- Headers      : {Conneciton=[keep-alive], Date=[Fri, 04 Nov 2022 08:31:58 GMT], Content-Type=[text/html; charset=UTF-8], Transfer-Encoding=[chunked]}
- Response body: {"resultCd":"0000", "resultMsg":"현금영수증 등록이 성공하였습니다.", "trTime":"**************", "authNo":"*********"}
- ===========================================================================response end
2022-11-04 17:31:57 [ajp-nio-127.0.0.1-8109-exec-3] ERROR *.order.inf.RltimAcctTrnfpayInterface - Could not extract response: no suitable HttpMessageConverter found for response type 

[class *.order.dto.RltimAcctTrnPayCashRecptResDto] and content type [text/html;charset=UTF-8]
org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type

 [class *.order.dto.RltimAcctTrnPayCashRecptResDto] and content type [text/html;charset=UTF-8]

 

1) 세틀뱅크 문의

안녕하세요
헥토 파이낸셜 XXX입니다
문의주신것 답변드립니다 

메일을 미리 전달드렸어야 하는데 누락된것으로 보입니다 .. 
업무에 불편 끼쳐드려 죄송합니다  

    내용

         현금영수증 API 서비스의 도메인 전환 (당사에서 전환처리)
          - cash.settlebank.co.kr 의 서버IP 가 차세대 서버IP 로 변경됩니다.

구 분  API 도메인  )서버 IP  차세대)서버 IP 
테스트  https://tcash.settlebank.co.kr 210.112.82.158  61.252.169.42
운영  https://cash.settlebank.co.kr  210.112.82.158  14.34.14.21 (Main) 
61.252.169.53 (DR)
 

 

    . 협조 요청 사항

    □ 방화벽 오픈
     - 귀 사 시스템에서 당사의 차세대 서버IP (14.34.14.21 , 61.252.169.53, 61.252.169.42(Test) ) 로의 방화벽 오픈 요청

    □ 방화벽 오픈 확인 방법
     - 귀 사 시스템에서 아래의 URL 접속 가능한 경우, 당사 차세대 서버로 정상적인 접근이 가능한 상황입니다.
     - 테스트 서버(접속확인) : https://tbgw.settlebank.co.kr/access.do 또는 > telnet 61.252.169.42 443
     - 운영 서버(접속확인) : https://gw.settlebank.co.kr/access.do 또는 > telnet 61.252.169.53 443
        (실제 도메인은 기존과 같은 cash.settlebank.co.kr 이며, 위 도메인은 접속 확인 용입니다. )  

감사합니다

현금영수증 API의 경우 차세대로 전환하면서 기존의 일부 컨텐츠 타입이 JSON 으로 되어있던 것을 TEXT/HTML 로 동일하게 변경 되었습니다.
업무에 참고 부탁 드리며개발지원사이트 가이드의 경우 금주 중으로 내용이 변경 될 예정 입니다.
익일 아래의 사이트에서   개발가이드 -> 현금영수증 api 부분 참고 부탁드립니다
헥토파이낸셜 개발 지원 (sbsvc.online)

 

헥토파이낸셜 개발 지원

현금영수증 API 현금영수증 발급 및 취소를 이용하기 위한 API 문서입니다.

develop.sbsvc.online

 

2) 프로그램 수정

 

* 실시간 계좌이체 현금영수증 관련 응답 Content-Type 변환처리 로직 추가

/**
* text/html형태로 응답주는 케이스에 대해 response contentType을 application/json으로 변환
*/
getRestTemplate().getInterceptors().add((request, body, execution) -> {
      ClientHttpResponse response = execution.execute(request,body);
      response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
      return response;
    });