【问题标题】:WSO2 ESB - File copy proxy service - how to use?WSO2 ESB - 文件复制代理服务 - 如何使用?
【发布时间】:2016-12-29 21:25:33
【问题描述】:

我是 SOA 概念和 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) 我如何使用我的服务?

谢谢

【问题讨论】:

  • file: 后面应该有 3 个斜杠。

标签: wso2 wso2esb


【解决方案1】:

尝试一下(本地文件的 vfs url 中没有 localhost)并且不要忘记目录必须存在:

<?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>

【讨论】:

    【解决方案2】:

    我的问题解决了。正如 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"/>
    

    感谢解答

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多