325N/A/*
325N/A * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
325N/A *
325N/A * This code is free software; you can redistribute it and/or modify it
325N/A * under the terms of the GNU General Public License version 2 only, as
325N/A * published by the Free Software Foundation. Oracle designates this
325N/A * particular file as subject to the "Classpath" exception as provided
325N/A * by Oracle in the LICENSE file that accompanied this code.
325N/A *
325N/A * This code is distributed in the hope that it will be useful, but WITHOUT
325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
325N/A * version 2 for more details (a copy is included in the LICENSE file that
325N/A * accompanied this code).
325N/A *
325N/A * You should have received a copy of the GNU General Public License version
325N/A * 2 along with this work; if not, write to the Free Software Foundation,
325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
325N/A *
325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
325N/A * or visit www.oracle.com if you need additional information or have any
325N/A * questions.
325N/A */
325N/A
325N/A/**
325N/A*
325N/A* @author SAAJ RI Development Team
325N/A*/
325N/Apackage com.sun.xml.internal.messaging.saaj.soap.ver1_2;
325N/A
325N/Aimport java.util.logging.Level;
325N/Aimport java.util.logging.Logger;
325N/A
325N/Aimport javax.xml.soap.SOAPConstants;
325N/Aimport javax.xml.soap.SOAPException;
325N/Aimport javax.xml.transform.Source;
325N/A
325N/Aimport com.sun.xml.internal.messaging.saaj.soap.*;
325N/Aimport com.sun.xml.internal.messaging.saaj.soap.impl.EnvelopeImpl;
325N/Aimport com.sun.xml.internal.messaging.saaj.util.XMLDeclarationParser;
325N/A
325N/Apublic class SOAPPart1_2Impl extends SOAPPartImpl implements SOAPConstants{
325N/A
325N/A protected static final Logger log =
325N/A Logger.getLogger(SOAPPart1_2Impl.class.getName(),
325N/A "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
325N/A
325N/A public SOAPPart1_2Impl() {
325N/A super();
325N/A }
325N/A
325N/A public SOAPPart1_2Impl(MessageImpl message) {
325N/A super(message);
325N/A }
325N/A
325N/A protected String getContentType() {
325N/A return "application/soap+xml";
325N/A }
325N/A
325N/A protected Envelope createEmptyEnvelope(String prefix) throws SOAPException {
325N/A return new Envelope1_2Impl(getDocument(), prefix, true, true);
325N/A }
325N/A
325N/A protected Envelope createEnvelopeFromSource() throws SOAPException {
325N/A XMLDeclarationParser parser = lookForXmlDecl();
325N/A Source tmp = source;
325N/A source = null;
325N/A EnvelopeImpl envelope = (EnvelopeImpl)EnvelopeFactory.createEnvelope(tmp, this);
325N/A if (!envelope.getNamespaceURI().equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) {
325N/A log.severe("SAAJ0415.ver1_2.msg.invalid.soap1.2");
325N/A throw new SOAPException("InputStream does not represent a valid SOAP 1.2 Message");
325N/A }
325N/A
325N/A if (parser != null) { //can be null if source was a DomSource and not StreamSource
325N/A if (!omitXmlDecl) {
325N/A envelope.setOmitXmlDecl("no");
325N/A envelope.setXmlDecl(parser.getXmlDeclaration());
325N/A envelope.setCharsetEncoding(parser.getEncoding());
325N/A }
325N/A }
325N/A return envelope;
325N/A
325N/A }
325N/A
325N/A protected SOAPPartImpl duplicateType() {
325N/A return new SOAPPart1_2Impl();
325N/A }
325N/A
325N/A}