// Verify that <soap:Body> is present
XMLStreamReaderUtil.verifyTag(reader, SOAP_NAMESPACE_URI, SOAP_BODY);
TagInfoset bodyTag = new TagInfoset(reader);
XMLStreamReaderUtil.nextElementContent(reader);
return new StreamMessage(envelopeTag,headerTag,attachmentSet,headers,bodyTag,reader,soapVersion);
// when there's no payload,
// it's tempting to use EmptyMessageImpl, but it doesn't presere the infoset
// of <envelope>,<header>, and <body>, so we need to stick to StreamMessage.
}