[KB221924360115176功能解说] SOAP Web请求不转换原始UTF-8字符数据
[b]* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。SOAP Web请求不转换原始UTF-8字符数据
[/b]
创建日期:2022-07-07
最后修改日期:2023-07-12
[b]
描述
[/b]
我有一些来自外部系统的原始UTF-8数据,正试图使用Web Service调用将它们作为新记录添加到X3中。
请求中的XML数据以 [b]"<FLD NAM="DES1AXX" >\x52\x65\x66\x20\xc3\x8a\x78\x31\x39\x2f\x39\x31</FLD>"[/b] 的形式输入,但是在x3创建时,没有被翻译成实际的文本[b]"Ref Êx19/91"[/b],仍然在x3屏幕中显示原始数据。
[attach]7478[/attach]
[b]原因[/b]
输入数据的格式不正确。
[b]
解决方法[/b]
如果您在请求数据(payload)中直接使用文本[b]"Ref Êx19/91"[/b],只要正确定义了CDATA,则内容就能正常导入。例如,以下特殊字符被成功导入并正确展示:
[b]<![CDATA[<?xml version="1.0" encoding="UTF-8"?><PARAM>
<GRP ID="ITM0_1">
<FLD NAME="TCLCOD">ASSET</FLD>
<FLD NAME="DES1AXX">Ref Êx19/91</FLD>
</GRP>
</PARAM>]]>[/b]
如果您真的必须导入原始UTF-8代码,那么我所知道的允许导入原始代码的唯一方法是使用JSON格式并指定\u00格式,如下所示:
[b]<![CDATA[{
"ITM0_1": {
"TCLCOD": "ASSET",
"DES1AXX": "\u0052\u0065\u0066\u0020\u00ca\u0078\u0031\u0039\u002f\u0039\u0031"
}}]]>
[/b]
页:
[1]