Use xdmp:multipart-decode(), passing in your boundary ('93e70dee8807c5e7').
(You usually specify the boundary identifier in the request Accept header.)
xdmp:multipart-decode() will give you a sequence of document nodes, prepended
with a manifest of what it has decoded. It will use the content-type header for
each part to parse the particular part.Justin > On May 17, 2016, at 1:50 PM, Will Thompson <[email protected]> wrote: > > Hi Geert, > > I think I finally have a test that correctly sends multipart/mixed (evidently > curl reserves the < character when passing a string value!), but the request > body from the POST I get is binary: document{binary{"2d2d2d2d2d2d2.... When I > send that to the error log, though, it somehow knows to return a string (?): > > --------------------------93e70dee8807c5e7 > Content-Disposition: form-data; name="name"; filename="test1.xml" > Content-Type: application/xml > > <?xml version="1.0" encoding="UTF-8"?> > <Document>Document 1</Document> > --------------------------93e70dee8807c5e7 > Content-Disposition: form-data; name="name"; filename="test2.xml" > Content-Type: application/xml > > <?xml version="1.0" encoding="UTF-8"?> > <Document>Document 2</Document> > ... > > This looks nearly correct, but I'm not sure what to do with this multipart > payload now that I have it. > > -W > > >> On May 17, 2016, at 1:19 PM, Geert Josten <[email protected]> wrote: >> >> Hi Will, >> >> Have you tried using an HTTP client that supports sending multipart/mixed? >> You should also be able to use form-data. That works in a similar way, and >> you can test that with a HTML form with multiple file input fields. These >> input fields should get translated to request-fields with file names >> attached. >> >> Cheers, >> Geert >> >> On 5/17/16, 8:09 PM, "[email protected] on behalf of >> Will Thompson" <[email protected] on behalf of >> [email protected]> wrote: >> >>> Is there a recommended method of posting multiple documents to a ML >>> endpoint in one request? Maybe this is a more general HTTP question, but >>> I have tried several permutations of curl options, and unfortunately the >>> only one that works on the ML side involves joining the documents >>> together into a single payload with multiple root elements: >>> >>> curl -u user:pass -k -X POST \ >>> -H "Content-Type: text/xml" \ >>> -d '<Document>Document 1</Document><Document>Document 2</Document>' \ >>> https://localhost:1234/my-endpoint >>> >>> And in XQuery, the sequence of <Document> elements is retrieved by >>> xdmp:get-request-body()/node(). But this can't be right, can it? >>> >>> -Will >>> _______________________________________________ >>> General mailing list >>> [email protected] >>> Manage your subscription at: >>> http://developer.marklogic.com/mailman/listinfo/general >> >> _______________________________________________ >> General mailing list >> [email protected] >> Manage your subscription at: >> http://developer.marklogic.com/mailman/listinfo/general > > _______________________________________________ > General mailing list > [email protected] > Manage your subscription at: > http://developer.marklogic.com/mailman/listinfo/general
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
