2017-03-14 55 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

在讀操作中,當我們給出模式時,我認爲它會從父文件夾讀取第一個孩子。 我認爲使用搜索操作,我們可以列出給定模式的所有文件,然後我們可以將完整的文件路徑傳遞給讀取操作而不需要模式,但是當我們從響應中逐一提取文件路徑時,我們必須做一些額外的事情的搜索操作。 –