I need to add some namespace to XML created by proxy class ( build from WSDL).
Just now my code could send :
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<To xmlns="http://www.w3.org/2005/08/addressing">http://172.30.233.228:9366</To>
<MessageIDxmlns="http://www.w3.org/2005/08/addressing"><myValue>urn:uuid:E5202614CEF84033361329060946370</myValue></MessageID>
<Action xmlns="http://www.w3.org/2005/08/addressing">GetPublicKey</Action>
</soap:Header>
<soap:Body>
<GetPublicKey xmlns="http://tempuri.org/ns2.xsd" />
</soap:Body>
</soap:Envelope>

I need to add several namespaces to Envelope:
<soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
xmlns:soapenc="http://www.w3.org/2003/05/soap-encoding"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsa5="http://www.w3.org/2005/08/addressing"
xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"
xmlns:ns2="http://tempuri.org/ns2.xsd">

and transfer Header with one of them:
<soap:Header>
<wsa5:To >
some code
</wsa5:To>
....
....

How to modify this XML ?