【发布时间】:2021-01-08 14:26:09
【问题描述】:
我正在尝试从新的 .NET Core 3.1 项目调用旧的 WCF .NET 服务。我想向 SOAP 请求添加一个自定义标头,因此我创建了一个 IClientMessageInspector 并在 BeforeSendRequest 上创建并添加我的标头,如下所示:
var header = MessageHeader.CreateHeader("StartRequest", "http://mynamespace", headerValue); request.Headers.Add(header);
标头值基于具有属性[DataContract(Namespace = "")] 的常规 c# 类的实例
类的所有属性都用[DataMember]装饰
我的问题是,当我在提琴手中查看请求时,我看到所有属性在序列化时都收到了 xmlns=""。这打破了 SOAP 合同,我的请求失败了。我尝试使用 DataContractSerializer,但不知道如何防止 if 生成 xmlns。
其他人解决了这个问题吗?
【问题讨论】:
标签: c# asp.net-core wcf .net-core