2013-06-28 3 views
2

Я хочу прочитать некоторые значения из файла, обрабатываемого транспортом VFS.
Мой файл:XPath из файла в VFS Transport WSO2 ESB

<sales> 
<header> 
    <source>STORE1</source> 
    <target>HEADOFFICE</target> 
</header> 

Поэтому я использую свойство посредник, чтобы получить значение, я хочу с помощью XPath. Но когда я печатаю это свойство в Log Mediator, он ничего не печатает. Мой прокси-сервер выглядит следующим образом:

<proxy name="Try1" 
     transports="vfs" 
     startOnLoad="true" 
     trace="disable"> 
    <target> 
    <inSequence> 
     <property xmlns:ns="http://org.apache.synapse/xsd" 
        name="source" 
        expression="//header/source/text()" 
        scope="default" 
        type="STRING"/> 
     <log level="full"> 
      <property xmlns:ns="http://org.apache.synapse/xsd" 
        name="Value_source" 
        expression="get-property('source')"/> 
     </log> 
    </inSequence> 
    </target> 
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
    <parameter name="transport.PollInterval">15</parameter> 
    <parameter name="transport.vfs.MoveAfterProcess">file:///Users/Target</parameter> 
    <parameter name="transport.vfs.FileURI">file:///Users/Source</parameter> 
    <parameter name="transport.vfs.MoveAfterFailure">file:///Users/Failure</parameter> 
    <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter> 
    <parameter name="transport.vfs.ContentType">text/plain</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 

Журнал результат медиатор

[2013-06-28 16:59:49,939] INFO - LogMediator Value_source= 

Так как я могу получить значения в файле с помощью XPath?

ответ

2

Проблема связана с ContentType набор для параметра транспорта:

Переключатель

<parameter name="transport.vfs.ContentType">text/plain</parameter> 

с

<parameter name="transport.vfs.ContentType">application/xml</parameter> 

, так что вы делаете операции XPath на сообщение ,

+0

спасибо. Я пробую ваше решение и его работу :) –

0

Проблема с содержимым вашего файла. Поскольку он не является корректным, выражение xpath терпит неудачу. Возможно ли, чтобы у вас был сформированный xml во входном контенте?

<sales> 
<header> 
    <source>STORE1</source> 
    <target>HEADOFFICE</target> 
</header> 
</sales>