3字节UTF-8序列的无效字节3

2020-08-27 00:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


全部

我检查了多个线程并进行了一些测试,但是当响应消息进入系统时,我仍然收到错误消息。

  • 场景:ABAP代理<->同步SOAP
  • 响应消息中包含汉字

响应映射失败,并显示错误:

使用连接SOAP_http://sap.com/xi/XI/System传输消息失败,原因是:com.sap.engine.interfaces.messaging.api.exception.MessagingException:执行映射时遇到错误:com。  sap.aii.af.service.mapping.MappingException:在运行应用程序映射程序com/sap/xi/tf/_xxxxxxxxxxx_时,runtimeRuntime映射失败; 详细信息:com.sap.aii.utilxi.misc.api.BaseRuntimeException;  3字节UTF-8序列的无效字节3。


欢迎提出所有建议!

谢谢。
Dimitri

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


全部

我检查了多个线程并进行了一些测试,但是当响应消息进入系统时,我仍然收到错误消息。

  • 场景:ABAP代理<->同步SOAP
  • 响应消息中包含汉字

响应映射失败,并显示错误:

使用连接SOAP_http://sap.com/xi/XI/System传输消息失败,原因是:com.sap.engine.interfaces.messaging.api.exception.MessagingException:执行映射时遇到错误:com。  sap.aii.af.service.mapping.MappingException:在运行应用程序映射程序com/sap/xi/tf/_xxxxxxxxxxx_时,runtimeRuntime映射失败; 详细信息:com.sap.aii.utilxi.misc.api.BaseRuntimeException;  3字节UTF-8序列的无效字节3。


欢迎提出所有建议!

谢谢。
Dimitri

付费偷看设置
发送
6条回答
骆驼绵羊
1楼 · 2020-08-27 01:10.采纳回答

**更新**

我使用REST适配器进行测试...

  • HTTP操作是POST
  • 添加了值 application/xml; charset = utf-8

的HTTP标头参数Content-Type 问题解决了。 不要问我为什么:-)

亲切的问候,
Dimitri

Alawn_Xu
2楼-- · 2020-08-27 00:56

嗨,Evgeniy,

是,它是UTF-8 编码。
但是有些部分包含汉字。
我可以在Notepad ++中将其打开,然后分别测试消息映射。 没问题。

亲切的问候,
Dimitri

代楠1984
3楼-- · 2020-08-27 00:58

嗨,迪米特里!

首先,我会尝试检查 响应消息是UTF-8编码的。

Evgeniy。

灬番茄
4楼-- · 2020-08-27 01:18

嗨Dimitri!

这是Michael Kay对类似错误的评价:

 Saxon不能检测到此问题,XML解析器和
 Saxon仅报告XML解析器的内容。 消息差不多
 当然意味着它的意思:该文件未正确编码为UTF-8。 那里
 有几种可能的解释:

 (a)该文件原定为UTF-8,但编码不正确;

 (b)该文件采用其他某种编码,例如iso-8859-1,但没有XML
 声明描述其编码,因此XML假定使用UTF-8
 解析器。

 (c)该文件已在传输过程中进行了转码,即声明了
 XML声明中的编码为UTF-8,但是某些软件没有
 了解XML将其编码更改为其他编码,而无需更改
 XML声明。

 因此:第三方正在生成错误的XML,或者它已在
 过境。

 说明(a)不太可能。 如果文件具有XML声明,则(c)为
 最有可能的; 如果不是,那我会认为(b)是罪魁祸首。 您
 可以通过"手动"添加XML声明来对此进行修补-但实际上,如果
 您已经同意与第三方交换XML,那会更好
 不要交换损坏的XML。

我会尝试检查有效载荷是否确实(正确)以UTF-8编码。

关于此,Evgeniy。

clever101
5楼-- · 2020-08-27 01:01

**更新**

似乎响应消息缺少XML声明:
<?xml version =" 1.0" encoding =" UTF-8"?>

,并且消息的内容包含简体中文。 因此,系统无法执行消息映射。

我想我可以自己添加此XML声明,对吧?
推动发送方系统来实现这一点将很困难

95年老男孩
6楼-- · 2020-08-27 01:07
< p>嗨Dimitri!

我不太确定,但是也许可以使用XMLAnonymizerBean将声明添加到xml文档中。

关于Evgeniy。

一周热门 更多>