Java源码示例:com.sun.xml.internal.stream.buffer.XMLStreamBuffer

示例1
/**
 * Creates a {@link SDDocumentSource} from {@link XMLStreamBuffer}.
 * @param systemId
 * @param xsb
 * @return
 */
public static SDDocumentSource create(final URL systemId, final XMLStreamBuffer xsb) {
    return new SDDocumentSource() {
        @Override
        public XMLStreamReader read(XMLInputFactory xif) throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        @Override
        public XMLStreamReader read() throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        @Override
        public URL getSystemId() {
            return systemId;
        }
    };
}
 
示例2
/**
 * Creates a {@link SDDocumentSource} from {@link XMLStreamBuffer}.
 */
public static SDDocumentSource create(final URL systemId, final XMLStreamBuffer xsb) {
    return new SDDocumentSource() {
        public XMLStreamReader read(XMLInputFactory xif) throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        public XMLStreamReader read() throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        public URL getSystemId() {
            return systemId;
        }
    };
}
 
示例3
/**
 * Creates a {@link SDDocumentSource} from {@link XMLStreamBuffer}.
 */
public static SDDocumentSource create(final URL systemId, final XMLStreamBuffer xsb) {
    return new SDDocumentSource() {
        public XMLStreamReader read(XMLInputFactory xif) throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        public XMLStreamReader read() throws XMLStreamException {
            return xsb.readAsXMLStreamReader();
        }

        public URL getSystemId() {
            return systemId;
        }
    };
}
 
示例4
private static XMLStreamBuffer createBufferFromAddress(String address, AddressingVersion version) {
    try {
        MutableXMLStreamBuffer xsb = new MutableXMLStreamBuffer();
        StreamWriterBufferCreator w = new StreamWriterBufferCreator(xsb);
        w.writeStartDocument();
        w.writeStartElement(version.getPrefix(),
            "EndpointReference", version.nsUri);
        w.writeNamespace(version.getPrefix(), version.nsUri);
        w.writeStartElement(version.getPrefix(),version.eprType.address, version.nsUri);
        w.writeCharacters(address);
        w.writeEndElement();
        w.writeEndElement();
        w.writeEndDocument();
        w.close();
        return xsb;
    } catch (XMLStreamException e) {
        // can never happen because we are writing to XSB
        throw new AssertionError(e);
    }
}
 
示例5
public void setXMLStreamBuffer(XMLStreamBuffer buffer) throws XMLStreamException {
    setBuffer(buffer,buffer.isFragment());

    _completionState = PARSING;
    _namespaceAIIsEnd = 0;
    _characters = null;
    _charSequence = null;
    _eventType = START_DOCUMENT;
}
 
示例6
@Override
public final WSEndpointReference getWSEndpointReference() {
    if (binding.getBindingID().equals(HTTPBinding.HTTP_BINDING)) {
        throw new java.lang.UnsupportedOperationException(
                    ClientMessages.UNSUPPORTED_OPERATION("BindingProvider.getEndpointReference(Class<T> class)", "XML/HTTP Binding", "SOAP11 or SOAP12 Binding")
                );
    }

    if (endpointReference != null) {
        return endpointReference;
    }

    String eprAddress = requestContext.getEndpointAddress().toString();
    QName portTypeName = null;
    String wsdlAddress = null;
    List<WSEndpointReference.EPRExtension> wsdlEPRExtensions = new ArrayList<WSEndpointReference.EPRExtension>();
    if (wsdlPort != null) {
        portTypeName = wsdlPort.getBinding().getPortTypeName();
        wsdlAddress = eprAddress + "?wsdl";

        //gather EPRExtensions specified in WSDL.
        try {
            WSEndpointReference wsdlEpr = wsdlPort.getEPR();
            if (wsdlEpr != null) {
                for (WSEndpointReference.EPRExtension extnEl : wsdlEpr.getEPRExtensions()) {
                    wsdlEPRExtensions.add(new WSEPRExtension(
                            XMLStreamBuffer.createNewBufferFromXMLStreamReader(extnEl.readAsXMLStreamReader()), extnEl.getQName()));
                }
            }

        } catch (XMLStreamException ex) {
            throw new WebServiceException(ex);
        }
    }
    AddressingVersion av = AddressingVersion.W3C;
    this.endpointReference = new WSEndpointReference(
            av, eprAddress, getServiceName(), getPortName(), portTypeName, null, wsdlAddress, null, wsdlEPRExtensions, null);

    return this.endpointReference;
}
 
示例7
public void setXMLStreamBuffer(XMLStreamBuffer buffer) throws XMLStreamException {
    setBuffer(buffer,buffer.isFragment());

    _completionState = PARSING;
    _namespaceAIIsEnd = 0;
    _characters = null;
    _charSequence = null;
    _eventType = START_DOCUMENT;
}
 
示例8
@Override
public final WSEndpointReference getWSEndpointReference() {
    if (binding.getBindingID().equals(HTTPBinding.HTTP_BINDING)) {
        throw new java.lang.UnsupportedOperationException(
                    ClientMessages.UNSUPPORTED_OPERATION("BindingProvider.getEndpointReference(Class<T> class)", "XML/HTTP Binding", "SOAP11 or SOAP12 Binding")
                );
    }

    if (endpointReference != null) {
        return endpointReference;
    }

    String eprAddress = requestContext.getEndpointAddress().toString();
    QName portTypeName = null;
    String wsdlAddress = null;
    List<WSEndpointReference.EPRExtension> wsdlEPRExtensions = new ArrayList<WSEndpointReference.EPRExtension>();
    if (wsdlPort != null) {
        portTypeName = wsdlPort.getBinding().getPortTypeName();
        wsdlAddress = eprAddress + "?wsdl";

        //gather EPRExtensions specified in WSDL.
        try {
            WSEndpointReference wsdlEpr = wsdlPort.getEPR();
            if (wsdlEpr != null) {
                for (WSEndpointReference.EPRExtension extnEl : wsdlEpr.getEPRExtensions()) {
                    wsdlEPRExtensions.add(new WSEPRExtension(
                            XMLStreamBuffer.createNewBufferFromXMLStreamReader(extnEl.readAsXMLStreamReader()), extnEl.getQName()));
                }
            }

        } catch (XMLStreamException ex) {
            throw new WebServiceException(ex);
        }
    }
    AddressingVersion av = AddressingVersion.W3C;
    this.endpointReference = new WSEndpointReference(
            av, eprAddress, getServiceName(), getPortName(), portTypeName, null, wsdlAddress, null, wsdlEPRExtensions, null);

    return this.endpointReference;
}
 
示例9
private static XMLStreamBuffer cacheHeaders(XMLStreamReader reader,
        Map<String, String> namespaces, HeaderList headers,
        StreamHeaderDecoder headerDecoder) throws XMLStreamException {
    MutableXMLStreamBuffer buffer = createXMLStreamBuffer();
    StreamReaderBufferCreator creator = new StreamReaderBufferCreator();
    creator.setXMLStreamBuffer(buffer);

    // Reader is positioned at the first header block
    while(reader.getEventType() == javax.xml.stream.XMLStreamConstants.START_ELEMENT) {
        Map<String,String> headerBlockNamespaces = namespaces;

        // Collect namespaces on SOAP header block
        if (reader.getNamespaceCount() > 0) {
            headerBlockNamespaces = new HashMap<String,String>(namespaces);
            for (int i = 0; i < reader.getNamespaceCount(); i++) {
                headerBlockNamespaces.put(reader.getNamespacePrefix(i), reader.getNamespaceURI(i));
            }
        }

        // Mark
        XMLStreamBuffer mark = new XMLStreamBufferMark(headerBlockNamespaces, creator);
        // Create Header
        headers.add(headerDecoder.decodeHeader(reader, mark));


        // Cache the header block
        // After caching Reader will be positioned at next header block or
        // the end of the </soap:header>
        creator.createElementFragment(reader, false);
        if (reader.getEventType() != XMLStreamConstants.START_ELEMENT &&
                reader.getEventType() != XMLStreamConstants.END_ELEMENT) {
            XMLStreamReaderUtil.nextElementContent(reader);
        }
    }

    return buffer;
}
 
示例10
@Override
public final WSEndpointReference getWSEndpointReference() {
    if (binding.getBindingID().equals(HTTPBinding.HTTP_BINDING)) {
        throw new java.lang.UnsupportedOperationException(
                    ClientMessages.UNSUPPORTED_OPERATION("BindingProvider.getEndpointReference(Class<T> class)", "XML/HTTP Binding", "SOAP11 or SOAP12 Binding")
                );
    }

    if (endpointReference != null) {
        return endpointReference;
    }

    String eprAddress = requestContext.getEndpointAddress().toString();
    QName portTypeName = null;
    String wsdlAddress = null;
    List<WSEndpointReference.EPRExtension> wsdlEPRExtensions = new ArrayList<WSEndpointReference.EPRExtension>();
    if (wsdlPort != null) {
        portTypeName = wsdlPort.getBinding().getPortTypeName();
        wsdlAddress = eprAddress + "?wsdl";

        //gather EPRExtensions specified in WSDL.
        try {
            WSEndpointReference wsdlEpr = wsdlPort.getEPR();
            if (wsdlEpr != null) {
                for (WSEndpointReference.EPRExtension extnEl : wsdlEpr.getEPRExtensions()) {
                    wsdlEPRExtensions.add(new WSEPRExtension(
                            XMLStreamBuffer.createNewBufferFromXMLStreamReader(extnEl.readAsXMLStreamReader()), extnEl.getQName()));
                }
            }

        } catch (XMLStreamException ex) {
            throw new WebServiceException(ex);
        }
    }
    AddressingVersion av = AddressingVersion.W3C;
    this.endpointReference = new WSEndpointReference(
            av, eprAddress, getServiceName(), getPortName(), portTypeName, null, wsdlAddress, null, wsdlEPRExtensions, null);

    return this.endpointReference;
}
 
示例11
/**
 * Creates a {@link WSEndpointReference} that wraps a given infoset.
 */
public WSEndpointReference(XMLStreamBuffer infoset, AddressingVersion version) {
    try {
        this.infoset = infoset;
        this.version = version;
        this.rootElement = new QName("EndpointReference", version.nsUri);
        parse();
    } catch (XMLStreamException e) {
        // this can never happen because XMLStreamBuffer never has underlying I/O error.
        throw new AssertionError(e);
    }
}
 
示例12
public final void process(XMLStreamBuffer buffer, XMLStreamWriter writer) throws XMLStreamException {
    setXMLStreamBuffer(buffer,buffer.isFragment());
    process(writer);
}
 
示例13
protected final StreamHeader createHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
    return new StreamHeader12(reader, mark);
}
 
示例14
private boolean isInscope(XMLStreamBuffer buffer, int depth) {
    return buffer.getInscopeNamespaces().size() > 0 && depth ==0;
}
 
示例15
public OutboundStreamHeader(XMLStreamBuffer infoset, String nsUri, String localName) {
    this.infoset = infoset;
    this.nsUri = nsUri;
    this.localName = localName;
}
 
示例16
public OutboundStreamHeader(XMLStreamBuffer infoset, String nsUri, String localName) {
    this.infoset = infoset;
    this.nsUri = nsUri;
    this.localName = localName;
}
 
示例17
OutboundReferenceParameterHeader(XMLStreamBuffer infoset, String nsUri, String localName) {
    this.infoset = infoset;
    this.nsUri = nsUri;
    this.localName = localName;
}
 
示例18
@Override
public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
    return new StreamHeader12(reader, mark);
}
 
示例19
OutboundReferenceParameterHeader(XMLStreamBuffer infoset, String nsUri, String localName) {
    this.infoset = infoset;
    this.nsUri = nsUri;
    this.localName = localName;
}
 
示例20
public StreamReaderBufferProcessor(XMLStreamBuffer buffer) throws XMLStreamException {
    this();
    setXMLStreamBuffer(buffer);
}
 
示例21
private boolean isInscope(XMLStreamBuffer buffer, int depth) {
    return buffer.getInscopeNamespaces().size() > 0 && depth ==0;
}
 
示例22
public StreamHeader11(XMLStreamReader reader, XMLStreamBuffer mark) {
    super(reader, mark);
}
 
示例23
private boolean isInscope(XMLStreamBuffer buffer, int depth) {
    return buffer.getInscopeNamespaces().size() > 0 && depth ==0;
}
 
示例24
public WSEPRExtension(XMLStreamBuffer xsb, QName qname) {
    this.xsb = xsb;
    this.qname = qname;
}
 
示例25
public final void process(XMLStreamBuffer buffer, XMLStreamWriter writer) throws XMLStreamException {
    setXMLStreamBuffer(buffer,buffer.isFragment());
    process(writer);
}
 
示例26
protected final StreamHeader createHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
    return new StreamHeader11(reader, mark);
}
 
示例27
@Override
public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
    return new StreamHeader11(reader, mark);
}
 
示例28
public final void process(XMLStreamBuffer buffer, XMLStreamWriter writer) throws XMLStreamException {
    setXMLStreamBuffer(buffer,buffer.isFragment());
    process(writer);
}
 
示例29
@Override
public Header decodeHeader(XMLStreamReader reader, XMLStreamBuffer mark) {
    return new StreamHeader11(reader, mark);
}
 
示例30
public StreamReaderBufferProcessor(XMLStreamBuffer buffer) throws XMLStreamException {
    this();
    setXMLStreamBuffer(buffer);
}