微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET Core 中 SoapCore 响应中不需要的前缀

如何解决.NET Core 中 SoapCore 响应中不需要的前缀

我正在 SoapCore 中编写一个 .NET Core 5.0 网络服务,并且我已经能够通过 SOAPUI 成功执行请求并获得有效响应。我唯一不喜欢的是它在 repose 消息中放置了不需要的前缀。例如在这回复中:

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <s:Body>
        <getMeterIntervalDataByTimeSliceResponse xmlns="http://tempuri.org/">
          <getMeterIntervalDataByTimeSliceResult xmlns:d4p1="http://schemas.datacontract.org/2004/07/MeterDataWebService.Models" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <d4p1:AccountId>1234567890</d4p1:AccountId>
            <d4p1:ID>0</d4p1:ID>
            <d4p1:IntervalEndTime>2020-12-22T15:30:57.3705724-05:00</d4p1:IntervalEndTime>
            <d4p1:IntervalLengthInSeconds>PT5M</d4p1:IntervalLengthInSeconds>
            <d4p1:Load>2345.8010350836185</d4p1:Load>
            <d4p1:MeterChannel>1</d4p1:MeterChannel>
            <d4p1:TimeZone>UT</d4p1:TimeZone>
            <d4p1:UnitOfMeasure>KM</d4p1:UnitOfMeasure>
            <d4p1:UtcOffset>0</d4p1:UtcOffset>
          </getMeterIntervalDataByTimeSliceResult>
        </getMeterIntervalDataByTimeSliceResponse>
      </s:Body>
    </s:Envelope>

如何去掉“d4p1”前缀?

解决方法

我想通了。它在我的 Startup.cs 类中。

app.UseSoapEndpoint("/Service.asmx",new BasicHttpBindingg(),SoapSerializer.XmlSerializer);

我忘记添加 SoapSerializer.XmlSerializer 部分

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。