/// <summary> /// Deserializes X-Road request from SOAP message payload. /// </summary> protected virtual void DeserializeMethodInput(XRoadContext context) { var args = new BeforeDeserializationEventArgs(); OnBeforeDeserialization(context, args); context.Request.ContentStream.Position = 0; var reader = XmlReader.Create(context.Request.ContentStream, args.XmlReaderSettings); reader.MoveToPayload(context.Request.RootElementName); context.Parameters = context.ServiceMap.DeserializeRequest(reader, context.Request); OnAfterDeserialization(context); }
/// <summary> /// Deserializes X-Road request from SOAP message payload. /// </summary> protected virtual async Task DeserializeMethodInputAsync(WebServiceContext context) { var args = new BeforeDeserializationEventArgs(); await OnBeforeDeserializationAsync(context, args); context.Request.ContentStream.Position = 0; var reader = XmlReader.Create(context.Request.ContentStream, args.XmlReaderSettings); context.MessageFormatter.MoveToPayload(reader, context.Request.RootElementName); context.Parameters = context.ServiceMap.DeserializeRequest(reader, context.Request); await OnAfterDeserializationAsync(context); }
/// <summary> /// Customize XML reader settings before deserialization of the X-Road message. /// </summary> protected virtual void OnBeforeDeserialization(XRoadContext context, BeforeDeserializationEventArgs args) { }
/// <summary> /// Customize XML reader settings before deserialization of the X-Road message. /// </summary> protected virtual Task OnBeforeDeserializationAsync(WebServiceContext context, BeforeDeserializationEventArgs args) => Task.CompletedTask;