【发布时间】:2021-09-22 15:12:01
【问题描述】:
我正在创建与 WCF 端点通信并返回 MTOM 的 .NET 核心应用程序。 我可以用 HttpWebRequest 做到这一点,但我在向请求中添加其他元素时遇到了问题。
我发现 WcfCoreMtomEncoder 库可以帮助处理这种类型的响应,并且我已经实现了它,如下所示:
[ServiceContract]
public interface IService
{
[OperationContract]
string Test();
}
myfunction(){
XmlDocument body.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?> <soapenv:Envelope...");
var encoding = new MtomMessageEncoderBindingElement(new TextMessageEncodingBindingElement());
var transport = new HttpsTransportBindingElement();
transport.TransferMode = TransferMode.Streamed;
//transport.UseDefaultWebProxy = false;
transport.ProxyAuthenticationScheme = AuthenticationSchemes.Digest;``
var binding = new CustomBinding(encoding, transport);
EndpointAddress endpoint = new EndpointAddress("myEndpointUrl");
ChannelFactory<IService> channelFactory = new ChannelFactory<IService>(binding, endpoint);
//channelFactory.Credentials.HttpDigest.ClientCredential.UserName = username;
//channelFactory.Credentials.HttpDigest.ClientCredential.Password = password;
var webService = channelFactory.CreateChannel();
try
{
Console.WriteLine(webService.Test());
}
catch (WebException e)
{
string pageContent = new StreamReader(e.Response.GetResponseStream()).ReadToEnd().ToString();
Console.WriteLine(pageContent);
}
}
问题
如何向请求添加额外的 Header 属性和soap请求正文(正文变量)?
【问题讨论】:
标签: .net web-services wcf mtom