我正在wso2 ESB 5.0.0中设置文件传输。我有一个入站端点拾取文件并调用一个名为TestSequence的序列来将相同的文件写入Windows共享:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="TestSequence" onError="FaultSequenceEmail" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
<log level="custom">
<property expression="get-property('transport', 'FILE_NAME')" name="SendFileSequence"/>
</log>
<property name="FORCE_ERROR_ON_SOAP_FAULT" scope="default" type="STRING" value="true"/>
<property name="messageType" scope="axis2" type="STRING" value="application/soap"/>
<property expression="get-property('transport', 'FILE_NAME')" name="transport.vfs.ReplyFileName" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
<send>
<endpoint>
<address uri="vfs:file://///Testserver\Test" trace="enable"></address>
</endpoint>
</send>
</sequence>
此配置会引发以下错误: org.apache.commons.vfs2.FileSystemException:无法创建文件&#34; file:///// Testserver \ Test / xmltest.dd.lock&#34;
服务器文件夹对作为服务运行WSO2的服务用户具有读写权限。
对本地文件夹执行相同操作确实有效。
<address uri="vfs:file:///c:/Testfolder\test" trace="enable"></address>
可以正常工作
这里有什么问题?
答案 0 :(得分:0)
您的网址中似乎缺少“smb”。试试:
vfs:smb://Testserver/Test
如果它不起作用,请在Testserver上定义本地用户并尝试使用:
vfs:smb://Testserver\user:pass@Testserver/Test
(“Testserver”的第一个出现是本地域的名称)