throw new WebServiceException(new Message("HANDLER_CFG_FILE_NOT_FOUND_EXC", BUNDLE, hcAnn .getFileName()).toString()); Document doc = StaxUtils.read(handlerFileURL.openStream()); Element el = doc.getDocumentElement(); if (!"http://java.sun.com/xml/ns/javaee".equals(el.getNamespaceURI()) || !"handler-chains".equals(el.getLocalName())) { String xml = StaxUtils.toString(el); throw new WebServiceException( BundleUtils.getFormattedString(BUNDLE, "NOT_VALID_ROOT_ELEMENT", "http://java.sun.com/xml/ns/javaee" .equals(el.getNamespaceURI()), "handler-chains".equals(el.getLocalName()), xml, handlerFileURL)); || !"handler-chain".equals(el.getLocalName())) { String xml = StaxUtils.toString(el); throw new WebServiceException( BundleUtils.getFormattedString(BUNDLE, portQName, serviceQName, bindingID); node = node.getNextSibling();
public void handleMessage(Message message) throws Fault { W3CDOMStreamWriter domWriter = (W3CDOMStreamWriter)message.getContent(XMLStreamWriter.class); XMLStreamWriter origWriter = (XMLStreamWriter)message .get(LogicalHandlerOutInterceptor.ORIGINAL_WRITER); XMLStreamReader reader = (XMLStreamReader)message.get("LogicalHandlerInterceptor.INREADER"); SOAPMessage origMessage = null; if (reader != null) { Node nd = frag.getFirstChild(); while (nd != null && !(nd instanceof Element)) { nd = nd.getNextSibling(); } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.createXMLStreamReader(domWriter.getDocument())); if (!message.getExchange().isOneWay()) { Endpoint e = message.getExchange().getEndpoint(); .get(MessageObserver.class); if (observer != null) { StaxUtils.copy(reader, origWriter); } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.copy(domWriter.getDocument(), origWriter); throw new Fault(e);
private QName getPayloadElementName(Element ele) { XMLStreamReader xmlreader = StaxUtils.createXMLStreamReader(ele); DepthXMLStreamReader reader = new DepthXMLStreamReader(xmlreader); try { if (this.mode == Service.Mode.PAYLOAD) { StaxUtils.skipToStartOfElement(reader); return reader.getName(); } if (this.mode == Service.Mode.MESSAGE) { StaxUtils.skipToStartOfElement(reader); StaxUtils.toNextTag(reader, new QName(ele.getNamespaceURI(), "Body")); reader.nextTag(); return reader.getName(); } } catch (XMLStreamException e) { // ignore } return null; }
private QName getPayloadElementName(Object object) { JAXBDataBinding dataBinding = new JAXBDataBinding(); dataBinding.setContext(context); DataWriter<XMLStreamWriter> dbwriter = dataBinding.createWriter(XMLStreamWriter.class); StringWriter stringWriter = new StringWriter(); XMLStreamWriter resultWriter = StaxUtils.createXMLStreamWriter(stringWriter); DepthXMLStreamReader reader = null; try { dbwriter.write(object, resultWriter); resultWriter.flush(); if (!StringUtils.isEmpty(stringWriter.toString())) { ByteArrayInputStream binput = new ByteArrayInputStream(stringWriter.getBuffer().toString() .getBytes()); XMLStreamReader xmlreader = StaxUtils.createXMLStreamReader(binput); reader = new DepthXMLStreamReader(xmlreader); StaxUtils.skipToStartOfElement(reader); return reader.getName(); } } catch (XMLStreamException e) { // ignore } finally { try { StaxUtils.close(reader); } catch (XMLStreamException e) { // ignore } StaxUtils.close(resultWriter); } return null; }
public Source getPayload() { Source source = null; Service.Mode mode = msgContext.getWrappedMessage().getExchange().get(Service.Mode.class); reader = StaxUtils.createXMLStreamReader(source); } catch (SOAPException e) { throw new Fault(e); DocumentFragment doc = DOMUtils.getEmptyDocument().createDocumentFragment(); StaxUtils.toNextTag(reader); StaxUtils.copy(reader, writer, true); doc.appendChild(DOMUtils.getFirstElement(writer.getCurrentFragment())); source = new DOMSource(DOMUtils.getFirstElement(doc)); reader = StaxUtils.createXMLStreamReader(DOMUtils.getFirstElement(doc)); } catch (XMLStreamException e) { throw new Fault(e); reader = StaxUtils.createXMLStreamReader(source); StaxUtils.copy(reader, writer); } catch (XMLStreamException e) { throw new Fault(e); source = new DOMSource(writer.getDocument().getDocumentElement()); reader = StaxUtils.createXMLStreamReader(writer.getDocument());
@Test public void testWadlPublishedEndpointUrl() throws Exception { String requestURI = "http://localhost:" + PORT + "/webapp/resources2"; WebClient client = WebClient.create(requestURI + "?_wadl&_type=xml"); Document doc = StaxUtils.read(new InputStreamReader(client.get(InputStream.class), StandardCharsets.UTF_8)); Element root = doc.getDocumentElement(); assertEquals(WadlGenerator.WADL_NS, root.getNamespaceURI()); assertEquals("application", root.getLocalName()); List<Element> resourcesEls = DOMUtils.getChildrenWithName(root, WadlGenerator.WADL_NS, "resources"); assertEquals(1, resourcesEls.size()); Element resourcesEl = resourcesEls.get(0); assertEquals("http://proxy", resourcesEl.getAttribute("base")); }
public static void writeDocument(Document d, XMLStreamWriter writer, boolean writeProlog, boolean repairing) throws XMLStreamException { if (writeProlog) { writer.writeStartDocument(); } Node node = d.getFirstChild(); while (node != null) { if (writeProlog || node.getNodeType() == Node.ELEMENT_NODE) { writeNode(node, writer, repairing); } node = node.getNextSibling(); } if (writeProlog) { writer.writeEndDocument(); } }
@Override public Source invoke(Source request) { try { Document doc = StaxUtils.read(request); String name = doc.getDocumentElement().getLocalName(); if ("SomeRequest".equals(name)) { String v = DOMUtils.getFirstElement(doc.getDocumentElement()).getTextContent(); return new StreamSource(new StringReader(getResponse(v))); } } catch (XMLStreamException e) { e.printStackTrace(); } return null; } }
private Element readXmlDocument(Reader reader) { try { return StaxUtils.read(new InputSource(reader)).getDocumentElement(); } catch (Exception ex) { throw new IllegalStateException("Unable to read wadl", ex); } }
private Object extractPartsInfoFromDetail(Element faultDetail, RaisesType exType) { Document faultDoc = DOMUtils.createDocument(); Element faultElement = faultDoc.createElement(exType.getException().getLocalPart()); faultDoc.appendChild(faultElement); Node node = faultDetail.getFirstChild(); while (node != null) { Node importedFaultData = faultDoc.importNode(node, true); faultElement.appendChild(importedFaultData); node = node.getNextSibling(); } if (LOG.isLoggable(Level.FINE)) { LOG.fine("Exception DOM: " + StaxUtils.toString(faultElement)); } return faultDoc; }
public void handleMessage(Message message) throws Fault { W3CDOMStreamWriter domWriter = (W3CDOMStreamWriter)message.getContent(XMLStreamWriter.class); XMLStreamWriter origWriter = (XMLStreamWriter)message .get(LogicalHandlerFaultOutInterceptor.ORIGINAL_WRITER); boolean requestor = isRequestor(message); XMLStreamReader reader = (XMLStreamReader)message.get("LogicalHandlerInterceptor.INREADER"); SOAPMessage origMessage = null; if (reader != null) { } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.createXMLStreamReader(domWriter.getDocument())); Exception ex = new Fault(exception); Message faultMessage = exchange.getOutMessage(); if (null == faultMessage) { faultMessage = exchange.getEndpoint().getBinding().createMessage(faultMessage); exchange.setOutMessage(null); StaxUtils.copy(reader, origWriter); } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.copy(domWriter.getDocument(), origWriter); throw new Fault(e);
public void handleMessage(Message message) throws Fault { XMLStreamReader xsr = message.getContent(XMLStreamReader.class); DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr); try { reader.nextTag(); if (!StaxUtils.toNextElement(reader)) { throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEGAL_XMLFAULT_FORMAT", BUNDLE)); } String exMessage = reader.getElementText(); Fault fault = new XMLFault(exMessage); reader.nextTag(); if (StaxUtils.toNextElement(reader)) { // handling detail Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement(); fault.setDetail(detail); } message.setContent(Exception.class, fault); } catch (XMLStreamException xse) { throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE)); } } }
private <T> Object readPrimitiveValue(Node node, Class<T> cls) { if (String.class == cls) { if (node.getNodeType() == Node.ELEMENT_NODE) { return StaxUtils.toString((Element)node); } return cls.cast(node.getNodeValue()); } return InjectionUtils.convertStringToPrimitive(node.getNodeValue(), cls); }
private Node appendNewChild(XMLStreamReader reader, boolean wrapped, Document contextDocument, XMLStreamWriter writer, Element element) throws XMLStreamException { StaxUtils.copy(reader, writer); DocumentFragment result = contextDocument.createDocumentFragment(); Node child = element.getFirstChild(); if (wrapped) { child = child.getFirstChild(); } if (child != null && child.getNextSibling() == null) { return child; } while (child != null) { Node nextChild = child.getNextSibling(); result.appendChild(child); child = nextChild; } return result; }
public static Element convertDomImplementation(Element node) throws XMLStreamException { if (DOMUtils.createDocument().getImplementation() != node.getOwnerDocument().getImplementation()) { W3CDOMStreamWriter xmlStreamWriter = new W3CDOMStreamWriter(); StaxUtils.copy(node, xmlStreamWriter); node = xmlStreamWriter.getDocument().getDocumentElement(); } return node; }
private void processHandlerChainElement(Element el, List<Handler> chain, QName portQName, QName serviceQName, String bindingID) { Node node = el.getFirstChild(); while (node != null) { Node cur = node; node = node.getNextSibling(); if (cur instanceof Element) { el = (Element)cur; if (!"http://java.sun.com/xml/ns/javaee".equals(el.getNamespaceURI())) { String xml = StaxUtils.toString(el); throw new WebServiceException( BundleUtils.getFormattedString(BUNDLE, xml)); String name = el.getLocalName(); if ("port-name-pattern".equals(name)) { if (!patternMatches(el, portQName)) {
public void handleMessage(Message message) throws Fault { throw (Fault) message.getContent(Exception.class); nsStack.add(XMLConstants.NS_XML_FORMAT); String prefix = nsStack.getPrefix(XMLConstants.NS_XML_FORMAT); StaxUtils.writeStartElement(writer, prefix, XMLFault.XML_FAULT_ROOT, XMLConstants.NS_XML_FORMAT); StaxUtils.writeStartElement(writer, prefix, XMLFault.XML_FAULT_STRING, XMLConstants.NS_XML_FORMAT); Throwable t = xmlFault.getCause(); writer.writeCharacters(t == null ? xmlFault.getMessage() : t.toString()); writer.writeEndElement(); StaxUtils.writeStartElement(writer, prefix, XMLFault.XML_FAULT_DETAIL, XMLConstants.NS_XML_FORMAT); Node node = detail.getFirstChild(); while (node != null) { StaxUtils.writeNode(node, writer, false); node = node.getNextSibling(); writer.writeEndElement(); writer.flush(); } catch (XMLStreamException xe) { throw new Fault(new org.apache.cxf.common.i18n.Message("XML_WRITE_EXC", BUNDLE), xe);
private Element transformElement(Element element) { final Map<String, String> transformMap = Collections.singletonMap("{" + element.getNamespaceURI() + "}*", "{http://cxf.apache.org/blueprint/jaxrs-client}*"); W3CDOMStreamWriter domWriter = new W3CDOMStreamWriter(); OutTransformWriter transformWriter = new OutTransformWriter(domWriter, transformMap); try { StaxUtils.copy(element, transformWriter); } catch (XMLStreamException e) { throw new RuntimeException(e); } return domWriter.getDocument().getDocumentElement(); } public BlueprintContainer getBlueprintContainer() {
XMLStreamReader reader = null; try { reader = StaxUtils.createXMLStreamReader((javax.xml.transform.Source)holder.value); Document document = StaxUtils.read(reader); createdSource = new StaxSource(StaxUtils.createXMLStreamReader(document)); payloadElementName = getPayloadElementName(document.getDocumentElement()); } catch (Exception e) { StaxUtils.close(reader);