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);
}