2017-10-27 4 views
0

http url経由で呼び出されたときに、あるローカルフォルダから別のローカルフォルダにファイルをコピーしようとしていますが、動作しません。これは私がHTTPエンドポイントhttpアダプタ経由で呼び出されたときにMulesoftのファイルコピーが機能しない

を呼び出すにラバコンソールで取得メッセージであるSO2

- SO1

先のフォルダ - 私の保存先のフォルダでは、いくつかのゴミファイルは拡張子.datで

ソースフォルダを作成なっています

INFO 2017-10-27 14:02:45,346 [[each].HTTP_Listener_Configuration.worker.01] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'File.dispatcher.33168380'. Object is: FileMessageDispatcher 

INFO 2017-10-27 14:02:45,467 [[each].HTTP_Listener_Configuration.worker.01] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'File.dispatcher.33168380'. Object is: FileMessageDispatcher 

INFO 2017-10-27 14:02:45,488 [[each].HTTP_Listener_Configuration.worker.01] org.mule.transport.file.FileConnector: Writing file to: D:\so2\681cebe0-baf1-11e7-9534-0c7b20524153.dat 

ここでは、構成XMLは

<?xml version="1.0" encoding="UTF-8"?> 

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file" 
    xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" 
    xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
         http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
         http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 
         http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd"> 

    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration" /> 
    <file:connector name="File" writeToDirectory="D:\so2" readFromDirectory="D:\so1" autoDelete="false" streaming="true" validateConnections="true" doc:name="File" /> 
    <flow name="eachFlow"> 
     <http:listener config-ref="HTTP_Listener_Configuration" path="/copy" doc:name="HTTP" /> 
     <file:outbound-endpoint path="D:\so1" connector-ref="File" responseTimeout="10000" doc:name="File" /> 
     <set-payload value="files copied" doc:name="Set Payload" /> 
    </flow> 
</mule> 
ある

答えて

0

あなたの設定でファイルをどこに読んでいるのですか。

シナリオでは、ファイル送信エンドポイントは、ファイルの拡張子が不明なnullペイロードを含む新しいファイルを作成するだけです。代わりに、インバウンドHTTPの

次の2つの方法で行うことができ、

1)は、ファイルを読み取るために、ファイルのインバウンドを使用し、コピーすることができます。

2)必要に応じてファイルをコピーするためにHTTPインバウンドを使用する必要がある場合は、設定の途中でmuleリクエスターコンポーネントを使用してファイルを読み取り、コピーします。ラバリクエスタを使用する方法

、あなたはここでhttps://www.ricston.com/blog/reading-file-middle-flow-mule-requester/

UPDATE確認することができます。

を一つのフォルダからすべてのファイルを読み込み、ミュール、リクエスタを使用して別のフォルダにコピーするには、以下の設定を参照してください。

<http:listener-config name="HTTP_Listener_Configuration" 
    host="localhost" port="8086" doc:name="HTTP Listener Configuration" /> 
<file:connector name="File" 
    autoDelete="true" streaming="false" 
    validateConnections="true" doc:name="File" moveToDirectory="C:\FilePOC\so2"/> 
<flow name="Flow1"> 
    <http:listener config-ref="HTTP_Listener_Configuration" 
     path="/copy" doc:name="HTTP" /> 
    <mulerequester:request-collection resource="file:///C:/FilePOC/so1?connector=File" doc:name="Mule Requester"/> 
    <set-payload value="File copy has been successful." doc:name="Set Payload"/> 
</flow> 

ここでは、ファイルアウトバウンドコンポーネントを使用してファイルをコピーする必要はありません。ファイルが読み込まれると、ファイルコネクタのmoveToDirectoryオプションがファイルを移動します。

JMSとミュールリクエスタを使用する方法の他の例は、私がブログを通じて行ったが、私はmulesoftに新しいですので、私はラバリクエスタを使用する方法を理解することができませんでしたここhttps://www.slideshare.net/anir37/using-mule-requester-for-jms

+0

こんにちは見つけることができます。私が見た例では、あなたは1つのファイルしか読んでいません。ソースフォルダからすべてのファイルを読み込む方法の例と、コピー先をコピーする方法があれば、非常に役に立ちます。このミュールリクエスタを使用すると素晴らしいことになります.iは私のideでミュールリクエスタコンポーネントをインポートすることができました..ありがとう! – user3428616

+0

答えの私の更新を見てください。 – RamakrishnaN

+0

@ user3428616 – RamakrishnaN

関連する問題