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