WCF错误 - 接收到http:// localhost:50750 / *******。svc的HTTP响应时发生错误

时间:2015-04-21 12:04:58

标签: vb.net web-services wcf

我在调试时收到以下错误。

  

接收到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'是一种无效的集合类型,因为它没有带有'System.Object'类型参数的有效Add方法。

任何人都可以与我分享为什么WCF会抛出这个异常吗?

干杯。

更新2

好的,按照Lerners的建议,我现在得到了以下内容:

Public Function TestXML(ByVal Username As String,ByVal Password As String,ByVal XML As String)As 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中的XML,因为它在ReturnXMLDoc变量中显示了吗?

更新3

WORKING!

Lerner让我进入正确的球场,我只需要在我的“客户”申请表中更新服务定义。

干杯。

1 个答案:

答案 0 :(得分:2)

返回XElement而不是XDocument,XElement是IXmlSerializable。

var xml = XElement.Parse(ReturnString);
return xml;