【发布时间】: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# 代码,以便我们更好地了解正在发生的事情。