Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将生成的XML发布到URL?_C# - Fatal编程技术网

C# 如何将生成的XML发布到URL?

C# 如何将生成的XML发布到URL?,c#,C#,我试图将生成的XML发送到URL,但HttpWebResponse不断出现错误: 远程服务器返回错误:(417)预期失败 这是我的密码 //POST to URL var httpRequest = (HttpWebRequest)WebRequest.Create("http://xxx.xxx.xxx.xxx:8000"); httpRequest.Method = "POST"; httpRequest.Cont

我试图将生成的XML发送到URL,但HttpWebResponse不断出现错误:


远程服务器返回错误:(417)预期失败

这是我的密码

 //POST to URL 

            var httpRequest = (HttpWebRequest)WebRequest.Create("http://xxx.xxx.xxx.xxx:8000");
            httpRequest.Method = "POST";
            httpRequest.ContentType = "text/xml; charset=utf-8";
            httpRequest.ProtocolVersion = HttpVersion.Version11;


            //Set appropriate headers 

            var xmlWriterSettings = new XmlWriterSettings
            {
                NewLineHandling = NewLineHandling.None,
                Encoding = Encoding.ASCII
            };

            using (var requestStream = httpRequest.GetRequestStream())
            {
                xmlDoc.Save(requestStream);

            }

            using (var response = (HttpWebResponse)httpRequest.GetResponse())
            using (var responseStream = response.GetResponseStream())
            {
                // Response Code to see if the request was successful
                var responseXml = new XmlDocument();
                responseXml.Load(responseStream);
                using (var repp = XmlWriter.Create("response.xml"))
                {
                    responseXml.Save(repp);
                }
            }

远程服务器返回错误:(417)Expectation Failed 417表示服务器无法通过
Expect
HTTP头满足客户端指示的要求。我不熟悉
HttpWebRequest
及其默认头,但您是否可以检查正在发送的实际HTTP头,特别是任何Expect头?如下所示?-虽然这与您的实际问题无关,但我想指出,声明内容类型为
“text/xml;charset=utf-8”
,然后使用
编码.ASCII
,这两者之间存在不一致之处。感谢大家设法解决了这一问题,只需将
HttpWebRequest.ProtocolVersion
更改为
HttpVersion.Version10