GovTalk / HMRC事务引擎Http 1.1 POST错误

时间:2017-09-07 14:29:42

标签: c# xml post http-1.1 system.net.httpwebrequest

我很欣赏这是一个小小的利基,但我想我还是会问。我正在编写一个小型的c#应用程序来使用HMRC门户网站,并以XML格式电子提交增值税申报表。根据HMRC规范,它只需要一个简单的Http 1.1 POST操作,并以XML格式检索响应。该应用程序已构建,但是,我遇到此代码时遇到问题。我得到了一个" OK" HttpWebResponse,但HMRC服务器返回这个虚假错误消息,他们似乎无法告诉我它的含义。这是我的代码:

DoesUserExistsAsync

错误是:

1001 - 提交的XML文档无法针对此类文档的GovTalk架构进行验证,或者其正文形成错误。

我知道XML是可以的,因为当我使用第三方工具测试它时,例如" Postman"它提交100%并且事务引擎不返回任何错误,因此它必须是我的代码。发布XML有什么明显的错误吗?我尝试了不同的内容/ MIME类型,并且我已经确认了' utf-8'是正确的编码。

我只是想知道是否有任何开发人员在交易引擎上工作并可以分享他们的提交/邮寄代码?

1 个答案:

答案 0 :(得分:0)

答案是将文件内容转换为字节数组的代码实际上是转换文件名。

我更改了这一行:

bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);

对此:

bytes = File.ReadAllBytes(requestXml);