It looks like they were already including the SYSTEM_DATE in the name, per the original note. In my experience, using a datestamp is not sufficient to be unique in these kinds of cases, unless the volume is exceedingly low. Instead, you need something like a request number to go with, or a process to check for the existence of the file ahead of time or after an exception creating it.
Jay Jaeger Wisconsin DOT -----Original Message----- From: Ruwan Linton [mailto:[email protected]] Sent: Tuesday, August 02, 2011 10:33 AM To: [email protected] Subject: Re: How to generate unique file name ? Try using the following snippet as the iterate target; <target> <sequence> <header name="To" action="set" expression="fn:concat('file:',fn:concat(get-property('SYSTEM_DATE','yyMMddHHmmssSSS'),'_response.xml'))"/> <send/> </sequence> </target> Note that I have removed the endpoint from the target and added a send to the sequence. You might want to prefix the directory path where you want to save the splitted files too, in which case add that path after the 'file:' part of the first concat xpath expression. I hope this will be of some help for you :-) Ruwan On Tue, Aug 2, 2011 at 7:15 PM, De Vleeschauwer Nele < [email protected]> wrote: > I've just created a proxy service which receives a given xml files, > splits it and writes the different parts to disk. For each part, a > unique file name should be created: > > <?xml version="1.0" encoding="UTF-8"?> > <proxy xmlns="http://ws.apache.org/ns/synapse" name="splitMessageProxy" > transports="http" startOnLoad="true" trace="disable"> > <target faultSequence="fault"> > <inSequence> > <property name="FORCE_SC_ACCEPTED" value="true" > scope="axis2"/> > <property name="OUT_ONLY" value="true" scope="default"/> > <iterate > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > expression="//dieren/huisdier"> > <target > endpoint="conf:/repository/synapse/default/endpoints/fileshareEndpointND > V"> > <sequence> > <property name="transport.vfs.ReplyFileName" > expression="fn:concat(get-property('SYSTEM_DATE','yyMMddHHmmssSSS'),&quo > t;_response.xml")" scope="transport"/> > </sequence> > </target> > </iterate> > </inSequence> > </target> > </proxy> > > Apparently the splitting works fine, but the generated file names are > never unique. Is there somewhere a property or something else available > which can be used to generate a unique filename (instead of the default > response.xml) ? > > > > > > ----------------------------------------- > Visit our website! http://www.nbb.be > > "DISCLAIMER: The content of this e-mail message should not be > construed as binding on the part of the National Bank of Belgium > (NBB) unless otherwise and previously stated. The opinions > expressed in this message are solely those of the author and do not > necessarily reflect NBB viewpoints, particularly when the content > of this message, or part thereof, is private by nature or does not > fall within the professional scope of its author." -- Ruwan Linton Member, Apache Software Foundation; http://www.apache.org <http://wso2.org> phone: +94 11 282 7532 email: [email protected]; cell: +94 77 341 3097 blog: http://blog.ruwan.org linkedin: http://www.linkedin.com/in/ruwanlinton google: http://www.google.com/profiles/ruwan.linton tweet: http://twitter.com/ruwanlinton
