xml – wso2 esb文件处理示例smooks csv解析器第一行包括payload
发布时间:2020-12-16 23:27:57 所属栏目:百科 来源:网络整理
导读:涉及WSO2 ESB示例 http://wso2.org/library/articles/2011/01/wso2-esb-example-file-processing,但遇到一个问题,当一个简单的csv文件 name0,value0name1,value1name2,value2name3,value3 使用此配置由smooks解析 smooks-resource-list xmlns="http://www.mi
涉及WSO2 ESB示例
http://wso2.org/library/articles/2011/01/wso2-esb-example-file-processing,但遇到一个问题,当一个简单的csv文件
name0,value0 name1,value1 name2,value2 name3,value3 使用此配置由smooks解析 <smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.1.xsd"> <csv:reader fields="name,value" /> </smooks-resource-list> 导致很大程度上正确的输出,但第一行包括有效负载命名空间,这是不正确的 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <text xmlns="http://ws.apache.org/commons/ns/payload">name0,value3</text> </soapenv:Body> </soapenv:Envelope> 所以当读取第一个name0值时,它包括哪个也是不正确的. Smooks然后将其转换为 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <csv-set> <csv-record number="1"> <name><?xml version='1.0' encoding='utf-8'?><text xmlns="http://ws.apache.org/commons/ns/payload">name0</name> <value>value0</value> </csv-record> <csv-record number="2"> <name>name1</name> <value>value1</value> </csv-record> <csv-record number="3"> <name>name2</name> <value>value2</value> </csv-record> <csv-record number="4"> <name>name3</name> <value>value3</text></value> </csv-record> </csv-set> </soapenv:Body> </soapenv:Envelope> 那么Smooks正在做所有的问题,因为输入包括最后一个?但是,它理解的元素数量被计为4,所以它不像csv应该有一个标题行.我可以通过包含标题行来解决(在某种程度上),但元素计数不正确.我可以通过在csv的最后一行包含一个回车来解决结束. 我该如何解决这个问题?我在一年前找到另一个线程问同样的问题,但没有答案. 解决方法
我现在整理了这个.在我的smooks标签
<smooks xmlns="http://ws.apache.org/ns/synapse" config-key="conf:/smooks-config.xml"> <input type="text"/> <output type="xml"/> </smooks> 我将第一个输入元素设置为xml.更改为文本解决了问题. (在WSO2的GUI编辑器中,它默认具有这些元素,而教程根本没有这些元素). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |