【问题标题】:WCF Test Client sends Null value to service when XML string entered as parameter当 XML 字符串作为参数输入时,WCF 测试客户端向服务发送 Null 值
【发布时间】:2017-06-08 16:06:16
【问题描述】:

使用 C#,我一直试图在 SOAP WCF 服务中从客户端接收 XML 作为字符串(不是我的选择,这是客户端选择发送它的方式),但我无法得到它在 WCF 测试客户端中正常工作。我以为我找到了问题所在。我假设关闭 XML 标记中的反斜杠会导致 WCF 测试客户端解析不正确并向我的服务发送空值,而不会在 WCF 测试客户端中引发任何异常或任何内容。请参阅下面的链接。

http://programmersranch.blogspot.com/2014/08/c-wcf-backslash-limitation-in-wcf-test.html

但是,这似乎不是问题,因为 XML 中的斜杠是 / 斜杠,而导致问题的斜杠是 \ 斜杠。有什么建议?这是我在 WCF 测试客户端中为我的一种服务方法复制 + 粘贴到字符串参数中的字符串。我已经转义了引号等以避免字符串解析出现问题,但即使转义它们也不起作用。

<?xml version=\"1.0\"?><QBXML><QBXMLMsgsRs><ItemNonInventoryQueryRs requestID=\"SXRlbVF1ZXJ5fDEyMA==\" statusCode=\"500\" statusSeverity=\"Warn\" statusMessage=\"The query request has not been fully completed. There was a required element 'your item name' that could not be found in QuickBooks.\"/></QBXMLMsgsRs></QBXML>

另外,我想指出,如果我输入像“BOB”或“sally2135”这样的字符串,或者根本不是 XML 的字符串,它会很好地接收到该字符串。它只是不喜欢 XML 字符串。

谢谢!

【问题讨论】:

  • 请包含您的 c# 代码,以便我们更好地了解正在发生的事情。

标签: c# xml wcf


【解决方案1】:

事实证明,解决方案非常简单。在问了一个我已经研究了几个小时的问题后几分钟,我找到了答案。删除字符串中所有引号之前的 \ 后,我毫无问题地收到了 XML 字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2011-06-25
    • 1970-01-01
    相关资源
    最近更新 更多