WSO2设置属性类型为字符串但更改为整数

时间:2017-12-06 11:39:33

标签: wso2

我将属性类型设置为字符串如下:

<property name="result" scope="default" type="STRING" value="0"/>
 <payloadFactory media-type="xml">
      <format>
        <jsonObject>
            <result>$1</result>                             
         </jsonObject>
      </format>
      <args>
        <arg evaluator="xml" expression="$ctx:result"/>         
      </args>
    </payloadFactory>

但是响应结果是整数。发生了什么?

{
        "result": 0
}

2 个答案:

答案 0 :(得分:1)

属性值不是响应内容。你是如何建立自己的回应者的?可能是你使用payloadFactory?

您可以在有效负载https://www.yenlo.com/blog/wso2torial-json-magic-in-wso2-esb-5.0.0wso2 esb - problems with XML to JSON conversion

中找到有关json类型的内容

答案 1 :(得分:0)

您已指定您的payloadFactory使用xml。我稍后假设你将xml转换为json。

在xml中,没有&#34; string&#34;的概念。 vs&#34;整数&#34; - 除非你使用xsd&#39; s - 所以当ESB / EI将xml转换为json时,如果它看到一个数字,它会将值转换为整数,如果它没有,则将其转换为字符串。

XML - &gt; JSON转换不是类型安全的。你能不能使用json payloadFactory:

<payloadFactory media-type="json">
            <format>{  "result": "$1" }</format>
            <args>
                <arg evaluator="xml" expression="$ctx:result"/>
            </args>
        </payloadFactory>