/// <summary> /// Set the Routing Input tag Node to the Envelope /// </summary> /// <param name="routingInput"></param> /// <returns></returns> public SoapEnvelopeBuilder SetRoutingInput(RoutingInput routingInput) { var xmlDocument = new XmlDocument { PreserveWhitespace = true }; using (XmlWriter writer = xmlDocument.CreateNavigator().AppendChild()) { var serializer = new XmlSerializer(typeof(RoutingInput)); serializer.Serialize(writer, routingInput, XmlSerializerNamespaceInfo); } _routingInputHeaderElement = _document.ImportNode(xmlDocument.DocumentElement, deep: true); return(this); }
public void ThenResultContainsRoutingInput() { // Arrange var routingInput = new RoutingInput { UserMessage = new RoutingInputUserMessage { MessageInfo = new MessageInfo(), CollaborationInfo = new CollaborationInfo(), PartyInfo = new PartyInfo() } }; // Act XmlDocument envelope = _builder.SetRoutingInput(routingInput) .Build(); // Assert Assert.NotNull(envelope); envelope.SelectEbmsNode("/s12:Envelope/s12:Header/mh:RoutingInput"); }
private static void SetMultiHopHeaders(SoapEnvelopeBuilder builder, AS4Message as4Message) { if (as4Message.IsSignalMessage && as4Message.FirstSignalMessage.IsMultihopSignal) { var to = new To { Role = Constants.Namespaces.EbmsNextMsh }; builder.SetToHeader(to); string actionValue = as4Message.FirstSignalMessage.MultihopAction; builder.SetActionHeader(actionValue); var routingInput = new RoutingInput { UserMessage = as4Message.FirstSignalMessage.MultiHopRouting.UnsafeGet, mustUnderstand = false, mustUnderstandSpecified = true, IsReferenceParameter = true, IsReferenceParameterSpecified = true }; builder.SetRoutingInput(routingInput); } }