【发布时间】:2015-04-21 12:04:57
【问题描述】:
我在调试时收到以下错误。
接收到http://localhost:50750/FIGService.svc 的 HTTP 响应时出错。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。
现在我看到很多帖子都出现了这个错误,我已经将我的 WCF 削减到绝对准系统,但我仍然收到错误,我正在运行以下命令:
Public Function TestXML(ByVal Username As String, ByVal Password As String, ByVal XML As String) As XmlDocument Implements FreshCloud.TestXML
Dim ReturnXMLDoc As New XmlDocument()
If ValidateLogin(Username, Password) <> False Then
ReturnString = "<FreshLead><Result><Message>Failed - XSD Validation</Message><DateTime>" & Date.Now.ToString & "</DateTime></Result></FreshLead>"
ReturnXMLDoc.LoadXml(ReturnString)
Return ReturnXMLDoc
End If
End Function
不用担心我只是复制并粘贴各种位来运行测试的代码的无用,这比使用带有按钮的简单测试应用程序运行:
Dim client As FreshCloudClient = New FreshCloudClient()
Dim strXML = client.TestXML("ABC", "BS", "Doesn't Matter")
Dim strTest = strXML
client.Close()
我收到刚刚返回上述内容的错误,请任何可以阐明的人将不胜感激这是一个大项目,我不得不陷入微软模糊的错误消息对学习者没有帮助的问题。
干杯! :)
更新
在挖掘 WCF 的日志后,我偶然发现了这个:
类型“System.Xml.XmlDocument”是无效的集合类型,因为它没有有效的 Add 方法,参数类型为“System.Object”。
谁能告诉我为什么 WCF 会抛出这个异常?
干杯。
更新 2
好的,按照 Lerners 的建议,我现在得到了以下信息:
公共函数TestXML(ByVal用户名作为字符串,ByVal密码作为字符串,ByVal XML作为字符串)作为XElement实现FreshCloud.TestXML
Dim ReturnXMLDoc
If ValidateLogin(Username, Password) <> False Then
ReturnString = "<FreshLead><Result><Message>Failed - XSD Validation</Message><DateTime>" & Date.Now.ToString & "</DateTime></Result></FreshLead>"
ReturnXMLDoc = XElement.Parse(ReturnString)
Return ReturnXMLDoc
End If
End Function
在我的客户端已经说过将响应放入变量和 Console.WriteLine 变量并且它只是返回 System.Object?
当我在 WCF 方面进行调试时,这肯定应该返回 XML 在 ReturnXMLDoc 变量中显示的内容吗?
更新 3
工作中!
Lerner 让我处于正确的位置,我只需要从我的“客户端”应用程序中更新服务定义。
干杯。
【问题讨论】:
标签: vb.net web-services wcf