public static Envelope createEnvelope(Source src, SOAPPartImpl soapPart) throws SOAPException { if (src instanceof JAXMStreamSource) { try { if (!SOAPPartImpl.lazyContentLength) { ((JAXMStreamSource) src).reset(); } } catch (java.io.IOException ioe) { log.severe("SAAJ0515.source.reset.exception"); throw new SOAPExceptionImpl(ioe); } } if (src instanceof LazyEnvelopeSource) { return lazy((LazyEnvelopeSource)src, soapPart); } if (soapPart.message.isLazySoapBodyParsing()) { return parseEnvelopeStax(src, soapPart); } else { return parseEnvelopeSax(src, soapPart); } }
@Override protected Envelope createEnvelopeFromSource() throws SOAPException { XMLDeclarationParser parser = lookForXmlDecl(); Source tmp = source; source = null; EnvelopeImpl envelope = (EnvelopeImpl)EnvelopeFactory.createEnvelope(tmp, this); if (!envelope.getNamespaceURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) { log.severe("SAAJ0415.ver1_2.msg.invalid.soap1.2"); throw new SOAPException("InputStream does not represent a valid SOAP 1.2 Message"); } if (parser != null) { //can be null if source was a DomSource and not StreamSource if (!omitXmlDecl) { envelope.setOmitXmlDecl("no"); envelope.setXmlDecl(parser.getXmlDeclaration()); envelope.setCharsetEncoding(parser.getEncoding()); } } return envelope; }
@Override protected Envelope createEnvelopeFromSource() throws SOAPException { // Record the presence of xml declaration before the envelope gets // created. XMLDeclarationParser parser = lookForXmlDecl(); Source tmp = source; source = null; EnvelopeImpl envelope = (EnvelopeImpl) EnvelopeFactory.createEnvelope(tmp, this); if (!envelope.getNamespaceURI().equals(SOAPConstants.URI_NS_SOAP_1_1_ENVELOPE)) { log.severe("SAAJ0304.ver1_1.msg.invalid.SOAP1.1"); throw new SOAPException("InputStream does not represent a valid SOAP 1.1 Message"); } if (parser != null && !omitXmlDecl) { envelope.setOmitXmlDecl("no"); envelope.setXmlDecl(parser.getXmlDeclaration()); envelope.setCharsetEncoding(parser.getEncoding()); } return envelope; }