Given the content in your sample, I do not believe there is an OOTB approach.
I would examine the possibility of creating a custom DPH. The overridden updateRequest( ... ) methods in a custom DPH provide access to the lisa_vse_request object.
The custom code might use the instance of the incoming Request object to execute .getMetaData().get("Content-Type") . A regex might be used to pull out the boundary value from the Content-Type.
Get the Request's body and use the boundary as a mechanism for locating the header and body XMLs.
Iterate over the body and substring the data between the boundary (minus the Content-disposition: form-data; filenames, CRLFs, ending boundary, etc.).
Repeat the process until the entire Body has been parsed since the example has a header boundary and a body boundary (i.e., two files).
There are some additional issues that the custom code needs to take care of:
- Both the header and body XMLs in your example have an XML prolog (e.g., <? xml version ...?>) so the prolog from the body XML needs to be stripped.
- In the example, perhaps not in the real content, the XML end element tag contains a blank (e.g., </ InterBoss>) so these need to be cleaned up for the SAX parser.
- If your requirement includes the XML inside the CDATA, the customization needs to remove the CDATA tags and the XML prolog. It may also be necessary to clean up the end element tags here as well.
- It is likely that you will need to wrap the XMLs with a different element tag since both the header and body contain <InterBOSS></InterBOSS>. Or, remove the first </InterBOSS> tag from the header and let the one on the Body close the XML.
If you can get the customization to parse this, set the parsed and cleaned XML content back into the Request object's body.
As for DPHs,
- add the custom DPH first since it sets the XML back into the body,
- then add an XML DPH to parse the combined XML into an ArgList for the VSI.
- Add other DPHs (RDM DPH or others) to clean up the payload as necessary.
The attached shows how the content might look after the DPH executes.