/// <summary> /// Serializes beginning of SOAP envelope into X-Road message. /// </summary> public static void WriteSoapEnvelope(this XmlWriter writer, IMessageFormatter messageFormatter, ProtocolDefinition protocolDefinition) { var soapEnvPrefix = protocolDefinition != null ? protocolDefinition.GlobalNamespacePrefixes[messageFormatter.Namespace] : PrefixConstants.SOAP_ENV; messageFormatter.WriteStartEnvelope(writer, soapEnvPrefix); if (protocolDefinition == null) { return; } foreach (var kvp in protocolDefinition.GlobalNamespacePrefixes) { writer.WriteAttributeString(PrefixConstants.XMLNS, kvp.Value, NamespaceConstants.XMLNS, kvp.Key.NamespaceName); } if (protocolDefinition.Style is RpcEncodedStyle) { writer.WriteAttributeString("encodingStyle", messageFormatter.Namespace, NamespaceConstants.SOAP_ENC); } }