2012-06-04 76 views
0

当我把下面的代码的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

两个说明:1)如果您通过浏览器调用服务,服务是否工作? 2)我看到你执行一个POST请求,如果回答我的第一个问题是'是'切换到GET – Alex

+0

当我通过浏览器调用服务时,我得到“方法不允许”,我只需要使用POST方法。我按要求传递XML。 POST是不可能的?我通过客户端代码调用它。但不是浏览器 –

+0

以前它是与邮政合作。我已经通过向其添加子节点和子子节点来更改请求xml。从那时起,我得到这个错误 –

回答

1

你应该在连接上安装一些日志记录,在这种情况下,我猜想客户端或服务器的请求或响应是很大的。

+0

什么是日志记录可用于休息的工具以及我们需要在哪里安装客户端或服务器? –

+0

我在服务跟踪查看器日志中只收到单个消息,即AppDomain卸载 –

0

问题可能发生在服务发生时,它无法解析您的请求XML或在处理请求时收到未知的异常错误。

相关问题