Сначала вы должны увидеть требование, есть ли один элемент или несколько.Если это один элемент, тогда лучше всего использовать посредник полезной нагрузки, как предлагалось ранее.Если вам нужно несколько элементов, выполните следующие шаги:
Шаг 1: Как только запрос поступит в вашу последовательность, используйте медиатор свойства, чтобы преобразовать его в XML
<property name="messageType" scope="axis2" type="STRING"
value="application/xml"/>
<property name="ContentType" scope="axis2" type="STRING" value="application/xml"/>
. Это приведет к преобразованию входящего json вXML.
Шаг 2. Теперь используйте XSLT-посредник для преобразования в желаемую полезную нагрузку.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
{
"BalanceEnquiryRequest": {
<xsl:for-each select="//*[local-name()='root']">
"channel": null,
"type": "<xsl:value-of select="requestMode"/>",
"customerId": "<xsl:value-of select="agentAccountNumber"/>",
"customerIdType": null,
"submissionTime": null,
"reqTranId": "<xsl:value-of select="requestID"/>",
"passcode": null
</xsl:for-each>
}
}
</xsl:template>
</xsl:stylesheet>