szh1124的专栏

这篇文章介绍如何通过WSO2ESB实现数据转换的功能:如改变消息值,“0”转换为“律师投诉”,“1”转换为“公证员投诉”;改变消息标签,添加消息属性等。

场景一:投诉管理描述:改变消息值,“0”转换为“L”,“1”转换为“N”1 创建法律援助服务

参见代码FayuanService,打包为FayuanService_1.0.0.aar服务发布。

2、创建代理服务

<?xml version="1.0" encoding="UTF-8"?><proxy xmlns=""name="FayuanProxy"transports="https,http"statistics="enable"trace="enable"startOnLoad="true"> <target><inSequence><send><endpoint key="FayuanEndpoint"/></send></inSequence><outSequence><log level="full"><property name="before" value="beforeTransform"/></log><xslt key="fyResponse.xslt"/><log level="full"><property name="after" value="afterTransform"/></log><send/></outSequence> </target> <publishWSDL uri="file:repository/samples/resources/proxy/FayuanService.wsdl"/> <description/></proxy>3 创建本地项fyResponse.xslt<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="2.0"xmlns:xsl=""xmlns:fn=""xmlns:ns=""xmlns:ax23=""exclude-result-prefixes="fn ns ax23"><xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/><xsl:template match="/"><xsl:apply-templates select="//ns:return"/></xsl:template><xsl:template match="ns:return"><ns:createFYComplainRecordResponse xmlns:ns=""><ns:return xmlns:ax231=""><ax231:complainant><xsl:value-of select="ax23:complainant"/></ax231:complainant><ax231:respondent><xsl:value-of select="ax23:respondent"/></ax231:respondent><ax231:info><xsl:value-of select="ax23:info"/></ax231:info><ax231:recordTime><xsl:value-of select="ax23:recordTime"/></ax231:recordTime><ax231:recordType><xsl:value-of select="translate(ax23:recordType,'01','LN')"/></ax231:recordType></ns:return></ns:createFYComplainRecordResponse></xsl:template></xsl:stylesheet>4 测试

输入0,转换为L

输入1,转换为N

场景二:律师信息转换描述:改变律师信息服务的响应消息标签,添加删除消息属性等。

1 创建查看律师信息服务

参见代码lawyerAxis2Service,,打包为lawyerAxis2Service_1.0.0.aar服务发布。

2、创建代理服务

<?xml version="1.0" encoding="UTF-8"?><proxy xmlns=""name="DataTransformProxy"transports="https,http"statistics="enable"trace="enable"startOnLoad="true"> <target><inSequence><send><endpoint key="LawyerInfoEndpoint"/></send></inSequence><outSequence><log level="full"><property name="before" value="beforeTransform"/></log><xslt key="dataTransform.xslt"/><log level="full"><property name="after" value="afterTransform"/></log><send/></outSequence> </target> <publishWSDL uri=":9763/services/LayerInfoService?wsdl"/> <description/></proxy>3 创建本地项dataTransform.xslt<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="2.0"xmlns:xsl=""xmlns:fn=""xmlns:ns=""xmlns:ax219=""exclude-result-prefixes="fn ns ax219"><xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/><xsl:template match="/"><xsl:apply-templates select="//ns:return"/></xsl:template><xsl:template match="ns:return"><m:getLawyerInfoResponse xmlns:m=""><m:lAWYERLEVEL><xsl:value-of select="ax219:lawyerLevel"/></m:lAWYERLEVEL><m:lAWYERNAME><xsl:value-of select="ax219:lawyerName"/></m:lAWYERNAME><m:LAWYEROFFICE><xsl:value-of select="ax219:lawyerOffice"/></m:LAWYEROFFICE><m:LAWYERORIGIN><xsl:value-of select="ax219:lawyerOrigin"/></m:LAWYERORIGIN><m:LAWYERSEX><xsl:value-of select="ax219:lawyerSex"/></m:LAWYERSEX></m:getLawyerInfoResponse></xsl:template></xsl:stylesheet>4 测试

直接调用律师信息服务结果为:

在繁华中体会热闹;若是厌倦了喧嚣,寻一处宁静的幽谷,

szh1124的专栏

相关文章:

你感兴趣的文章:

标签云: