C# 發送 soap 請求(找了很多文章的最終解決方案)

private string QuerySoapWebService()
    {
        /*
        StringBuilder soapRequestData = new StringBuilder();
        soapRequestData.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        soapRequestData.Append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
        soapRequestData.Append("<soap:Body>");
        soapRequestData.Append("<getOwners xmlns=\"http://WebXml.com.cn/\">");
        soapRequestData.Append("</getOwners>");
        soapRequestData.Append("</soap:Body>");
        soapRequestData.Append("</soap:Envelope>");*/

        /*    
        StringBuilder soapRequestData = new StringBuilder("");
        soapRequestData.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        soapRequestData.Append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
        soapRequestData.Append("<soap:Body>");
        soapRequestData.Append(" <getContentNum xmlns=\"http://WebXml.com.cn/\">");
        soapRequestData.Append("<owner>" + 參數值1 + "</owner>");
        soapRequestData.Append("<contentid>" + 參數值2 + "</contentid>");
        soapRequestData.Append(" </getContentNum>");
        soapRequestData.Append(" </soap:Body>");
        soapRequestData.Append("</soap:Envelope>");*/

        //發起請求
        Uri uri = new Uri("輸入url地址");
        WebRequest webRequest = WebRequest.Create(uri);
        webRequest.ContentType = "text/xml;charset=utf-8";
        webRequest.Method = "POST";
        webRequest.Headers.Add("SoapAction", "http://WebXml.com.cn/Request");    // 與soapXML中的一致,需要加/Request
        using (Stream requestStream = webRequest.GetRequestStream())
        {
            byte[] paramBytes = Encoding.UTF8.GetBytes(soapRequestData.ToString());
            requestStream.Write(paramBytes, 0, paramBytes.Length);
        }

        //響應
        //WebResponse webResponse = webRequest.GetResponse();
        HttpWebResponse hwRes = webRequest.GetResponse() as HttpWebResponse;
        //是否返回成功
        if (hwRes.StatusCode == System.Net.HttpStatusCode.OK)
        {
            XmlDocument readXmlRes = ReadXmlResponse(hwRes);
            
            XmlNodeList list = readXmlRes.SelectNodes("/Table/row");
        }
        else
        {
            
        }

        
        return "";
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章