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>

Reply via email to