当我把下面的代码的RESTful服务,我得到错误基础连接已关闭:意外出错一个接收
基础连接已关闭: 发生意外的错误一个接收。
代码:
Const url As String = "http://localhost:8003/Tracker/Tracker.svc/GetTrackerDetails"
ServicePointManager.MaxServicePointIdleTime = 500
ServicePointManager.UseNagleAlgorithm = True
ServicePointManager.Expect100Continue = True
ServicePointManager.CheckCertificateRevocationList = True
ServicePointManager.DefaultConnectionLimit = ServicePointManager.DefaultPersistentConnectionLimit
req = DirectCast(WebRequest.Create(url), HttpWebRequest)
req.Method = "POST"
req.ContentType = "application/xml; charset=utf-8"
req.Timeout = 300000
req.KeepAlive = False
req.Headers.Add("SOAPAction", url)
Dim xmlDoc = New XmlDocument With {.XmlResolver = Nothing}
xmlDoc.Load(Server.MapPath("Request.xml"))
Dim sXml As String = xmlDoc.InnerXml
req.ContentLength = sXml.Length
Dim sw = New StreamWriter(req.GetRequestStream())
sw.Write(sXml)
sw.Close()
res = DirectCast(req.GetResponse(), HttpWebResponse)
Dim responseStream As Stream = res.GetResponseStream()
Dim streamReader = New StreamReader(responseStream)
'Read the response into an xml document
Dim soapResonseXmlDocument = New XmlDocument()
soapResonseXmlDocument.LoadXml(streamReader.ReadToEnd())
TextBox1.Text = Server.HtmlDecode(soapResonseXmlDocument.InnerXml)
soapResonseXmlDocument.LoadXml(TextBox1.Text)
我面对这个错误在过去的几天。我的调用代码有什么问题。请帮助我。
两个说明:1)如果您通过浏览器调用服务,服务是否工作? 2)我看到你执行一个POST请求,如果回答我的第一个问题是'是'切换到GET – Alex
当我通过浏览器调用服务时,我得到“方法不允许”,我只需要使用POST方法。我按要求传递XML。 POST是不可能的?我通过客户端代码调用它。但不是浏览器 –
以前它是与邮政合作。我已经通过向其添加子节点和子子节点来更改请求xml。从那时起,我得到这个错误 –