// 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); } } }