Web サービスに SOAP リクエストを送信し、受信する C# クライアントを作成する必要があります
ここにありますこれを実現する方法を示すコード スニペット:
using System.Net; using System.IO; using System.Xml; public static void CallWebService() { // Replace with your SOAP endpoint URL var url = "http://example.com/service.asmx"; // Replace with your SOAP action var action = "http://example.com/service.asmx?op=HelloWorld"; var soapEnvelope = CreateSoapEnvelope(); var webRequest = CreateWebRequest(url, action); InsertSoapEnvelopeIntoWebRequest(soapEnvelope, webRequest); // Send the SOAP request var asyncResult = webRequest.BeginGetResponse(null, null); asyncResult.AsyncWaitHandle.WaitOne(); // Receive the SOAP response var soapResponse = ""; using (var webResponse = webRequest.EndGetResponse(asyncResult)) { using (var reader = new StreamReader(webResponse.GetResponseStream())) { soapResponse = reader.ReadToEnd(); } } } private static HttpWebRequest CreateWebRequest(string url, string action) { var webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Headers.Add("SOAPAction", action); webRequest.ContentType = "text/xml;charset=\"utf-8\""; webRequest.Accept = "text/xml"; webRequest.Method = "POST"; return webRequest; } private static XmlDocument CreateSoapEnvelope() { var soapEnvelope = new XmlDocument(); soapEnvelope.LoadXml( $@"<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> <HelloWorld xmlns=""http://tempuri.org/"" SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/""> <int1 xsi:type=""xsd:integer"">12</int1> <int2 xsi:type=""xsd:integer"">32</int2> </HelloWorld> </SOAP-ENV:Body> </SOAP-ENV:Envelope>"); return soapEnvelope; } private static void InsertSoapEnvelopeIntoWebRequest(XmlDocument soapEnvelope, HttpWebRequest webRequest) { using (var stream = webRequest.GetRequestStream()) { soapEnvelope.Save(stream); } }
このコードは、Web リクエストを作成し、SOAP アクション ヘッダーを設定し、SOAP エンベロープをリクエストに挿入します。次に、リクエストを送信し、SOAP レスポンスを読み取ります。
以上がC# で SOAP リクエストとレスポンスを送受信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。