Skenario:

Saya harus melakukan Panggilan Layanan REST dari dalam Mule 4 dan mengirim data multipart/formulir sebagai POST Body.

Untuk membentuk data multipart/form di Dataweave saya melakukan hal berikut:

%dw 2.0
output multipart/form-data 
---
{
    parts: {
        Field1: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value1"
        },
        Field2: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value2"
        },
        Field3: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value3"
        }
    }
}

Dan kemudian di HTTP Request, saya mengatur payload di HTTP Requester Body.

HTTP Requester Body

Tetapi ketika saya melakukan Panggilan API REST, saya mendapatkan kesalahan Missing Field1

Apa yang bisa menjadi solusi untuk ini?

1
Bibek Kr. Bazaz 20 November 2020, 15:57

1 menjawab

Jawaban Terbaik

Ini bekerja dengan baik untuk saya:

        <ee:transform doc:name="Transform Message">
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output multipart/form-data 
---
{
    parts: {
        Field1: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value1"
        },
        Field2: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value2"
        },
        Field3: {
            headers : {
                "Content-Type": "text/plain"
            },
            content: "Value3"
        }
    }
}]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <http:request method="POST" doc:name="Request" config-ref="HTTP_Request_configuration" path="/backend" >
        </http:request>
1
aled 20 November 2020, 14:03