WSO2 ESB例http://wso2.org/library/articles/2011/01/wso2-esb-example-file-processingで手を染め単純なCSVファイルWSO2は
name0,value0
name1,value1
name2,value2
name3,value3
この構成
<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>
を用いSmooksので解析されている問題が発生ペイロード名前空間を含みます
は大部分正しい出力を返しますが、最初の行には正しくないペイロード名前空間が含まれています
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<text xmlns="http://ws.apache.org/commons/ns/payload">name0,value0
name1,value1
name2,value2
name3,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の最後の行に改行を入れるだけで終了を解決することができます。
どうすれば解決できますか?私は1年前に同じ質問をしているが、答えはない他のスレッドを見つけた。
解決策を見つけた場合は、回答として投稿し、同意してください。できるだけ自分の質問に答えることはまったくいいです。そうすれば、stackoverflowはあなたの質問を回答として登録することができます。これはタイトルにその質問を示すだけです。 – joergl