.NET 5 Успешно использует службу SOAP, однако заголовки равны нулю, даже если они в ответе

#c# #.net #soap #wsdl

Вопрос:

У меня есть приложение .NET 5, которое импортировало WSDL и успешно создало прокси-классы. Я могу отправить запрос и получить ответ (тело), однако заголовки равны нулю. Когда я отправляю запрос в SOAPUI или отслеживаю запрос в fiddler, я вижу, что заголовки возвращаются в ответе. query_response заполняет объект правильно, но заголовки по-прежнему равны нулю. Пожалуйста, помогите.

Вот пример кода, сгенерированного с помощью WSDL.

  [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.2")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class QueryOperationResponse
    {
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.test.com/hdr/")]
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string ERROR_CODE;
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.test.com/hdr/")]
        public string ERROR_DESC;
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.test.com/hdr/")]
        [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
        public string ASYNCH_RESPONSE_INDICATOR;
        
        [System.ServiceModel.MessageHeaderAttribute(Namespace="http://www.test.com/hdr/")]
        public Reference.HeaderOtpResType OTP_RES_DATA;
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="", Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("INFO", typeof(Reference.InfoType[]), IsNullable=false)]
        public Reference.InfoType[] QUERY_RESPONSE;
        
        public QueryOperationResponse()
        {
        }
        
        public QueryOperationResponse(string ERROR_CODE, string ERROR_DESC, string ASYNCH_RESPONSE_INDICATOR, Reference.HeaderOtpResType OTP_RES_DATA, Reference.InfoType[] QUERY_RESPONSE)
        {
            this.ERROR_CODE = ERROR_CODE;
            this.ERROR_DESC = ERROR_DESC;
            this.ASYNCH_RESPONSE_INDICATOR = ASYNCH_RESPONSE_INDICATOR;
            this.OTP_RES_DATA = OTP_RES_DATA;
            this.QUERY_RESPONSE = QUERY_RESPONSE;
        }
    }