在wso2 esb中使用vfs?

时间:2013-10-23 13:18:27

标签: wso2 esb wso2esb

我创建了一个代理服务,用于从///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>

谢谢

3 个答案:

答案 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)

答案 2 :(得分:0)

问题与SoapAction端点有关。

使用示例:

<header name="Action" value="urn:mediate"/>
    <send>
        <endpoint key="SimpleStockQuoteService"/>
    </send>