Чтобы отправить данные формы, прикрепив файл с помощью HTTP в WSO2 ESB - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю в одном из сценариев в WSO2 ESB 6.4.0, где у меня есть файл, помещенный в каталог (на том же сервере, где работает ESB), и мне нужно отправить запрос на внешний restURL с телом в виде формы-данные, прикрепив файл. Вот мой прокси-сервер>

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="sendusingformdata" startOnLoad="true" transports="http https vfs" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <inSequence>
            <property name="alias" scope="default" type="STRING" value="anythinginalias"/>
            <property name="endpoint" scope="default" type="STRING" value="anythinginendpoint"/>

    <property name="Authorization" scope="transport" type="STRING" value="Bearer token"/>
        <payloadFactory media-type="xml">
            <format>
                <root xmlns="">
                    <alias>$1</alias>
                    <endpoint>$1</endpoint>
                    <payload>$1</payload>
                </root>
            </format>
            <args>
                <arg evaluator="xml" expression="$ctx:alias"/>
                <arg evaluator="xml" expression="$ctx:endpoint"/>
                <arg evaluator="xml" expression="$ctx:payload"/>
            </args>
        </payloadFactory>
        <property name="messageType" scope="axis2" type="STRING" value="multipart/form-data"/>
        <property name="ContentType" scope="axis2" type="STRING" value="multipart/form-data"/>
        <call>
            <endpoint>
                <http method="post" uri-template="http://url.com/test"/>
            </endpoint>
        </call>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
    </proxy>

Я ввел полезную нагрузку в посредник payloadfactory, но не смог получить этот файл из каталога server / local, а также имя файла.

Кроме того, кто яДелая здесь, я пытаюсь опросить каталог (где хранится файл) и с помощью transport.vfs.FileURI, я выбираю файл.

После этого я застрял, я не могу прикрепить тот жефайл, который я выбрал из каталога, используя transport.vfs.FileURI

Это команда curl от почтальона, для которой я хочу создать прокси и выполнить из wso2 ESB

curl --location --request POST 'http://url.com/test' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer token' \
--form 'payload=@/C:/Users/payloaddirectory/text.txt' \
--form 'alias=anythinginalias' \
--form 'endpoint=anythinginendpoint'

Может кто-нибудь, пожалуйста, дайте мне знать, как достичь этого или есть какой-то другой способ.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...