Class SaajStaxWriter
- java.lang.Object
-
- com.sun.xml.messaging.saaj.util.stax.SaajStaxWriter
-
- All Implemented Interfaces:
XMLStreamWriter
- Direct Known Subclasses:
SaajStaxWriterEx
public class SaajStaxWriter extends Object implements XMLStreamWriter
SaajStaxWriter builds a SAAJ SOAPMessage by using XMLStreamWriter interface.Defers creation of SOAPElement until all the aspects of the name of the element are known. In some cases, the namespace uri is indicated only by the
writeNamespace(String, String)call. After opening an element (writeStartElement,writeEmptyElementmethods), all attributes and namespace assignments are retained withinSaajStaxWriter.DeferredElementobject (deferredElementfield). As soon as any other method thanwriteAttribute,writeNamespace,writeDefaultNamespaceorsetNamespaceis called, the contents ofdeferredElementis transformed into new SOAPElement (which is appropriately inserted into the SOAPMessage under construction). This mechanism is necessary to fix JDK-8159058 issue.- Author:
- shih-chang.chen@oracle.com
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringBodyprotected jakarta.xml.soap.SOAPElementcurrentElementprotected com.sun.xml.messaging.saaj.util.stax.SaajStaxWriter.DeferredElementdeferredElementprotected static StringEnvelopeprotected StringenvURIprotected static StringHeaderprotected jakarta.xml.soap.SOAPMessagesoapprotected static Stringxmlns
-
Constructor Summary
Constructors Constructor Description SaajStaxWriter(jakarta.xml.soap.SOAPMessage msg, String uri)
-
Method Summary
-
-
-
Field Detail
-
soap
protected jakarta.xml.soap.SOAPMessage soap
-
envURI
protected String envURI
-
currentElement
protected jakarta.xml.soap.SOAPElement currentElement
-
deferredElement
protected com.sun.xml.messaging.saaj.util.stax.SaajStaxWriter.DeferredElement deferredElement
-
Envelope
protected static final String Envelope
- See Also:
- Constant Field Values
-
Header
protected static final String Header
- See Also:
- Constant Field Values
-
Body
protected static final String Body
- See Also:
- Constant Field Values
-
xmlns
protected static final String xmlns
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SaajStaxWriter
public SaajStaxWriter(jakarta.xml.soap.SOAPMessage msg, String uri) throws jakarta.xml.soap.SOAPException- Throws:
jakarta.xml.soap.SOAPException
-
-
Method Detail
-
getSOAPMessage
public jakarta.xml.soap.SOAPMessage getSOAPMessage()
-
getEnvelope
protected jakarta.xml.soap.SOAPElement getEnvelope() throws jakarta.xml.soap.SOAPException- Throws:
jakarta.xml.soap.SOAPException
-
writeStartElement
public void writeStartElement(String localName) throws XMLStreamException
- Specified by:
writeStartElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeStartElement
public void writeStartElement(String ns, String ln) throws XMLStreamException
- Specified by:
writeStartElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeStartElement
public void writeStartElement(String prefix, String ln, String ns) throws XMLStreamException
- Specified by:
writeStartElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String uri, String ln) throws XMLStreamException
- Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String prefix, String ln, String uri) throws XMLStreamException
- Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String ln) throws XMLStreamException
- Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEndElement
public void writeEndElement() throws XMLStreamException- Specified by:
writeEndElementin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEndDocument
public void writeEndDocument() throws XMLStreamException- Specified by:
writeEndDocumentin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
close
public void close() throws XMLStreamException- Specified by:
closein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
flush
public void flush() throws XMLStreamException- Specified by:
flushin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String ln, String val) throws XMLStreamException
- Specified by:
writeAttributein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String prefix, String ns, String ln, String value) throws XMLStreamException
- Specified by:
writeAttributein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String ns, String ln, String val) throws XMLStreamException
- Specified by:
writeAttributein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeNamespace
public void writeNamespace(String prefix, String uri) throws XMLStreamException
- Specified by:
writeNamespacein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeDefaultNamespace
public void writeDefaultNamespace(String uri) throws XMLStreamException
- Specified by:
writeDefaultNamespacein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeComment
public void writeComment(String data) throws XMLStreamException
- Specified by:
writeCommentin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(String target) throws XMLStreamException
- Specified by:
writeProcessingInstructionin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeProcessingInstruction
public void writeProcessingInstruction(String target, String data) throws XMLStreamException
- Specified by:
writeProcessingInstructionin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeCData
public void writeCData(String data) throws XMLStreamException
- Specified by:
writeCDatain interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeDTD
public void writeDTD(String dtd) throws XMLStreamException
- Specified by:
writeDTDin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeEntityRef
public void writeEntityRef(String name) throws XMLStreamException
- Specified by:
writeEntityRefin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument() throws XMLStreamException- Specified by:
writeStartDocumentin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument(String version) throws XMLStreamException
- Specified by:
writeStartDocumentin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeStartDocument
public void writeStartDocument(String encoding, String version) throws XMLStreamException
- Specified by:
writeStartDocumentin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeCharacters
public void writeCharacters(String text) throws XMLStreamException
- Specified by:
writeCharactersin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
writeCharacters
public void writeCharacters(char[] text, int start, int len) throws XMLStreamException- Specified by:
writeCharactersin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
getPrefix
public String getPrefix(String uri) throws XMLStreamException
- Specified by:
getPrefixin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
setPrefix
public void setPrefix(String prefix, String uri) throws XMLStreamException
- Specified by:
setPrefixin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
setDefaultNamespace
public void setDefaultNamespace(String uri) throws XMLStreamException
- Specified by:
setDefaultNamespacein interfaceXMLStreamWriter- Throws:
XMLStreamException
-
setNamespaceContext
public void setNamespaceContext(NamespaceContext context) throws XMLStreamException
- Specified by:
setNamespaceContextin interfaceXMLStreamWriter- Throws:
XMLStreamException
-
getProperty
public Object getProperty(String name) throws IllegalArgumentException
- Specified by:
getPropertyin interfaceXMLStreamWriter- Throws:
IllegalArgumentException
-
getNamespaceContext
public NamespaceContext getNamespaceContext()
- Specified by:
getNamespaceContextin interfaceXMLStreamWriter
-
-