protected void WriteHeaderAttributes (XmlDictionaryWriter writer, MessageVersion version)
{
var dic = Constants.SoapDictionary;
if (Id != null)
writer.WriteAttributeString ("u", dic.Add ("Id"), dic.Add (Constants.WsuNamespace), Id);
if (Actor != String.Empty) {
if (version.Envelope == EnvelopeVersion.Soap11)
writer.WriteAttributeString ("s", dic.Add ("actor"), dic.Add (version.Envelope.Namespace), Actor);
if (version.Envelope == EnvelopeVersion.Soap12)
writer.WriteAttributeString ("s", dic.Add ("role"), dic.Add (version.Envelope.Namespace), Actor);
}
// mustUnderstand is the same across SOAP 1.1 and 1.2
if (MustUnderstand == true)
writer.WriteAttributeString ("s", dic.Add ("mustUnderstand"), dic.Add (version.Envelope.Namespace), "1");
// relay is only available on SOAP 1.2
if (Relay == true && version.Envelope == EnvelopeVersion.Soap12)
writer.WriteAttributeString ("s", dic.Add ("relay"), dic.Add (version.Envelope.Namespace), "true");
}