我使用属性介体将xml转换为json <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
这是可行的,但是当xml消息包含50103015080000000550022052之类的数字时,在转换为json后,该值将更改为5.010301508E25。
我需要保留原始值。知道怎么做吗?
提前感谢。
这是由于wso2 ESB服务器可用的自动原始功能。从XML进行转换时,这里会自动识别JSON基本类型。因此,将数字501030150800805500550022052标识为数字并以科学计数法表示。
默认情况下,在EI服务器[1]中启用了自动原始功能。
我们可以通过在以下位置配置synapse.commons.json.output.autoPrimitive = false来全局禁用自动基本功能。这将全局应用于所有原始数据类型。
[EI_HOME]/conf/synapse.properties
此外,我们还可以通过提供正则表达式模式来仅对一组数据禁用自动基本功能。如果只想对上述数据集禁用自动基本功能,则在[EI_HOME] /conf/synapse.properties文件中配置以下内容。
synapse.commons.json.output.disableAutoPrimitive.regex = ^-?(0 | [1-9] [0-9] *)(。[0-9] +)?$完成上述配置后,请重新启动服务器。
[1]-https://docs.wso2.com/display/EI650/Working+with+JSON+Message+Payloads