Fox Biz Service Response¶
Fox Biz Service 는 비즈니스 로직 수행에 필요한 정보를 담는 FoxBizRequest 혹은 FoxBizRequestCollection 객체를 입력으로 받아 비즈 메서드를 수행하고 그 결과를 담는 FoxBizResponse 혹은 FoxBizResponseCollection 객체를 반환합니다. 이러한 응답 객체를 통해 호출자는 비즈 메서드 수행 결과, 오류 정보, 진단 정보 등 다양한 정보를 확인할 수 있습니다.
개발자가 직접 FoxBizResponse 와 FoxBizResponseCollection 객체를 생성하여 속성을 설정하는 등의 조작을 수행할 일은 거의 발생하지 않습니다. 대부분의 상황에서 개발자는 Fox Biz Service 가 반환하는 응답 객체를 그대로 사용하게 됩니다.
FoxBizResponse 객체¶
FoxBizResponse 객체는 Fox Biz Service 가 성공적으로 비즈 메서드를 수행하고 그 수행 결과를 반환하거나, 예외 전파 제어 기능을 통해 FoxBizRequest 객체의 ThrowException 속성이 false 로 지정된 경우, 오류 정보만을 포함하여 호출자에게 반환되는 객체 입니다.
기본 속성들¶
-
Success속성비즈 메서드 호출의 성공 여부를 나타내는 값입니다. 비즈 메서드가 정상적으로 수행되면
true값을 가집니다.FoxBizRequest.ThrowException속성이false로 설정되었고 비즈 메서드 수행 중 오류가 발생하면false값을 가집니다.JSON 형태에서
Success속성은success속성으로 표현됩니다.Note
FoxBizRequest.ThrowException속성이true인 경우(디폴트 설정)FoxBizResponse객체는 호출자에게 반환되지 않고 예외가 발생하여 전파됩니다. -
Parameters속성비즈 메서드가 출력 매개변수(output parameters)를 포함하는 경우, 그 결과를 담는
FoxServiceParameterCollection타입의 컬렉션입니다. 기본적으로 키-값형태의 딕셔너리(IDictionary<string, object>)와 동일하게 접근할 수 있습니다.JSON 형태에서
Parameters속성은parameters속성으로 표현됩니다. -
Result속성비즈 메서드가 반환하는 결과를 담는 속성입니다. 반환되는 결과는 비즈 메서드의 정의에 따라 단일 값, 컬렉션, 혹은 복합 객체 등 다양한 형태를 가질 수 있습니다.
JSON 형태에서
Result속성은result속성으로 표현됩니다. -
ErrorInfo속성FoxBizRequest객체의ThrowException속성이false로 설정된 경우, 비즈 메서드 수행 중 오류가 발생하면 예외를 발생시키지 않고FoxBizResponse객체Success속성 값이false로 설정되고ErrorInfo속성에 오류 정보가 담깁니다. 오류 정보는FoxServiceErrorInfo객체로서 예외 메시지, 예외 타입, 호출 스택 정보 등의 정보를 포함합니다.JSON 형태에서
ErrorInfo속성은errorInfo속성으로 표현됩니다.
진단 관련 속성들¶
-
ServerInfo속성Fox Biz Service 서비스가 수행되는 서버에 대한 정보를 담고 있는
FoxServerInfo타입의 속성입니다. 서버 호스트 이름, IP 주소 등의 정보를 포함합니다. 여러 서버에서 하나의 서비스를 수행하는 경우 구체적으로 어떤 서버가 서비스를 수행하고 결과를 반환했는지 확인할 수 있습니다.JSON 형태에서
ServerInfo속성은serverInfo속성으로 표현됩니다. -
Diagnostics속성FoxBizResponse객체에 포함된 진단정보를 나타내는FoxBizResponseDiagnostics열거 타입의 플래그 입니다. 예를 들어, 요청 시 로그 항목이 포함된 경우 이 속성은HasServiceLog플래그를 포함합니다. 이 속성에 포함될 수 있는 값들은 다음과 같습니다.HasLogId: 유효한 로그 ID 가LogId속성에 포함되었습니다.HasServiceLog: 서비스 로그가ServiceLog속성에 포함되었습니다.HasPerformanceInfo: 성능 정보가PerformanceInfo속성에 포함되었습니다.
JSON 형태에서
Diagnostics속성은diagnostics속성으로 표현됩니다. -
LogId속성FoxBizRequest.Diagnostics속성에LogId플래그가 설정된 경우, Fox Biz Service 는 로그 ID 를FoxBizResponse.LogId속성에 기록하여 반환합니다.LogId속성에 유효한 값이 포함된 경우Diagnostics속성에HasLogId플래그가 포함됩니다.JSON 형태에서
LogId속성은logId속성으로 표현됩니다. -
ServiceLog속성FoxBizRequest.Diagnostics속성에ServiceLog플래그가 설정된 경우, Fox Biz Service 는 서비스 로그를FoxBizResponse.ServiceLog속성에 기록하여 반환합니다.ServiceLog속성에 유효한 값이 포함된 경우Diagnostics속성에HasServiceLog플래그가 포함됩니다.JSON 형태에서
ServiceLog속성은serviceLog속성으로 표현됩니다. -
PerformanceInfo속성FoxBizRequest.Diagnostics속성에PerformanceInfo플래그가 설정된 경우, Fox Biz Service 는 성능 정보를FoxBizResponse.PerformanceInfo속성에 기록하여 반환합니다.PerformanceInfo속성에 유효한 값이 포함된 경우Diagnostics속성에HasPerformanceInfo플래그가 포함됩니다.JSON 형태에서
PerformanceInfo속성은performanceInfo속성으로 표현됩니다.
FoxBizResponseCollection 객체¶
FoxBizResponseCollection 객체는 Fox Biz Service 가 ExecuteMultiple 메서드를 호출한 결과로 반환하는 응답 컬렉션 객체입니다.
컬렉션 기본 속성들¶
-
인덱서 속성
FoxBizResponseCollection객체는IList<FoxBizResponse>인터페이스를 구현하므로 인덱서를 통해 개별FoxBizResponse객체에 접근할 수 있습니다.FoxBizResponseCollection객체에 포함되는FoxBizResponse객체들의 개수는ExecuteMultiple메서드에 전달된FoxBizRequestCollection객체에 포함된FoxBizRequest객체들의 개수와 동일합니다. 다만ExecuteMultiple메서드 수행 중 모든 비즈 메서드 호출을 처리하기 전에 오류가 발생한 경우, 성공한 일부 비즈 메서드에 대한FoxBizResponse객체만 포함될 수 있습니다.FoxBizResponseCollection객체는 다른IList<T>컬렉션과 같이 JSON 형태에서items속성의 배열로 표현됩니다. -
Success속성Success속성은ExecuteMultiple메서드 호출의 성공 여부를 나타냅니다.JSON 형태에서
Success속성은FoxBizResponse와 마찬가지로success속성으로 표현됩니다. -
ErrorInfo속성ErrorInfo속성은ExecuteMultiple메서드 수행 중 발생한 예외 정보를 담고 있는FoxServiceErrorInfo객체를 반환합니다.ErrorInfo속성이 오류(예외) 정보를 담는 상황은FoxBizResponseCollection객체의ThrowException속성이false이고ExecuteMultiple메서드 수행 중 오류가 발생하는 상황입니다.JSON 형태에서
ErrorInfo속성은FoxBizResponse객체와 동일하게errorInfo속성으로 표현됩니다.
컬렉션 진단 관련 속성들¶
-
ServerInfo속성Fox Biz Service 서비스가 수행되는 서버에 대한 정보를 담고 있는
FoxServerInfo타입의 속성입니다.FoxBizResponseCollection객체에 포함된 각FoxBizResponse객체의ServerInfo속성은null로 설정됩니다.FoxBizResponse객체와 마찬가지로 JSON 형태에서ServerInfo속성은serverInfo속성으로 표현됩니다. -
Diagnostics속성FoxBizResponseCollection객체에 포함된 진단정보를 나타내는FoxBizResponseDiagnostics열거 타입의 플래그 입니다.FoxBizResponse객체와 마찬가지로 JSON 형태에서Diagnostics속성은diagnostics속성으로 표현됩니다. -
LogId속성FoxBizRequestCollection.Diagnostcis속성에LogId플래그가 설정된 경우, Fox Biz Service 는 로그 ID 를FoxBizResponseCollection.LogId속성에 기록하여 반환합니다.FoxBizResponse객체와 마찬가지로 JSON 형태에서LogId속성은logId속성으로 표현됩니다. -
ServiceLog속성FoxBizRequestCollection.Diagnostcis속성에ServiceLog플래그가 설정된 경우, Fox Biz Service 는 서비스 로그를FoxBizResponseCollection.ServiceLog속성에 기록하여 반환합니다.FoxBizResponse객체와 마찬가지로 JSON 형태에서ServiceLog속성은serviceLog속성으로 표현됩니다. -
PerformanceInfo속성FoxBizRequestCollection.Diagnostcis속성에PerformanceInfo플래그가 설정된 경우, Fox Biz Service 는 성능 정보를FoxBizResponseCollection.PerformanceInfo속성에 기록하여 반환합니다.FoxBizResponse객체와 마찬가지로 JSON 형태에서PerformanceInfo속성은performanceInfo속성으로 표현됩니다.
Summary¶
FoxBizResponse 객체와 FoxBizResponseCollection 객체는 Fox Biz Service 가 요청된 비즈 메서드를 수행하고 그 결과를 담고 있는 객체입니다. 이들 객체는 성공 여부, 비즈 메서드 수행 결과, 오류 정보, 진단 정보 등 다양한 정보를 포함하기 때문에 호출자는 이를 통해 비즈 메서드 수행 결과를 종합적으로 확인할 수 있습니다.