From 76a6606def50caa4df28014b869a06e5da30ab18 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Tue, 18 Nov 2025 18:34:52 +0900 Subject: (김준회) 견적: PO 생성 요청부 개선, 에러처리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/soap/types.ts | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 lib/soap/types.ts (limited to 'lib/soap/types.ts') diff --git a/lib/soap/types.ts b/lib/soap/types.ts new file mode 100644 index 00000000..dac8f83b --- /dev/null +++ b/lib/soap/types.ts @@ -0,0 +1,64 @@ +// SOAP 관련 타입 정의 + +// 기본 인증 정보 타입 +export interface SoapAuthConfig { + username?: string; + password?: string; +} + +// SOAP 전송 설정 타입 +export interface SoapSendConfig { + endpoint: string; + envelope: Record; + soapAction?: string; + timeout?: number; + retryCount?: number; + retryDelay?: number; + namespace?: string; // 네임스페이스를 동적으로 설정할 수 있도록 추가 + prefix: string; // 네임스페이스 접두사 (필수) +} + +// 로깅 정보 타입 +export interface SoapLogInfo { + direction: 'INBOUND' | 'OUTBOUND'; + system: string; + interface: string; +} + +// 전송 결과 타입 +export interface SoapSendResult { + success: boolean; + message: string; + responseText?: string; + statusCode?: number; + headers?: Record; + endpoint?: string; + requestXml?: string; + requestHeaders?: Record; +} + +// SOAP 에러 타입 (응답 정보 포함) +export class SoapResponseError extends Error { + responseText?: string; + statusCode?: number; + headers?: Record; + endpoint?: string; + requestXml?: string; + requestHeaders?: Record; + + constructor(message: string, details?: { + responseText?: string; + statusCode?: number; + headers?: Record; + endpoint?: string; + requestXml?: string; + requestHeaders?: Record; + }) { + super(message); + this.name = 'SoapResponseError'; + if (details) { + Object.assign(this, details); + } + } +} + -- cgit v1.2.3