C# 使用 HttpClient 调用 WebService 提示 NoSOAPAction


问题

在自行构造 HttpClient 请求 SOAP 接口之后,返回 500 错误,并且提示 NoSOAPAction 信息。

原因

造成这个问题的主要原因是因为缺少了 SOAPAction 标头,所以提示该信息。

解决

解决问题很简单,只需要在请求的时候,为其 Header 增加一个 SOAPAction 标头,并且将其值设置为你需要调用的 SOAP 接口。
例如:

var webRequest = new HttpRequestMessage(HttpMethod.Post,@"https://xxx.xxx.xxx.xxx:xxxxx/uis-web/xxxx/TransactionOntimeService?wsdl");
webRequset.Headers.Add("SOAPAction","TransactionOntimeService");

var webClient = new HttpClient();
var result = webClient.SendAsync(webRequest).GetAwaiter().GetResult();


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM