系统无法从vfs中推断传输信息:sftp:// user:password @sftpserverhost / in URL

时间:2016-08-16 22:12:18

标签: wso2esb

我在我的代理中使用以下代码连接ftp服务器以从中读取文件。

<proxy name="SFTPVFSProxy" transports="vfs" startOnLoad="true" xmlns="http://ws.apache.org/ns/synapse">
      <target>
          <inSequence>

<send/>
          </inSequence>
      </target>
      <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
      <parameter name="transport.PollInterval">15</parameter>
      <parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://username:password@ftpserver-host/outbox</parameter>
      <parameter name="transport.vfs.FileURI">vfs:sftp://username:password@ftpserver-host/inbox</parameter>
      <parameter name="transport.vfs.MoveAfterFailure">vfs:sftp://username:password@ftpserver-host/sent</parameter>
      <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
      <parameter name="transport.vfs.ContentType">application/xml</parameter>
      <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
</proxy>

但是当我运行上面的操作时,我的错误就越来越差了。在axis2.xml中输入VFS传输,我可以在wso2 esb 4.9.0管理控制台中看到vfs传输。

系统无法从vfs推断传输信息:sftp:// user:password @ sftpserverhost / in URL

1 个答案:

答案 0 :(得分:0)

SFTP使用SSH协议与服务器通信,因此它始终登录到用户的主目录,然后获取相对于用户主目录的路径。 您可以将“sftpPathFromRoot”添加到WSO2 VFS传输URI,以获得绝对路径访问权限,如下所示。
   <parameter name="transport.vfs.FileURI">sftp://[ username[: password]@] hostname[: port][ absolute-path]?sftpPathFromRoot=true</parameter>
或者,您可以使用符号链接。您可以找到更多详细信息here