Web services 在Asp.net内核中使用Httpclient发送SOAP请求

Web services 在Asp.net内核中使用Httpclient发送SOAP请求,web-services,soap,asp.net-core,asmx,Web Services,Soap,Asp.net Core,Asmx,我使用Asp.net Core,为了调用一个asmx服务,该服务有4个方法,我想通过名称调用其中一个:Verify方法,我执行以下步骤: 1-创建realtedSOAP: private XmlDocument CreateSoapEnvelope(PayVM payModel) { XmlDocument soapEnvelop = new XmlDocument(); string requiredXML = string

我使用Asp.net Core,为了调用一个
asmx服务
,该服务有4个方法,我想通过名称调用其中一个:
Verify
方法,我执行以下步骤:

1-创建realted
SOAP

     private XmlDocument CreateSoapEnvelope(PayVM  payModel)
     {
            XmlDocument soapEnvelop = new XmlDocument();
            string requiredXML = string.Format(@"<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/1999/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/1999/XMLSchema""><SOAP-ENV:Body><verifyTransaction xmlns=""http://tempuri.org/""> <String_1 xsi:type=""xsd:string"">{0}</String_1><String_2 xsi:type=""xsd:string"">{1}</String_2></verifyTransaction></SOAP-ENV:Body></SOAP-ENV:Envelope>", payModel.ReNO, payModel.MID);
            soapEnvelop.LoadXml(requiredXML);
            return soapEnvelop;
     }
但是我没有得到结果,我尝试使用与
soapui
相同的参数来使用服务,服务工作正常,但以我的方式得到了
StatusCode:400
问题出在哪里

            XmlDocument soapRequest = CreateSoapEnvelope(iPGVerifyResultModel);
            using (var client = new HttpClient())
            {
                var request = new HttpRequestMessage()
                {
                    RequestUri = new Uri("relatedUri/ServiceName.asmx"),
                    Method = HttpMethod.Post
                };

                request.Content = new StringContent(soapRequest.ToString(), Encoding.UTF8, "text/xml");

                request.Headers.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));
                request.Content.Headers.ContentType = new MediaTypeHeaderValue("text/xml");
                request.Headers.Add("SOAPAction", "Verify"); //I want to call this method 

                HttpResponseMessage response = client.SendAsync(request).Result;

                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception();
                }

                Task<Stream> streamTask = response.Content.ReadAsStreamAsync();
                Stream stream = streamTask.Result;
                var sr = new StreamReader(stream);
                var soapResponse = XDocument.Load(sr);
               //do some other stuff...
            }