JSON的XML验证器管道错误 - 名称不能以'。'字符开头,十六进制值0x2E [英] XML validator pipeline error for JSON - Name cannot begin with the '.' character, hexadecimal value 0x2E

查看:114
本文介绍了JSON的XML验证器管道错误 - 名称不能以'。'字符开头,十六进制值0x2E的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

BizTalk 2016,CU5,发送 - 接收到RESTful API。

我们收到一条JSON消息,其中包含一个以'。'开头的节点名称。 $ b消息的xsd是使用JSON模式向导创建的,但必须手动修改'。'节点并允许对其进行编码。

有一个接收管道,其中包含 - JSON解码器, XML  反汇编程序 和XML验证器。
$
收到JSON时,它失败了:


执行响应(接收)管道失败:" xxx.Pipelines.JSONToXmlReceivePipeline,xxx.Pipelines,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = xxx" ;来源:
" XML验证器"发送端口:"xxx.xxx.RESTful.Http" URI:"
http:// x xx "原因:解析传入文档时发生错误:"名称无法以'。'字符开头
,十六进制值0x2E。第6行,第4位。"。 


奇怪的事这是在一些开发机器上运行
确定但在其他机器上没有。我们看不出设置,代码或绑定方面的任何差异。我们使用绑定进行完全获取,BTDF部署并简单地进行端到端测试。


任何想法?


谢谢


解决方案

事实证明这是与Newtonsoft.Json.dll的版本相关


累积更新未更新此程序集,但功能包更新确实如此。


我的建议是安装FP 3。


然后JSON解码器对它有问题的节点做了什么。


谢谢




BizTalk 2016, CU5, send-receive to a RESTful API.
We receive a JSON message back which contains a node name starting with a '.'
The xsd for the message was created using the JSON schema wizard but had to manually amend the '.' node and allow it to be encoded.
There is a receive pipeline which contains - JSON decoder, XML Disassembler  and XML Validator.
When receiving the JSON it fails with:

There was a failure executing the response(receive) pipeline: "xxx.Pipelines.JSONToXmlReceivePipeline, xxx.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=xxx" Source: "XML validator" Send Port: "xxx.xxx.RESTful.Http" URI: "http://xxx" Reason: An error occurred when parsing the incoming document: "Name cannot begin with the '.' character, hexadecimal value 0x2E. Line 6, position 4.". 

Weird thing is this works OK on some dev machines but not on others. We cannot see any differences in set up, code or bindings. We do a full get, BTDF deploy with bindings and simply run an end to end test.

Any ideas anyone?

Thanks

解决方案

It turns out this was related to the version of Newtonsoft.Json.dll

Cummulative update did not update this assembly but Feature Pack update does.

My advice would be to install FP 3.

The JSON decoder then does whats its supposed to with the problematic node.

Thanks



这篇关于JSON的XML验证器管道错误 - 名称不能以'。'字符开头,十六进制值0x2E的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆