【问题标题】:create a new file from payload in wso2从 wso2 中的有效负载创建一个新文件
【发布时间】:2015-06-14 11:16:06
【问题描述】:

我是 wso2 的新手,正在处理一些 POC,我必须在某个位置创建文件,我查看了所有 vfs 示例,其中总是有一个文件被处理并写入新位置。

我想要实现的是按顺序接收的内容将新文件写入目录。

对于我的需求流程,我公开了一个 REST 服务,它调用了这个序列。

序列配置如下。

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="FileWriteSequence">
<clone>
    <target>
        <sequence>

            <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
             <property name="transport.vfs.ReplyFileName" value="myOutputFile.txt" scope="transport" type="STRING"/>
            <send>
                <endpoint name="FileEpr">
                    <address uri="vfs:file://D:/Tools"/>
                </endpoint>
            </send>
        </sequence>
    </target>
</clone>

此序列根据来自 REST 资源的最新消息创建一个文件,但文件名始终是项目名称。

无论我尝试什么都不会改变。

我也尝试将下面显示的其他代理参数作为我的序列上方的属性。而不是参数我在属性&lt;property name="OUT_ONLY" value="true" scope="default" type="STRING"/&gt;上方传递它们 即:-

<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file://D:/Tools</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file://D:/backup</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>

还是没有进展。

有人可以帮我吗?

问候, 拉胡尔。

【问题讨论】:

    标签: file wso2 synapse vfs


    【解决方案1】:

    如果有人想知道我已经为此做了一个解决方法,我从我的休息资源中调用了一个代理服务并且它起作用了。

    在我的资源中,我像这样调用端点

    <send> <endpoint key="FileProxyEndPt"/> </send>

    然后我创建了一个代理服务如下

    <proxy xmlns="http://ws.apache.org/ns/synapse" name="FileWriteProxy"
    transports="http https vfs" startOnLoad="true" trace="enable">
    <target>
        <inSequence>
    
            <clone>
                <target sequence="FileWriteSequence" />
            </clone>
        </inSequence>
        <outSequence />
        <faultSequence />
    </target>
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
    <parameter name="transport.vfs.MoveAfterProcess">file://D:/Tools</parameter>
    <parameter   name="transport.vfs.MoveAfterFailure">file://D:/backup</parameter>
    <parameter name="transport.vfs.ContentType">text/plain; charset=ISO-8859-1</parameter>
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
    

    这种方式它可以工作,但从来没有完全在资源中工作。所以不得不走更长的路线,希望有人提供可以直接实施的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多