gpt4 book ai didi

c# - 序言异常中不允许的内容

转载 作者:搜寻专家 更新时间:2023-11-01 01:59:05 25 4
gpt4 key购买 nike

我正在尝试将 xml 发送到第三方通过 c#.NET 应用程序提供给我的基于 java 的 Web 服务,我得到了 org.xml.sax.SAXParseException: Content is not allowed in序言 错误。

我已经根据模式验证了 xml,并将用于保存 xml 的内存流传递给 .xml 文件,然后使用十六进制编辑器打开该文件以确保序言中没有不需要的字符, 没有。打开时,文件中的第一个字符是

<?xml version="1.0" encoding="utf-8"?>

用于将 xml 数据发送到 Web 服务的类接受一个字节数组。我认为使用 XmlTextWriter 创建 xml 到 utf-8 编码的内存流,然后将流的内容发送到字节数组是最直接的方法。

我已经做了很多研究并尝试了所有我能找到的关于这个问题的可能性,但没有任何效果。有人可以帮忙吗?提前致谢。

顺便说一句,这是网络服务返回给我的部分内容。在 SOAP 消息的负载中, 元素之后的数据应该是这样的,还是像它之前的内容一样是可读的 xml?

Messages:
Message:

Payload: <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http:/
/schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema
-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><postSubmissi
on xmlns="http://service.arm.hud.gov/"><submissionHeader><agcHcsId>1</agcHcsId><
agcName>test</agcName><systemName>123</systemName><cmsSubId>123456</cmsSubId><su
bFlag>0</subFlag></submissionHeader><agcType>test</agcType><submissionData>PD94b
WwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48dG5zOlN1Ym1pc3Npb25EYXRhIHhzaTpzY
2hlbWFMb2NhdGlvbj0iaHR0cDovL2dvdi5odWQuYXJtL2FybV9kYXRhYmFnXzNfMS54c2QiIHhtbG5zO
nhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT......etc............................
</submissionData></postSubmission></soap:Body></soap:Envelope>

为了更好的可读性,这里是 xml 数据:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http:/
/schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema
-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<postSubmissi on xmlns="http://service.arm.hud.gov/">
<submissionHeader>
<agcHcsId>1</agcHcsId>
<agcName>test</agcName>
<systemName>123</systemName>
<cmsSubId>123456</cmsSubId>
<subFlag>0</subFlag>
</submissionHeader>
<agcType>test</agcType>
<submissionData>PD94b
WwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48dG5zOlN1Ym1pc3Npb25EYXRhIHhzaTpzY
2hlbWFMb2NhdGlvbj0iaHR0cDovL2dvdi5odWQuYXJtL2FybV9kYXRhYmFnXzNfMS54c2QiIHhtbG5zO
nhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT......etc............................
</submissionData>
</postSubmission>
</soap:Body>
</soap:Envelope>

最佳答案

我能够通过删除 UTF 编码来解决这个问题。听起来在我们的两个案例中,文本实际上并不是 UTF-8 编码的。

关于c# - 序言异常中不允许的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com