I am trying to setup a vfs proxy service in wso2, I want to set the vfs parameters of the proxy config using a properties or local entry file.
I tried using the Local Entries file in my ESB project but it doesn't seem to work. Browsing through Internet did not help, tried chat-gpt, it suggested me to use local entry, but the solution does not work.
Local Entry File:
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="vfs-parameters"
xmlns="http://ws.apache.org/ns/synapse">
<vfs-parameters xmlns="">
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="sequential">true</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file:///C:/WSO2/Trimark/Products/Error</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///C:/WSO2/Trimark/Products/Done</parameter>
<parameter name="coordination">true</parameter>
<parameter name="transport.vfs.Streaming">true</parameter>
<parameter name="transport.PollInterval">2000</parameter>
<parameter name="transport.vfs.MaxRetryCount">1</parameter>
<parameter name="transport.vfs.FileURI">file:///C:/WSO2/Trimark/Products/In</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<parameter name="transport.vfs.FileSortAttribute">Name</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.xml</parameter>
</vfs-parameters>
</localEntry>
Proxy Config:
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="ProxyA" startOnLoad="true" transports="vfs"
xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<log level="custom" separator="
">
<property name="PROXY NAME" value="PROXY A" />
<property
expression="get-property('transport', 'FILE_NAME')"
name="FILE NAME" />
<property
expression="get-property('transport', 'LAST_MODIFIED')"
name="LAST MODIFIED" />
</log>
<class name="com.sample.Sample" />
</inSequence>
<outSequence />
<faultSequence />
</target>
<parameter name="transport.vfs.ContentType" key="vfs-parameters" />
<parameter name="transport.vfs.ActionAfterProcess" key="vfs-parameters" />
<parameter name="sequential" key="vfs-parameters" />
<parameter name="transport.vfs.MoveAfterFailure" key="vfs-parameters" />
<parameter name="transport.vfs.MoveAfterProcess" key="vfs-parameters" />
<parameter name="coordination" key="vfs-parameters" />
<parameter name="transport.vfs.Streaming" key="vfs-parameters" />
<parameter name="transport.PollInterval" key="vfs-parameters" />
<parameter name="transport.vfs.MaxRetryCount" key="vfs-parameters" />
<parameter name="transport.vfs.FileURI" key="vfs-parameters" />
<parameter name="transport.vfs.ActionAfterFailure" key="vfs-parameters" />
<parameter name="transport.vfs.FileSortAttribute" key="vfs-parameters" />
<parameter name="transport.vfs.FileNamePattern" key="vfs-parameters" />
</proxy>
Stack Trace:
[2023-09-22 17:29:25,216] ERROR {VFSTransportListener} - Unexpected error when configuring service ProxyA for the VFS transport. It will be disabled for this transport and marked as faulty. java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:675)
at java.base/java.lang.Integer.parseInt(Integer.java:781)
at org.apache.synapse.transport.vfs.PollTableEntry.loadConfigurationsFromService(PollTableEntry.java:590)
at org.apache.synapse.transport.vfs.PollTableEntry.loadConfiguration(PollTableEntry.java:490)
at org.apache.axis2.transport.base.AbstractTransportListenerEx.startListeningForService(AbstractTransportListenerEx.java:153)
at org.apache.axis2.transport.base.AbstractTransportListener.internalStartListeningForService(AbstractTransportListener.java:213)
at org.apache.axis2.transport.base.AbstractTransportListener$2.serviceAdded(AbstractTransportListener.java:126)
at org.apache.axis2.transport.base.tracker.AxisServiceTracker.serviceAdded(AxisServiceTracker.java:212)
at org.apache.axis2.transport.base.tracker.AxisServiceTracker.start(AxisServiceTracker.java:188)
at org.apache.axis2.transport.base.AbstractTransportListener.start(AbstractTransportListener.java:178)
at org.apache.axis2.transport.base.AbstractTransportListenerEx.start(AbstractTransportListenerEx.java:83)
at org.apache.axis2.engine.ListenerManager.start(ListenerManager.java:168)
at org.apache.axis2.engine.ListenerManager.startSystem(ListenerManager.java:186)
at org.wso2.micro.integrator.initializer.StartupFinalizer.completeInitialization(StartupFinalizer.java:79)
at org.wso2.micro.integrator.initializer.StartupFinalizer.finalizeStartup(StartupFinalizer.java:61)
at org.wso2.micro.integrator.initializer.deployment.AppDeployerServiceComponent.activate(AppDeployerServiceComponent.java:83)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:113)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:866)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:525)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:544)
at org.wso2.micro.integrator.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:192)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:113)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:866)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:525)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:544)
at org.wso2.micro.integrator.ntask.core.internal.TasksDSComponent.activate(TasksDSComponent.java:147)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)