我正在尝试向 WCF 服务发送一个肥皂请求。我正在使用 System.ServiceModel.Channels.Message.CreateMessage() 方法构建肥皂请求。
我还没有深入到构建身体,但这就是我所拥有的......
Message msg = Message.CreateMessage( MessageVersion.Soap11WSAddressing10, "MethodName" );
msg.Headers.MessageId = new UniqueId( Guid.NewGuid().ToString() );
msg.Headers.Add( Message.CreateHeader( "Security", "",
new Security()
{
TimeStamp = new TimeStampType() {
Created = DateTime.Now,
Expires = Created.AddDays( 1 )
},
UsernameToken = new UsernameToken() {
Username = "stackoverflow",
Password = new Password() {
Type = "hashed",
Value = "Password"
}
}
} ) ) );
string s = msg.ToString();
当我运行它时,我得到以下输出。我正在使用 Visual Studio XML Visualizer 顺便说一句。
<s:Envelope>
<s:Header>
<Action>MethodName</Action>
<MessageID>GUIDVALUE</MessageID>
<Security>
<Timestamp xmlns="http://schemas.datacontract.org/2004/07/ConsoleApplication1">
.....
</s:Header>
<s:Body />
</s:Envelope>
我的问题是,我可以从 xml 中删除 xmlns="http://schemas.datacontract.org/2004/07/ConsoleApplication1" 吗?它显示在 Timestamp 和 UsernameToken 中。
谢谢