Submitting a multipart/form-data request generates automatic boundary - but only on start and finish
Hi,
Bit embaressed I can't sort this out cos its functionality not coding - but I'm struggling - I need to use the multipart/form-data type in a request (no other will do apparently - even though its just some text I'm sending to the server) and ReadyAPI!'s generation of the automatic boundary is causing me some real problems and I'm not the only one considering all the posts I've found on this - occasionally people have found ways around it, but the fixes cant help me as far as I could see.
This is another example where it works fine in Postman but when I try with SoapUI I have problems - I'm not saying it works correctly in Postman cos I dont actually think it does in this case, but I'm struggling with ReadyAPI!
Essentially I have a multiattribute payload that I MUST use the multipart/form-data type - but the automatic boundaries are ONLY generated at the header and footer of the request.
My payload has the following name/value pair requirements:
grant_type:password client_id:e621ab05-3417-4482-a1e4-de86705bfcb7 client_secret:a%2BOPsfWybHR8VBvLIbzBZCHjWhzAAbUHahJNFNWcOho%3D resource:e621ab05-3417-4482-a1e4-de86705bfcb7 username:exportsadministrator@defrasandpit.onmicrosoft.com password:Rojo5166!
I populate the Request form (below the mediatype dropdown) with the detail below (excepting the automatically generated boundaries wrapping the content
------=_Part_22_4377865.1561564369180 (AUTO GENERATED BOUNDARY)
Content-Disposition: form-data; name="grant_type" password Content-Disposition: form-data; name="client_id" e621ab05-3417-4482-a1e4-de86705bfcb7 Content-Disposition: form-data; name="client_secret" a+OPsfWybHR8VBvLIbzBZCHjWhzAAbUHahJNFNWcOho= Content-Disposition: form-data; name="resource" e621ab05-3417-4482-a1e4-de86705bfcb7 Content-Disposition: form-data; name="username" exportsadministrator@defrasandpit.onmicrosoft.com Content-Disposition: form-data; name="password" Rojo5166! ------=_Part_22_4377865.1561564369180-- (AUTO GENERATED BOUNDARY)
HOWEVER - the above fails which I'm guessing because I need boundaries BETWEEN the attributes as well as having a header/trailer boundary - so the content that works (scraped via Postman) looks as follows:
----------------------------819072124639882311836182 Content-Disposition: form-data; name="grant_type" password ----------------------------819072124639882311836182 Content-Disposition: form-data; name="client_id" e621ab05-3417-4482-a1e4-de86705bfcb7 ----------------------------819072124639882311836182 Content-Disposition: form-data; name="client_secret" a+OPsfWybHR8VBvLIbzBZCHjWhzAAbUHahJNFNWcOho= ----------------------------819072124639882311836182 Content-Disposition: form-data; name="resource" e621ab05-3417-4482-a1e4-de86705bfcb7 ----------------------------819072124639882311836182 Content-Disposition: form-data; name="username" exportsadministrator@defrasandpit.onmicrosoft.com ----------------------------819072124639882311836182 Content-Disposition: form-data; name="password" Rojo5166! ----------------------------819072124639882311836182--
Does anyone know how edit the content (or the properties of the request) to get the boundaries to appear BETWEEN the attributes as well as wrapping them? - I've tried manually adding the Content-Type : multipart/form-data; boundary=" header and played around with this - but I just can't see a way for the boundaries to generate BETWEEN the attributes.
There was a person that found a way around this via this link (by manually specifying the boundaries by specifying the boundary as a custom header (e.g. multipart/form-data; boundary="----WebKitFormBoundary7MA4YWxkTrZu0gw) as well as ensuring the boundary value wrapped the payload and was between the attributes - HOWEVER - that was a couple of years ago and it looks like there's been some coding since cos when I specify the boundary as in the link, ReadyAPI! still inserts the automatically generated header and footer boundaries - so my request is invalid.
I'm thinking I've found another defect for Radford's list! :)
I'd welcome any help at all at this point - I've been playing with this for the last 4 hours with no luck!
cheers,
rich
Hi richie
You can do the following:
1. Specify your properties as query parameters of a request.
2. Check the Post QueryString option.
3. Don't forget to clear the Request form (below the Media Type dropdown)
Please see the screenshot:
Here is what you'll get as a result:
Also, here are some useful resources:
LearnUpon: https://smartbearacademy.learnupon.com/enrollments/25031374
YouTube: https://www.youtube.com/watch?v=iL-zehJmtWw&list=PLrA5ciulugn_w0pW1_SSyfucD-k5Fasj_&index=5