2015-04-09 3 views
0

Я новичок в wso2 и работаю на нескольких POC, где мне нужно создать файл в определенном месте, я просмотрел все примеры vfs, где всегда есть файл, обработанный и написанный на новое место.создать новый файл из полезной нагрузки в wso2

Что я хочу достичь, это написать новый файл в каталог по содержимому, которое я получаю в последовательности.

Для моего процесса требований я выставил службу 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 ресурса, но имя файла всегда название проекта.

Независимо от того, что я пробовал, он не меняется.

Я попытался дать другие параметры прокси-сервера, как показано ниже как свойство выше моей последовательности, а .Instead из paramters я передал их выше свойства <property name="OUT_ONLY" value="true" scope="default" type="STRING"/> А именно: -

<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> 

Еще нет прогресса.

Может ли кто-нибудь помочь мне здесь?

С уважением, Rahul.

ответ

0

В случае, если кто-то хочет знать, что я сделал обходной путь для этого, я назвал прокси-сервис из моего ресурса отдыха, и он сработал.

В моем ресурсе я назвал конечную точку, как этот

<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> 

Таким образом, он работал его, но никогда не работал именно в ресурс. Поэтому нужно было пройти более длинный маршрут, надеясь, что кто-то предоставит решение, которое может быть реализовано напрямую.