WSO 2 EI响应将第一个字母更改为大写

时间:2018-10-09 08:10:38

标签: xslt wso2 wso2esb wso2ei wso2developerstudio

嗨,在有效载荷工厂的wso2 ei中,我在json中得到了响应

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

响应是:

{
"Body":{
   "result":"done",
   "idNumber":"123",
   "address":{
      "local":"US",
      "abroad":"UK" 
    }
}
}

....意味着现在有多个对象,我需要所有对象的首字母应大写。

我需要以下回复

 {
    "Body":{
       "Result":"done",
       "IdNumber":"123",
       "Address":{
          "local":"US",
          "abroad":"UK" 
        }
    }
 }

仅意味着对象的首字母应大写...任何帮助!

1 个答案:

答案 0 :(得分:0)

用xslt中介器替换有效负载中介器。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    exclude-result-prefixes="xs"
    version="2.0">
    <xsl:strip-space elements="*"/>
    <xsl:output method="text" indent="yes" media-type="application/json" encoding="UTF-8"/>
    <xsl:template match="/">        
        {
        Body :{

        <xsl:for-each select="//*[local-name()='pid']">

            Result:<xsl:value-of select="result"/>
            IdNumber:<xsl:value-of select="idNumber"/>

        </xsl:for-each>

        }

        }

    </xsl:template>

</xsl:stylesheet>

完成此操作后,您需要使用属性中介器,以便有效负载仍位于json中。

 <property name="messageType" scope="default" type="STRING" value="application/json"/>
    <property name="contentType" scope="default" type="STRING" value="application/json"/>