一些AquaLogic ServiceBus的潜在功能方便并且易于使用,但是发现这些潜在功能可能很难。其中一个有用的潜在功能是根据业务服务更改文件和FTP协议创建的文件名。要更改输出文件的文件名,并添加一个传输报头部分,如下所示。

必须在Routing节点的请求部分添加该行为。这是可能有效地更改此设置的惟一位置。
现在要做的全部工作是“添加报头”并选择文件名(FTP或文件协议)属性,并创建产生正确文件名的XQuery。第一次测试设置时,推荐使用“test123”之类的简单XQuery,以确保不正确的XQuery不会对测试产生负面影响。

在本帖子的最后,介绍以下有用的提示列表:
- 决定文件名时,它还将使用业务服务中配置的前缀和后缀。因此,如果要设置文件名报头的XQuery是“test123”,而业务服务中设置的前缀是“ALSB”,后缀是“.xml”,则创建的文件名将是“ALSBtest123.xml”。
- AquaLogic将保证创建惟一的文件名。如果文件名已经存在,就会向文件名添加一个数字。因此,例如,如果“ALSBtest123.xml”已经存在,就会创建“ALSBtest123984.xml”。
- 确保XQuery不会产生使用的操作系统所不允许的文件名。
- 使用以下XQuery将输出文件名设置为使用输入文件的名称:
$inbound/ctx:transport/ctx:request/tp:headers/file:fileName
- 使用以下XQuery将输出文件名设置为当前的日期时间:
fn-bea:dateTime-to-string-with-format("yyyyMMddhhmmssSSS",fn:current-dateTime())
原文出处:http://dev2dev.bea.com/blog/jordinho/archive/2007/03/alsb_adjusting.html