2017-03-14 25 views
1

我正在使用WSO2 ESB文件连接2读取简单文件。我尝试读取给定目录中的.OUT文件。它读取第一个文件(字母顺序?),但我不知道哪个文件被读取。是否有一个(transport?)属性在读取文件时被填充?使用WSO2 ESB文件连接器读取文件时可以获取文件名2

这是我在代理服务

<fileconnector.read> 
<source>file:///D:/temp</source> 
<filePattern>.*\.OUT</filePattern> 
<contentType>text/plain</contentType> 
</fileconnector.read> 
<log level="full"/> 

代码中,我获得以下响应

INFO - LogMediator To: /services/SampleProxy.SampleProxyHttpSoap12Endpoint, WSAction: urn:mediate, SOAPAction: urn:mediate, MessageID: urn:uuid:f5737693-6a51-4044-9134-95cd61eaeaa4, Direction: request, 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">abc,123&#xd;qwe,456&#xd;</text></soapenv:Body></soapenv:Envelope> 

回答

0

给它这样的尝试。 (只是一个建议,我没有尝试。)

<log level="custom"> 
    <property name="FileName" expression="$trp:FILE_NAME" /> 
</log> 
+0

谢谢,我已经试过了。它没有工作 – Shiv

+0

是的,它似乎与文件inbound/vfs,而不是文件连接器有关。 – Bee

+0

嗯,谢谢。除班级中介以外,是否有任何选择?不幸的是,文件搜索也不适合我,我已经在这里发布 - http://stackoverflow.com/questions/42798837/wso2-esb-file-connector-2-search-returns-empty-response – Shiv

0

如果你想读一个特定的文件,你可以传递的完整路径,如源的值,您可以跳过文件模式的价值。

<fileconnector.read> 
<source>file:///D:/temp/abc.OUT</source> 
<filePattern></filePattern> 
<contentType>text/plain</contentType> 
</fileconnector.read> 
+0

谢谢,但我不知道文件名。我只知道这种模式。我的要求是读取目录中存在的任何* .OUT文件并返回文件名和内容。我有十个文件,这个代理正在读取一个文件,但我不知道读取了哪个文件。 – Shiv

+0

在读操作中,当我们给出模式时,我认为它会从父文件夹读取第一个孩子。 我认为使用搜索操作,我们可以列出给定模式的所有文件,然后我们可以将完整的文件路径传递给读取操作而不需要模式,但是当我们从响应中逐一提取文件路径时,我们必须做一些额外的事情的搜索操作。 –