src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java

Print this page

        

*** 39,48 **** --- 39,49 ---- import com.sun.xml.internal.ws.developer.SerializationFeature; import com.sun.xml.internal.ws.developer.StreamingDataHandler; import com.sun.xml.internal.ws.message.MimeAttachmentSet; import com.sun.xml.internal.ws.streaming.XMLStreamWriterUtil; import com.sun.xml.internal.ws.util.ByteArrayDataSource; + import com.sun.xml.internal.ws.util.xml.NamespaceContextExAdaper; import com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter; import com.sun.xml.internal.ws.util.xml.XMLStreamWriterFilter; import com.sun.xml.internal.ws.streaming.MtomStreamWriter; import com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil; import com.sun.xml.internal.ws.server.UnsupportedMediaException;
*** 372,383 **** --- 373,387 ---- } private void writeBinary(ByteArrayBuffer bab) { try { mtomAttachments.add(bab); + String prefix = writer.getPrefix(XOP_NAMESPACEURI); + if (prefix == null || !prefix.equals("xop")) { writer.setPrefix("xop", XOP_NAMESPACEURI); writer.writeNamespace("xop", XOP_NAMESPACEURI); + } writer.writeStartElement(XOP_NAMESPACEURI, XOP_LOCALNAME); writer.writeAttribute("href", "cid:"+bab.contentId); writer.writeEndElement(); writer.flush(); } catch (XMLStreamException e) {
*** 511,558 **** return reader.getText(); } @Override public NamespaceContextEx getNamespaceContext() { ! NamespaceContext nsContext = reader.getNamespaceContext(); ! return new MtomNamespaceContextEx(nsContext); } @Override public String getElementTextTrim() throws XMLStreamException { throw new UnsupportedOperationException(); } - private static class MtomNamespaceContextEx implements NamespaceContextEx { - private final NamespaceContext nsContext; - - public MtomNamespaceContextEx(NamespaceContext nsContext) { - this.nsContext = nsContext; - } - - @Override - public Iterator<Binding> iterator() { - throw new UnsupportedOperationException(); - } - - @Override - public String getNamespaceURI(String prefix) { - return nsContext.getNamespaceURI(prefix); - } - - @Override - public String getPrefix(String namespaceURI) { - return nsContext.getPrefix(namespaceURI); - } - - @Override - public Iterator getPrefixes(String namespaceURI) { - return nsContext.getPrefixes(namespaceURI); - } - - } - @Override public int getTextLength() { if (xopReferencePresent) { return base64AttData.length(); } --- 515,532 ---- return reader.getText(); } @Override public NamespaceContextEx getNamespaceContext() { ! return new NamespaceContextExAdaper(reader.getNamespaceContext()); } @Override public String getElementTextTrim() throws XMLStreamException { throw new UnsupportedOperationException(); } @Override public int getTextLength() { if (xopReferencePresent) { return base64AttData.length(); }