/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); var response = dataFormat.GetSoapOperationResponse(SdmxSchemaEnumType.VersionTwoPointOne).ToString(); var controller = this._controllerBuilder.BuildDataV21Advanced(HttpContext.Current.User as DataflowPrincipal, dataFormat); return(HandleRequest(request, controller, new XmlQualifiedName(response, Ns), dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwoPointOne))); }
/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); var operation = dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwo); try { var response = operation.GetResponse().ToString(); var controller = this._controllerBuilder.BuildDataV20FromMessage(HttpContext.Current.User as DataflowPrincipal, dataFormat); return(HandleRequest(request, controller, new XmlQualifiedName(response, this.Ns), operation)); } catch (FaultException <SdmxFault> ) { throw; } catch (Exception e) { _log.Error(operation.ToString(), e); throw _messageFaultBuilder.BuildException(e, operation.ToString()); } }
/// <summary> /// Convert <see cref="BaseDataFormatEnumType"/> field to lower /// </summary> /// <param name="type"> /// The <see cref="BaseDataFormatEnumType"/> field /// </param> /// <returns> /// The <see cref="BaseDataFormatEnumType"/> field as string /// </returns> private static string GetDataFormat(BaseDataFormatEnumType type) { switch (type) { case BaseDataFormatEnumType.Compact: return "compact"; case BaseDataFormatEnumType.CrossSectional: return "cross"; } return null; }
/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); SoapOperation soapOperation = dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwoPointOne); try { var controller = this._dataRequestController.ParseRequest(request, dataFormat.GetDataType(SdmxSchemaEnumType.VersionTwoPointOne)); return this.WriteResponse(soapOperation, controller); } catch (Exception e) { var response = dataFormat.GetSoapOperationResponse(SdmxSchemaEnumType.VersionTwoPointOne).ToString(); XmlQualifiedName xmlQualifiedName = new XmlQualifiedName(response, Ns); _log.Error(xmlQualifiedName, e); throw _messageFaultBuilder.BuildException(e, soapOperation.ToString()); } }
/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); var response = dataFormat.GetSoapOperationResponse(SdmxSchemaEnumType.VersionTwoPointOne).ToString(); var controller = this._controllerBuilder.BuildDataV21Advanced(HttpContext.Current.User as DataflowPrincipal, dataFormat); return HandleRequest(request, controller, new XmlQualifiedName(response, Ns), dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwoPointOne)); }
/// <summary> /// The method that handle the processing of the SDMX query and orchestrate the /// calls to different building blocks. /// </summary> /// <param name="input">The XML containing the query bean</param> /// <param name="soapOperation">The SOAP operation.</param> /// <param name="baseDataFormat">The base data format.</param> /// <returns>The queried data in specified format</returns> private XmlStreamWrapper HandleDataRequest(XmlNode input, SoapOperation soapOperation, BaseDataFormatEnumType baseDataFormat) { _logger.DebugFormat(CultureInfo.InvariantCulture, "Received request for {0} for endpoint {1}", soapOperation, this.Endpoint); IStreamController<XmlWriter> streamController = _dataRequestController.ParseRequest(input, baseDataFormat.GetDataType(SdmxSchemaEnumType.VersionTwo)); return new XmlStreamWrapper(streamController, soapOperation); }
/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); var soapOperation = dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwo); try { var streamController = this._dataRequestController.ParseRequest(request, dataFormat.GetDataType(SdmxSchemaEnumType.VersionTwo)); return this.WriteResponse(soapOperation, streamController); } catch (FaultException<SdmxFault>) { throw; } catch (Exception e) { _log.Error(soapOperation.ToString(), e); throw _messageFaultBuilder.BuildException(e, soapOperation.ToString()); } }
/// <summary> /// The handle data request. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="baseDataFormat"> /// The base data format. /// </param> /// <returns> /// The <see cref="Message"/>. /// </returns> private Message HandleDataRequest(Message request, BaseDataFormatEnumType baseDataFormat) { var dataFormat = BaseDataFormat.GetFromEnum(baseDataFormat); var operation = dataFormat.GetSoapOperation(SdmxSchemaEnumType.VersionTwo); try { var response = operation.GetResponse().ToString(); var controller = this._controllerBuilder.BuildDataV20FromMessage(HttpContext.Current.User as DataflowPrincipal, dataFormat); return HandleRequest(request, controller, new XmlQualifiedName(response, this.Ns), operation); } catch (FaultException<SdmxFault>) { throw; } catch (Exception e) { _log.Error(operation.ToString(), e); throw _messageFaultBuilder.BuildException(e, operation.ToString()); } }