简体   繁体   中英

C# How to add SOAP header like <ns:From><ns:Address>###</ns:Address></ns:From>

Trying to add header to

<ns:From><ns:Address>###</ns:Address></ns:From>

I'm using following code:

using (new OperationContextScope(client.InnerChannel)){
 var header = MessageHeader.CreateHeader("ns:From", "", "<ns:Address>###</ns:Address>");
}

But I'm get <ns:From>&lt;ns:Address&gt;###&lt;/ns:Address&gt;</ns:From>

Please help.

Find answer online.

public class FromHeader : MessageHeader    {     
    public override string Name => "ns:From";
    public override string Namespace => "";
    protected override void OnWriteHeaderContents(XmlDictionaryWriter writer, MessageVersion messageVersion)
    {                       
        writer.WriteStartElement("ns:Address");
        writer.WriteString("###");
        writer.WriteEndElement();
    }
}


using (new OperationContextScope(client.InnerChannel))
{
OperationContext.Current.OutgoingMessageHeaders.Add( new FromHeader() );                
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM