콘텐츠로 건너뛰기

Odoo Jsonrpc 오류 해결법: 단계별 완벽 가이드

Odoo 사용자와 개발자를 위해 jsonrpc 오류를 해결하는 방법을 알기 쉽게 정리했습니다. 이 안내서에서는 오류가 발생하는 대표적 원인들을 짚고, 문제 진단과 단계별 해결법을 실무적으로 설명합니다. 로그 확인, 네트워크·인증·버전 불일치 등 흔한 원인별 체크리스트와 구체적 명령·설정 변경 예시를 포함해 직접 문제를 찾아 고칠 수 있도록 구성했습니다.
2026년 2월 26일 작성자
Elisa Van Outrive
| 아직 댓글이 없습니다

소개


Odoo에 요청을 보낼 때 JSON-RPC 규격으로 통신이 실패하면 흔히 Odoo JSONRPC 오류가 발생합니다. JSON-RPC는 Odoo 웹 클라이언트와 다양한 최신 연동에서 주로 사용하는 통신 방식입니다.


XML-RPC와 달리 JSON-RPC는 다음과 같은 영역에서 광범위하게 사용됩니다:


  • 웹 프론트엔드 상호작용
  • 맞춤형 연동
  • 헤드리스 Odoo 구현
  • 외부 시스템 동기화

JSON-RPC 호출 중 문제가 발생하면 Odoo가 오류 응답을 반환하며 보통 다음과 같은 형태로 나타납니다:


RPC_ERROR: Odoo Server Error

또는 API 응답에 JSON 오류 객체로 포함됩니다.


이 가이드는 Odoo에서 JSONRPC 오류가 무엇을 의미하는지, 그리고 이를 어떻게 올바르게 해결하는지 설명합니다.

Odoo에서 JSON-RPC란 무엇인가?


JSON-RPC(JavaScript Object Notation Remote Procedure Call)는 클라이언트가 JSON 페이로드를 사용해 HTTP로 Odoo의 메서드를 호출할 수 있게 해 주는 규격입니다.


일반적인 JSON-RPC 요청은 다음 구조를 가집니다:


{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "database_name",
      2,
      "password",
      "res.partner",
      "search",
      [[["is_company", "=", true]]]
    ]
  },
  "id": 1
}

백엔드에서 예외가 발생하면 Odoo는 JSON 형식의 오류 응답을 반환합니다.


Odoo JSONRPC 오류의 흔한 원인


1. 인증 실패

다음과 같은 경우 인증이 실패할 수 있습니다:

  • 잘못된 자격 증명
  • 잘못된 데이터베이스 지정
  • 만료된 세션

이러한 상황에서는 Odoo가 호출을 거부합니다.


인증 문제는 JSONRPC 실패 중 매우 빈번한 원인입니다.


2. 잘못된 메서드 호출

JSON 페이로드가 다음을 참조하면 오류가 발생합니다:

  • 존재하지 않는 모델
  • 존재하지 않는 메서드
  • 잘못된 메서드 인자

백엔드가 예외를 발생시키면 JSONRPC 오류로 반환됩니다.


3. 필수 필드 누락

레코드 생성(create)이나 수정(write) 호출에서 필수 필드를 빼먹으면 Odoo가 검증 오류를 발생시키고 그 내용이 JSON 응답에 나타납니다.

예시:

{
  "name": "Order 001"
}

만약 partner_id가 필수이면 → 오류 발생.


4. 권한(Access Rights) 제한

API 사용자가 요청한 작업에 대한 권한이 없으면 Odoo는 접근 관련 오류를 JSON으로 반환합니다.

이 문제는 특히 운영 환경에서 통합용 사용자의 권한이 제한적일 때 자주 발생합니다.


5. 잘못된 관계형 ID

Many2one 같은 관계 필드에 존재하지 않는 ID를 전달하면 백엔드가 예외를 발생시킵니다.


예시:


{
  "partner_id": 99999
}

ID 99999가 없다면 → JSONRPC 오류.


6. 데이터베이스 제약조건 위반

다음과 같은 제약 위반이 JSONRPC 응답에 포함될 수 있습니다:

  • 중복 키로 인한 고유 제약 위반
  • 외래키 제약 실패
  • 널(Not null) 제약 위반

이러한 예외가 JSONRPC 형식으로 전파됩니다.


7. 서버 타임아웃 또는 과중한 작업

대용량 페이로드나 일괄 처리 작업은 타임아웃을 초과해 오류를 유발할 수 있으며, 특히 트래픽이 많은 환경에서 위험합니다.



Odoo JSONRPC 오류 해결 방법


1단계 – JSON 오류 응답 점검

대부분의 JSONRPC 응답에는 다음 항목이 포함됩니다:

  • 오류 유형
  • 오류 메시지
  • 트레이스백(traceback)

백엔드 예외 상세를 꼼꼼히 읽어 문제의 원인을 파악하세요.


2단계 – 인증 정보 확인

다음 사항을 점검하세요:

  • 데이터베이스 이름이 정확한지
  • 사용자 ID 또는 세션 토큰이 유효한지
  • 비밀번호나 API 키가 맞는지
  • 사용자 계정이 활성화되어 있는지

3단계 – 페이로드 구조 검증

요청을 보내기 전에 다음을 확인하세요:

  • 필수 필드 포함 여부
  • 관계형 ID의 유효성
  • 필수 필드에 null 값이 들어가지 않았는지
  • 데이터 타입이 정확한지

전송 전 구조화된 검증을 수행하면 런타임 오류를 많이 방지할 수 있습니다.


4단계 – 권한 설정 검토

통합용 사용자가 다음 권한을 보유했는지 확인하세요:

  • 읽기 권한
  • 쓰기 권한
  • 생성 권한
  • 삭제 권한

요청하는 작업에 따라 필요한 권한을 부여해야 합니다.


5단계 – Odoo UI에서 테스트

같은 작업을 Odoo 웹 인터페이스에서 직접 재현해 보세요.

UI에서도 실패하면 문제는 데이터나 권한 설정에 있을 가능성이 높습니다.


6단계 – 서버 로그 확인

JSON 응답이 모호할 경우 Odoo 서버 로그에서 전체 트레이스백을 확인하세요.





JSONRPC 오류를 사전에 막는 방법



  • 전용 API 사용자를 두세요
  • 데이터를 전송하기 전에 검증하세요
  • 요청/응답 페이로드를 기록(logging)하세요
  • 통합 쪽에 구조화된 오류 처리 로직을 구현하세요
  • 대량 작업을 한 번에 보내지 마세요
  • 스테이징 환경에서 통합 워크플로우를 충분히 테스트하세요

API 기반 Odoo 환경에서는 외부 시스템과 Odoo 사이에 검증·변환 계층을 두면 JSONRPC 실패를 크게 줄일 수 있습니다.



다솔로(Dasolo)가 JSONRPC 통신을 강화하는 방법


JSONRPC 오류는 세션 관리 불일치, 잘못된 요청 구조, 또는 서버 쪽 검증 미비에서 자주 발생합니다. JSONRPC가 Odoo의 주요 웹 통신을 담당하기 때문에 작은 설정 누락도 반복적인 프론트엔드 문제로 이어질 수 있습니다.


다솔로에서는 JSONRPC 안정성을 다음과 같이 강화합니다:

  • 요청에 대한 구조화된 검증 절차
  • 통제된 세션 관리
  • 명확한 예외 처리 패턴
  • 안전한 엔드포인트 노출 관리
  • API 호출에 대한 포괄적 로깅

일관된 통신 프레임워크는 예기치 않은 런타임 오류를 줄이고 플랫폼 전반의 신뢰성을 높입니다.




결론


Odoo의 “JSONRPC Error”는 클라이언트와 서버 간 통신이 백엔드 예외로 중단될 때 주로 발생합니다. 표면적으로는 일반적인 에러처럼 보이지만 요청 형식, 인증, 서버 로직의 근본 문제를 반영하는 경우가 많습니다.


API 구조를 면밀히 검토하고 입력값을 검증하며 예측 가능한 오류 처리 체계를 도입하면 반복적인 JSONRPC 장애를 예방할 수 있습니다. 잘 설계된 통신 계층은 Odoo 환경 내에서 안정적이고 효율적인 상호작용을 보장합니다.




Elisa Van Outrive 2026년 2월 26일
이 게시물 공유하기
로그인 의견을 남기기