Qing_JMS队列_使用文件传输写入文件
本练习将向本地文件系统(OSB本地服务)写入一个文件。我们将实现一个业务服务,该业务服务使用文件传输来完成任务。此外,我们还将创建一个代理服务并通过使用Transport Header操作控制被写入的文件名
步骤:(以下步骤均为建议步骤,具体图解可以参考“Qing_JMS队列_发送消息给JMS队列或者JMS主题”)
1、新建一个项目,名称为using-file-transport-to-write-to-file
2、为该项目创建一个Business文件夹
3、创建一个业务服务名称为WriteToLocalFile(建议选择Components拖拽方式。拖拽一个File Transport,就可以跳过第四步)
4、设置Transprot为file
5、设置Messaging的Request为Text,Reponse为None
6、设置Endpoint URI为:file:///C:/Oracle12c/Middleware/FILE/destination
7、在WriteToLocalFile.bix的Transport Details选项卡中输入Prefix为Hello,Suffix为.txt,如图:
8、部署项目到OSB
9、测试,输入Hello World!
10、查看结果:没有响应文档是因为这是单向操作。响应预案数据是写入路径
11、查看本地文件:前缀为Hello,后缀名为.txt,写入成功
12、现在,写入本地文件的业务服务已经完成,文件名也已经生成。如果要指定完整的文件名,可以在调用该业务的代理服务的Routing操作中使用Transport Header操作。
工作原理:
只需使用一个配置了文件传输的业务服务,就可以将文件写入本地文件夹。在文件传输配置上的Endpoint URI定义了目标文件夹所在的位置。如果该文件夹尚未被创建,则在写入第一个文件的时候被创建。
文件传输允许通过前缀和后缀对文件名进行一定程度的限制。但是默认情况下,文件名中间将会有一
个类似UUID的字符串生成,这样就可以保证文件名是唯一的。如果不这么做,可以使用Transport Header来覆盖文件名。当文件名存在的时候,将会添加后缀“_N”,其中N是从0开始的数字。比如如果存在,就会变成
如何使用Transport Header?
0、按照创建Business文件夹一样去创建一个Proxy和一个Pipeline文件夹。
1、在using-file-transport-to-write-to-file上,选中External Services中的File Transport也就是WriteToLocalFile组件上,拖进Pipelines中:
2、此时会弹出Create Pipeline面板:为Pipeline选则对应的文件夹(Pipeline),点击下一步
3、修改名字为WriteToLocalFile,选择为Proxy Location选择对应的文件夹(Proxy),点击Finish
4、最终效果如图:
5、双击using-file-transport-to-write-to-file面板中的Pipeline中的WriteToLocalFile,进入配置页面:
6、从Components拖一个Transport Header到Request Action下面的节点:
7、选中刚才建立的Transport Header,然后在Properties窗口进行如下设置(如果没有Properties可以在Jdev的上面菜单的Windows打开):Protocol为file,然后才能在Name中选择fileName,在value里面输入‘TargetFile’(单引号也要,这个是文件名字)
8、部署
ascii文件夹怎么创建9、测试(这次打开项目下的Proxy下的WriteToLocalFile,点击测试)
通过FTP将文件写入远程文件夹,步骤类似:
0、创建一个Security的文件夹,New一个Service Account的组件,命名为FTPUser
1、新建一个项目,名称为using-file-transport-to-write-to-file(跳过,已创建)
2、为该项目创建一个Business文件夹(跳过,已创建)
3、创建一个业务服务名称为WriteToFtpFile(建议选择Components拖拽方式。拖拽一个Ftp Transport,就可以跳过第四步)
4、设置Transprot为ftp
5、设置Messaging的Request为Text,Reponse为None
6、设置Endpoint URI为:ftp://localhost
7、在WriteToFtpFile.bix的Transport Details选项卡中,在User Authentication中选中external user,然后下面会出现service Account,然后选择刚才的FTPUser.ca文件,然后选择Prefix为Hello,Suffix为.txt,选择Transfer Mode为ascii
8、为其声称代理+部署+测试(这些以后再做,另外,这个ftp会报错,原因是FTPUser.ca文件的Resource Type不是静态的。静态的需要输入账号密码。首先,你得有个FTP服务器。。。)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论