2013-04-05 3 views
1

У меня есть текстовый файл в моей локальной системе. Я хочу добавить данные в конкретном файле как синхронно.Можем ли мы сохранить строку в текстовом файле в wso2esb?

Я пробовал много способов, но он не работает.

ESB имеет это будущее в Oracle SOA. Мы можем добавить в FILE ADAPTER. В ESB это не дает ошибок и ожидаемого результата.

Моя конфигурация выглядит так:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="FileWrite" transports="http,vfs" statistics="disable" trace="disable" startOnLoad="true"> 
    <target> 
    <inSequence> 
     <log> 
      <property name="OUT_ONLY" value="true"/> 
     </log> 
    </inSequence> 
    <outSequence> 
     <log> 
      <property name="OUT_ONLY" value="true"/> 
     </log> 
     <payloadFactory> 
      <format> 
       <error>error404</error> 
      </format> 
     </payloadFactory> 
     <send> 
      <endpoint> 
       <address uri="vfs:file:///home/youtility2/Desktop/Errorlog"/> 
      </endpoint> 
     </send> 
    </outSequence> 
    </target> 
    <parameter name="transport.vfs.ReplyFileURI">file:///home/user/test/out? transport.vfs.Append=true</parameter> 
    <parameter name="transport.PollInterval">10</parameter> 
    <parameter name="transport.vfs.FileNamePattern">Errorlog.text</parameter> 
    <parameter name="transport.vfs.ContentType">text/xml</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
    <parameter name="transport.vfs.ReplyFileName">Errorlog.xml</parameter> 
    <description></description> 
</proxy> 

На самом деле я держал журнал посредника в outSequence. Посредник inSequence не отправляет данные в процесс outSequence, не пересылающий в outSequence. Вот почему я думаю, что указанная выше конфигурация не работает.

Любые ссылки для этого?

Я попробовал выше конфигурацию в inSequence также. Это дает ошибки, как это:

ERROR - Axis2Sender Непредвиденная ошибка при отправке сообщения из org.apache.axis2.AxisFault: Транспортный VFS не поддерживает синхронные ответов. Пожалуйста, используйте соответствующие (только) схему обмена сообщений

Пожалуйста, обратитесь к этим link.

ответ

0

Проблема заключается в том, что вы устанавливаете свойство внутри посредника журнала, которое является предопределенным свойством (то есть: OUT_ONLY), которое используется для указания запроса - это только запрос «только для выхода». Итак, система, не ожидайте ответа назад. Вот почему вы ничего не получаете в своем внешнем виде. НЕ ИСПОЛЬЗУЙТЕ предопределенные свойства в медиаторе Log, что вызовет проблемы.

Сохраните текст в журнале meditaor, чтобы указать поток сообщения. например:

<inSequence> 
     <log> 
      <property name="INSEQUENCEEEEEEE" value="********"/> 
     </log> 
    </inSequence> 

Как мудрый держать другой описательный журнал в outsequence и убедиться в том, что вы получаете сообщение там, без какого-либо вопроса.

Смежные вопросы