/// <summary> /// Builds an object of type <see cref="SoapException"/> /// </summary> /// <param name="buildFrom"> /// An Object to build the output object from /// </param> /// <param name="uri"> /// The URI. /// </param> /// <returns> /// Object of type <see cref="SoapException"/> /// </returns> /// <exception cref="T:Org.Sdmxsource.Sdmx.Api.Exception.SdmxException"> /// - If anything goes wrong during the build process /// </exception> public SoapException Build(Exception buildFrom, string uri) { var sdmxException = buildFrom.ToSdmxException(); if (sdmxException != null) { return this.Build(sdmxException, uri); } _log.ErrorFormat(CultureInfo.InvariantCulture, Resources.ErrorUnhandledFormat2, buildFrom.GetType(), buildFrom.Message); _log.Error(buildFrom.ToString()); return SoapFaultFactory.CreateSoapException(uri, string.Empty, Resources.ErrorInternalError, SdmxV20Errors.ErrorNumberServer, uri, false, buildFrom.Message); }
/// <summary> /// Builds an object of type <see cref="FaultException{String}"/> /// </summary> /// <param name="buildFrom"> /// An Object to build the output object from /// </param> /// <param name="uri"> /// The URI. /// </param> /// <returns> /// Object of type <see cref="FaultException{String}"/> /// </returns> public FaultException<SdmxFault> BuildException(Exception buildFrom, string uri) { var faultException = buildFrom as FaultException<SdmxFault>; if (faultException != null) { return faultException; } var webException = buildFrom as FaultException; if (webException != null) { SdmxFault fault; if (webException.Code.IsReceiverFault) { fault = new SdmxFault(_sdmxErrorCodeIntenalError.ErrorString, _sdmxErrorCodeIntenalError.ClientErrorCode, uri); return CreateExceptionServer(fault); } fault = new SdmxFault(buildFrom.Message, _sdmxErrorCodeIntenalError.ClientErrorCode, uri); return CreateExceptionClient(fault); } var sdmxException = buildFrom.ToSdmxException(); if (sdmxException != null) { return this.BuildException(sdmxException, uri); } return CreateExceptionServer(new SdmxFault(_sdmxErrorCodeIntenalError.ErrorString, _sdmxErrorCodeIntenalError.ClientErrorCode, uri)); }
/// <summary> /// Builds an object of type <see cref="FaultException{String}"/> /// </summary> /// <param name="buildFrom"> /// An Object to build the output object from /// </param> /// <param name="uri"> /// The URI. /// </param> /// <returns> /// Object of type <see cref="FaultException{String}"/> /// </returns> public FaultException<SdmxFault> BuildException(Exception buildFrom, string uri) { var faultException = buildFrom as FaultException<SdmxFault>; if (faultException != null) { return faultException; } var webException = buildFrom as FaultException; if (webException != null) { SdmxFault fault; if (webException.Code.IsReceiverFault) { fault = new SdmxFault(Resources.ErrorInternalError, _errorNumberServer, uri); return this.CreateExceptionServer(fault); } fault = new SdmxFault(buildFrom.Message, _errorNumberClient, uri); return this.CreateExceptionClient(fault); } var sdmxException = buildFrom.ToSdmxException(); if (sdmxException != null) { return this.BuildException(sdmxException, uri); } return this.CreateExceptionServer(new SdmxFault(Resources.ErrorInternalError, _errorNumberServer, uri)); }