Hi Niek Well if your pasted configuration seems wrong in XML too :) ? .. anyway trick is to set a property 'filename' in the inSequence, and set it to the FILE_NAME property from the transport on reading. The response is then saved in the outSequence using the 'filename' thus saved.
Here is a working config created from sample 254 (http://synapse.apache.org/Synapse_Samples.html#Sample254) cheers asankha > ... >>>> <log level="custom"> >>>> <property name="filename" expression="get-property('transport', >>>> 'FILE_NAME')" /><property name="transport.vfs.ReplyFileName" >>>> </log> >>>> ... -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
<!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --> <!-- Using the file system as transport medium using VFS transport listener and sender --> <definitions xmlns="http://ws.apache.org/ns/synapse"> <proxy name="StockQuoteProxy" transports="vfs"> <parameter name="transport.vfs.FileURI">file:///tmp/in</parameter> <!--CHANGE--> <parameter name="transport.vfs.ContentType">text/xml</parameter> <parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter> <parameter name="transport.PollInterval">15</parameter> <parameter name="transport.vfs.MoveAfterProcess">file:///tmp/out</parameter> <!--CHANGE--> <parameter name="transport.vfs.MoveAfterFailure">file:///tmp/out</parameter> <!--CHANGE--> <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> <target> <inSequence> <property name="filename" expression="get-property('transport','FILE_NAME')"/> <log level="full"> <property name="file name" expression="get-property('filename')"/> </log> </inSequence> <endpoint> <address uri="http://localhost:9000/services/SimpleStockQuoteService"/> </endpoint> <outSequence> <property action="set" name="OUT_ONLY" value="true"/> <property name="transport.vfs.ReplyFileName" expression="get-property('filename')" scope="transport"/> <send> <endpoint> <address uri="vfs:file:///tmp"/> <!--CHANGE--> </endpoint> </send> </outSequence> </target> </proxy> </definitions>
