etax 전자세금계산서 .sam.kr에 맞게 수정
This commit is contained in:
27
etax/dev.md
Normal file
27
etax/dev.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Etax 개발 노트
|
||||
|
||||
## API 오류 해결 가이드
|
||||
|
||||
### 바로빌 SOAP 클라이언트 미설치 오류 (500 Error)
|
||||
|
||||
**문제 상황:**
|
||||
서버에 PHP SOAP 확장 모듈이 설치되어 있지 않은 경우(`Class 'SoapClient' not found`), `new SoapClient()` 호출 시 치명적인 오류(Fatal Error)가 발생하여 HTTP 500 상태 코드를 반환합니다.
|
||||
|
||||
**해결 방법:**
|
||||
`soapClient` 생성 로직을 `try-catch` 블록으로 감싸되, `Exception`이 아닌 **`Throwable`**을 catch해야 합니다. PHP 7+에서는 치명적인 오류가 `Error` 객체로 던져지며, 이는 `Exception`이 아닌 `Throwable` 인터페이스를 구현하기 때문입니다.
|
||||
|
||||
**수정 예시:**
|
||||
```php
|
||||
$barobillSoapClient = null;
|
||||
try {
|
||||
$barobillSoapClient = new SoapClient($url, $options);
|
||||
} catch (Throwable $e) {
|
||||
// Class not found 등의 Fatal Error도 여기서 잡힘
|
||||
error_log('SOAP Client 생성 실패: ' . $e->getMessage());
|
||||
// 이후 로직에서 $barobillSoapClient가 null일 경우의 대체 로직(예: 시뮬레이션 모드) 수행
|
||||
}
|
||||
```
|
||||
|
||||
**적용 파일:**
|
||||
- `etax/api/barobill_config.php`
|
||||
- `etax/api/issue.php` (전역 에러 핸들링)
|
||||
Reference in New Issue
Block a user