WebService 之 Restful Tool

通过WebService 发送一个XML的Request,来获取XML的Response
 
如何将 XSD 文件转化为类文件呢?
XSD  /classes filename.xsd
 
private static bool RemoteCertValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
        {
            // TODO: validate server cert
            return true;
        }
 
private void button1_Click(object sender, EventArgs e)
        {
            ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(RemoteCertValidate);
                // setup request
                WebServiceRequest request = new WebServiceRequest();
                XmlSerializer s = new XmlSerializer(typeof(WebServiceRequest));
                MemoryStream ms = new MemoryStream();
                XmlTextWriter xmlWriter = new XmlTextWriter(ms, Encoding.UTF8);
                s.Serialize(xmlWriter, request);
                String requestXml = Encoding.UTF8.GetString(ms.ToArray());
                // send request
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(WebService_Http_URL);
                X509Certificate2 certPfx = new X509Certificate2();
                certPfx.Import("Certificate.pfx", "", X509KeyStorageFlags.PersistKeySet);
                req.ClientCertificates.Add(certPfx);
                req.Method = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                byte[] requestXmlBytes = Encoding.UTF8.GetBytes(requestXml);
                req.ContentLength = requestXmlBytes.Length;
                Stream postStream = req.GetRequestStream();
                postStream.Write(requestXmlBytes, 0, requestXmlBytes.Length);
                postStream.Flush();
                postStream.Close();
                // get and unmarshal response
                HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
                Stream respStream = resp.GetResponseStream();
                StreamReader sr = new StreamReader(respStream, Encoding.UTF8);
                string responseXml = sr.ReadToEnd();
                s = new XmlSerializer(typeof(WebServiceResponse));
                WebServiceResponse respObj = (WebServiceResponse)s.Deserialize(new StringReader(responseXml));
        }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20200170/viewspace-742088/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20200170/viewspace-742088/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值