首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用wso2-esb进行文件处理

使用wso2-esb进行文件处理
EN

Stack Overflow用户
提问于 2016-10-31 06:09:08
回答 3查看 433关注 0票数 1

我正在尝试使用wso2 ESB从本地目录中挑选一个文件,并将该文件中的记录插入到数据库中,然后发送一封电子邮件。

遵循https://docs.wso2.com/display/ESB490/Sample+271%3A+File+Processing中给出的步骤

下面是smooks-config文件

代码语言:javascript
复制
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">

<!--Configure the CSVParser to parse the message into a stream of SAX events. -->
<resource-config selector="org.xml.sax.driver">
<resource>org.milyn.csv.CSVParser</resource>
<param name="fields" type="string-list">name,surname,phone</param> 
</resource-config>                         
</smooks-resource-list>

这是ESB服务器中显示的错误

代码语言:javascript
复制
org.milyn.SmooksException: Failed to filter source.
    at     org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:97)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:64)
    at org.milyn.Smooks._filter(Smooks.java:526)
    at org.milyn.Smooks.filterSource(Smooks.java:482)
    at org.wso2.carbon.mediator.transform.SmooksMediator.mediate(SmooksMediator.java:140)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
    at org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
 Caused by: java.lang.ClassNotFoundException: org/milyn/csv/CSVParser
     at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
    at org.milyn.delivery.AbstractParser.createXMLReader(AbstractParser.java:291)
    at org.milyn.delivery.sax.SAXParser.parse(SAXParser.java:62)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:86)
    ... 11 more
[2016-10-30 15:01:50,111] ERROR - SequenceMediator Failed to filter source.          Caused by Failed to filter source.
org.wso2.carbon.mediator.service.MediatorException: Failed to filter source.    Caused by Failed to filter source.
    at    org.wso2.carbon.mediator.transform.SmooksMediator.handleException(SmooksMediator.java:265)
    at org.wso2.carbon.mediator.transform.SmooksMediator.mediate(SmooksMediator.java:160)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
    at org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:80)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[2016-10-30 15:01:50,153]  INFO - LogMediator To: , WSAction: urn:mediate, SOAPAction: urn:mediate, MessageID: urn:uuid:f8385dfd-f7c7-42fa-a567-b234028d1c59, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Failed to filter source. Caused by Failed to filter source., Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">vidya,mj,123456789</text></soapenv:Body></soapenv:Envelope>

请帮我解决这个问题

EN

回答 3

Stack Overflow用户

发布于 2016-11-02 00:31:22

较新版本的milyn-smooks all-1.5.1jar没有CSVParser,因此在smooks-config文件中将CSVParser改为CSVReader解决了这个问题。

票数 1
EN

Stack Overflow用户

发布于 2016-10-31 15:26:30

不知何故,ESB找不到这个类。您是否可以验证milyn-smooks-csv-1.2.4.jar是否位于“ESB_HOME”/存储库/组件/lib中。

票数 0
EN

Stack Overflow用户

发布于 2018-03-16 10:44:49

ESB无法从相应的Jar加载类"org/milyn/csv/CSVParser“。

在Google中搜索Jar文件。将Jar inside extensions文件夹放入ESB_HOME/repository/components/..

重启ESB肯定会起作用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40334175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档