我创建了一个代理服务,用于从///d:test/orginal
转换文件新文本document.txt
到当地的///d:test/pass
我的代理代码是:
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="testVFS"
transports="https,http,local"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<outSequence>
<send/>
</outSequence>
<endpoint>
<address uri="https://127.0.0.1:9443/services/SimpleStockQuoteService?wsdl"/>
</endpoint>
</target>
<parameter name="transport.PollInterval">5</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.FileURI">file:///D:/test/Orginal/</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///D:/test/Pass/</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file:///D:/test/Failures/</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.xml</parameter>
<parameter name="transport.vfs.ContentType">text/xml</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<description/>
</proxy>
但我有错误而不是转换文件:
<TryitProxyError xmlns:h="http://wso2.org/ns/TryitProxy" h:status="SOAP envelope error">org.apache.axis2.AxisFault: Read timed out</TryitProxyError>
谢谢
答案 0 :(得分:2)
在您的代理中,您的传输设置为:
transports="https,http,local"
将此更改为
transports="vfs"
将确保它尝试使用VFSTransportListener。
请确保%ESB_HOME%\ repository \ conf \ axis2 \ axis2.xml中未注释以下行:
<transportReceiver class="org.apache.synapse.transport.vfs.VFSTransportListener" name="vfs"/>
答案 1 :(得分:0)
您必须使用vfs传输。要了解如何使用,请参阅http://docs.wso2.org/display/ESB470/VFS+Transport和http://docs.wso2.org/pages/viewpage.action?pageId=26838852
答案 2 :(得分:0)
问题与SoapAction端点有关。
使用示例:
<header name="Action" value="urn:mediate"/>
<send>
<endpoint key="SimpleStockQuoteService"/>
</send>