From fc63ea80ff9e6712d9d288556e4d0f26e7585279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Mar 2026 12:39:36 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[eaccount]=2012=EC=9B=94=EB=B6=84=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=ED=83=80=EC=9E=84=EC=95=84=EC=9B=83=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PHP set_time_limit(120) 추가 (SOAP 다건 호출 시 기본 30초 초과 방지) - 프론트엔드 응답 상태/빈 응답 체크 추가 (에러 원인 구체화) --- .../Controllers/Barobill/EaccountController.php | 3 +++ resources/views/barobill/eaccount/index.blade.php | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Barobill/EaccountController.php b/app/Http/Controllers/Barobill/EaccountController.php index cfcba3b1..52a1d028 100644 --- a/app/Http/Controllers/Barobill/EaccountController.php +++ b/app/Http/Controllers/Barobill/EaccountController.php @@ -316,6 +316,9 @@ public function latestBalances(Request $request): JsonResponse */ public function transactions(Request $request): JsonResponse { + // SOAP API 호출이 여러 건 발생할 수 있으므로 타임아웃 연장 + set_time_limit(120); + try { $startDate = $request->input('startDate', date('Ymd')); $endDate = $request->input('endDate', date('Ymd')); diff --git a/resources/views/barobill/eaccount/index.blade.php b/resources/views/barobill/eaccount/index.blade.php index 6abf649f..6d6ea70a 100644 --- a/resources/views/barobill/eaccount/index.blade.php +++ b/resources/views/barobill/eaccount/index.blade.php @@ -1925,7 +1925,18 @@ className="p-1 text-red-500 hover:bg-red-50 rounded transition-colors" }); const response = await fetch(`${API.transactions}?${params}`); - const data = await response.json(); + if (!response.ok) { + const text = await response.text(); + throw new Error(`서버 응답 오류 (${response.status}): ${text.substring(0, 200)}`); + } + const text = await response.text(); + if (!text) { + throw new Error('서버가 빈 응답을 반환했습니다. (타임아웃 가능성)'); + } + let data; + try { data = JSON.parse(text); } catch (e) { + throw new Error('JSON 파싱 실패: ' + text.substring(0, 200)); + } if (data.success) { setLogs(data.data?.logs || []);