2016-12-28 112 views
0

我是SOA概念和WSO2 ESB的新手,所以我使用的教程可以在网上找到。 我试图使用WSO2 ESB来进行文件操作,尤其是从本地文件系统复制。WSO2 ESB - 文件复制代理服务 - 如何使用?

正如本主题解释:http://wso2.com/library/articles/2012/01/wso2-esb-example-file-exchanging-hub-part-1/#read-file

我我的碳服务器上部署我的服务,我可以看到它。但是当我点击“试用此服务”时,没有任何反应。文件不会被复制,并且控制台服务器中不会​​显示日志消息。

这里是我的 “FileSystemVFSProxy.xml” 内容:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="FileSystemVFSProxy" startOnLoad="true" trace="disable" 
transports="vfs" xmlns="http://ws.apache.org/ns/synapse"> 
    <target>`enter code here` 
    <inSequence> 
     <log level="full"/> 
    <drop/> 
</inSequence> 
<outSequence/> 
<faultSequence/> 
</target> 
<parameter name="transport.PollInterval">15</parameter> 
<parameter name="transport.vfs.FileURI">file://localhost/c:/test</parameter> 
<parameter name="transport.vfs.ContentType">text/xml</parameter> 
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
<parameter name="transport.vfs.MoveAfterFailure">file://localhost/c:/test/erreur</parameter> 
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
<parameter name="transport.vfs.FileNamePattern">.*\.txt</parameter> 
<parameter name="transport.vfs.MoveAfterProcess">file://localhost/c:/test/destination</parameter> 
</proxy> 

1)是我的配置是否正确?

2)我该如何使用我的服务?

感谢

+0

文件后,'你应该有3个斜杠:'。 –

回答

1

与尝试(在VFS URL本地文件没有本地主机),不要忘记的是,目录必须存在:

<?xml version="1.0" encoding="UTF-8"?> 
<proxy name="FileSystemVFSProxy" startOnLoad="true" trace="disable" transports="vfs" xmlns="http://ws.apache.org/ns/synapse"> 
    <target> 
     <inSequence> 
      <log level="full"/> 
      <drop/> 
     </inSequence> 
     <outSequence/> 
     <faultSequence/> 
    </target> 
    <parameter name="transport.PollInterval">15</parameter> 
    <parameter name="transport.vfs.FileURI">file:///C:/test</parameter> 
    <parameter name="transport.vfs.ContentType">text/xml</parameter> 
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
    <parameter name="transport.vfs.MoveAfterFailure">file:///C:/test/erreur</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
    <parameter name="transport.vfs.FileNamePattern">.*\.txt</parameter> 
    <parameter name="transport.vfs.MoveAfterProcess">file:///C:/test/destination</parameter> 
</proxy> 
0

我的问题就解决了。正如Jean-Michel提到的,我的URI是错误的,并且不可能为本地文件系统使用'file:// localhost/xxx'。

而我的配置还有另一个问题。有必要在axis2.xml文件服务器中启用vfs传输。

我们可以在文档中找到它:https://docs.wso2.com/display/ESB500/VFS+Transport

<transportReceiver name="vfs" class="org.apache.synapse.transport.vfs.VFSTransportListener"/> 
... 
<transportSender name="vfs" class="org.apache.synapse.transport.vfs.VFSTransportSender"/> 

感谢答案

相关问题