使用 WSO2 ESB (4.9) 为我们的 dot net 应用程序提供 JSON 格式的 API 调用,只要源数据中存在换行符,我就会收到错误,但仅在将 ESB 作为服务运行时(通过 YAJSW)。换行符以 char(10) 的形式来自数据库,并由 ESB 与 WSO2 DSS 组合编码,以进行简单的 PUT 调用。
API端的问题表现在以下几个方面:
Unable to translate bytes [A0] at index 332 from specified code page to Unicode
或者
Unexpected character encountered while parsing value: R.
无论是在控制台(管理员)中运行 ESB 还是作为服务运行,从源中删除所有换行符都有效。从管理控制台运行 WSO2 ESB 也可以解决问题(但不会长期工作,因为这需要在机器上自动运行)。
问题是:
- 为什么在 java 服务包装器下运行时行为或 WSO2 的 ESB 会发生变化?
- 有什么修复建议吗?