Spring XD: исключение "поток закрыт между полезными нагрузками" для процессора оболочки

Простой процессор оболочки принимает входные данные и выводит их обратно:

nano  /tmp/echo.sh
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
#!/bin/bash
[ $# -ge 1 -a -f "$1" ] && input="$1" || input="-"
cat $input
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Он отлично работает при развертывании в Spring XD:

stream create test --definition "file --mode=contents --outputType=text/plain | shell --command='bash /tmp/echo.sh' | b:file --binary=true --dirExpression='''/tmp/out''' --nameExpression=headers[file_name]" --deploy

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

#!/bin/bash
[ $# -ge 1 -a -f "$1" ] && input="$1" || input="-"
#cat $input
 curl http://some.address/webservice -d 'output=xml' -d "text=$(cat $input)"

я всегда получаю исключение "поток закрыт между полезными нагрузками" из Spring XD. Даже если я пытаюсь вернуть (существующий) файл

#!/bin/bash
[ $# -ge 1 -a -f "$1" ] && input="$1" || input="-"
#cat $input
 cat /tmp/output.xml

я получаю то же исключение.

0 ответов

Другие вопросы по тегам