Thanks, and I thought another possibility was to create a decoder componet that changed the namespace to point at an identical schema but for the body xpath that only held the envelope node and then let the xml receive pipeline do the de-batching.
Do you know if the body xpath for a schema can be set in an inline xslt mapping script without setting it in the schema definition? This too I thought might be a way to make the map work with the same schema work for debatching in the xml receive pipeline.