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 void write(Source source, Node n) { try { if (source instanceof DOMSource && ((DOMSource)source).getNode() == null) { return; } XMLStreamWriter writer = new W3CDOMStreamWriter((Element)n); StaxUtils.copy(source, writer); } catch (XMLStreamException e) { throw new Fault(e); } }
public W3CEndpointReference run() throws Exception { Unmarshaller unmarshaller = getJAXBContext().createUnmarshaller(); try { return (W3CEndpointReference)unmarshaller.unmarshal(writer.getDocument()); } finally { JAXBUtils.closeUnmarshaller(unmarshaller); } } });
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; }
reader = StaxUtils.createXMLStreamReader(source); } catch (SOAPException e) { throw new Fault(e); try { DocumentFragment doc = DOMUtils.getEmptyDocument().createDocumentFragment(); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(doc); reader = message.getContent(XMLStreamReader.class); 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); message.setContent(Source.class, source); } else if (!(source instanceof DOMSource)) { W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); XMLStreamReader reader = message.getContent(XMLStreamReader.class); if (reader == null) { reader = StaxUtils.createXMLStreamReader(source); StaxUtils.copy(reader, writer); } catch (XMLStreamException e) { throw new Fault(e); source = new DOMSource(writer.getDocument().getDocumentElement());
try { SAAJUtils.getBody(m).removeContents(); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(SAAJUtils.getBody(m)); StaxUtils.copy(s, writer); writer.flush(); writer.close(); if (mode == Service.Mode.MESSAGE) { s = new DOMSource(m.getSOAPPart()); s = new DOMSource(SAAJUtils.getBody(m).getFirstChild()); W3CDOMStreamReader r = new W3CDOMStreamReader(DOMUtils.getFirstElement(SAAJUtils.getBody(m))); message.setContent(XMLStreamReader.class, r); } catch (Exception e) { XMLStreamReader reader = StaxUtils.createXMLStreamReader(s); msgContext.getWrappedMessage().setContent(XMLStreamReader.class, reader);
message.setContent(XMLStreamReader.class, reader); message.removeContent(SOAPMessage.class); } else if (domWriter.getCurrentFragment() != null) { DocumentFragment frag = domWriter.getCurrentFragment(); Node nd = frag.getFirstChild(); while (nd != null && !(nd instanceof Element)) { message.setContent(Source.class, source); message.setContent(XMLStreamReader.class, new W3CDOMStreamReader(domWriter.getCurrentFragment())); } else if (domWriter.getDocument().getDocumentElement() != null) { Source source = new DOMSource(domWriter.getDocument()); message.setContent(Source.class, source); message.setContent(XMLStreamReader.class, StaxUtils.createXMLStreamReader(domWriter.getDocument())); message.removeContent(XMLStreamReader.class); if (reader != null) { StaxUtils.copy(reader, origWriter); } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.copy(domWriter.getDocument(), origWriter);
message.setContent(XMLStreamReader.class, reader); message.removeContent(SOAPMessage.class); } else if (domWriter.getDocument().getDocumentElement() != null) { Source source = new DOMSource(domWriter.getDocument()); message.setContent(Source.class, source); message.setContent(Node.class, domWriter.getDocument()); message.setContent(XMLStreamReader.class, StaxUtils.createXMLStreamReader(domWriter.getDocument())); message.removeContent(XMLStreamReader.class); if (reader != null) { StaxUtils.copy(reader, origWriter); } else if (domWriter.getDocument().getDocumentElement() != null) { StaxUtils.copy(domWriter.getDocument(), origWriter);
XMLStreamWriter writer = null; try { writer = StaxUtils.createXMLStreamWriter(bwriter); StaxUtils.copy(o, writer); writer.flush(); ds = new ByteDataSource(bwriter.toByteArray(), ct); throw new Fault(e1); } finally { StaxUtils.close(writer);
private void doFromSoapMessage(Message message, Object sm) { SOAPMessage m = (SOAPMessage)sm; MessageContentsList list = (MessageContentsList)message.getContent(List.class); if (list == null) { list = new MessageContentsList(); message.setContent(List.class, list); } Object o = m; if (StreamSource.class.isAssignableFrom(type)) { try { try (CachedOutputStream out = new CachedOutputStream()) { XMLStreamWriter xsw = StaxUtils.createXMLStreamWriter(out); StaxUtils.copy(new DOMSource(m.getSOAPPart()), xsw); xsw.close(); o = new StreamSource(out.getInputStream()); } } catch (Exception e) { throw new Fault(e); } } else if (SAXSource.class.isAssignableFrom(type)) { o = new StaxSource(new W3CDOMStreamReader(m.getSOAPPart())); } else if (Source.class.isAssignableFrom(type)) { o = new DOMSource(m.getSOAPPart()); } list.set(0, o); }
private XMLStreamReader createXMLStreamReaderFromSOAPMessage(SOAPMessage soapMessage) { // responseMsg.setContent(SOAPMessage.class, soapMessage); XMLStreamReader xmlReader = null; try { DOMSource bodySource = new DOMSource(soapMessage.getSOAPPart().getEnvelope().getBody()); xmlReader = StaxUtils.createXMLStreamReader(bodySource); xmlReader.nextTag(); xmlReader.nextTag(); // move past body tag } catch (SOAPException | XMLStreamException e) { e.printStackTrace(); } return xmlReader; }
private void handleAbort(Message message, W3CDOMStreamWriter writer) { message.getInterceptorChain().abort(); if (!message.getExchange().isOneWay()) { //server side inbound Endpoint e = message.getExchange().getEndpoint(); Message responseMsg = new MessageImpl(); responseMsg.setExchange(message.getExchange()); responseMsg = e.getBinding().createMessage(responseMsg); message.getExchange().setOutMessage(responseMsg); XMLStreamReader reader = message.getContent(XMLStreamReader.class); if (reader == null && writer != null) { reader = StaxUtils.createXMLStreamReader(writer.getDocument()); } InterceptorChain chain = OutgoingChainInterceptor .getOutInterceptorChain(message.getExchange()); responseMsg.setInterceptorChain(chain); responseMsg.put("LogicalHandlerInterceptor.INREADER", reader); chain.doIntercept(responseMsg); } }
public void setPayload(Object arg0, JAXBContext arg1) { try { W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); arg1.createMarshaller().marshal(arg0, writer); Source source = new DOMSource(writer.getDocument().getDocumentElement()); setPayload(source); } catch (JAXBException e) { throw new WebServiceException(e); } }
public EndpointReference run() throws Exception { Unmarshaller unmarshaller = null; try { unmarshaller = getJAXBContext().createUnmarshaller(); return (EndpointReference)unmarshaller.unmarshal(reader); } finally { try { StaxUtils.close(reader); } catch (XMLStreamException e) { // Ignore } JAXBUtils.closeUnmarshaller(unmarshaller); } } });
String xml = StaxUtils.toString(el); throw new WebServiceException( BundleUtils.getFormattedString(BUNDLE,
public void handleMessage(Message message) throws Fault { if (binding.getHandlerChain().isEmpty()) { return; } HandlerChainInvoker invoker = getInvoker(message); if (invoker.getLogicalHandlers().isEmpty()) { return; } XMLStreamWriter origWriter = message.getContent(XMLStreamWriter.class); Document doc = DOMUtils.newDocument(); message.setContent(Node.class, doc); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(doc); // set up the namespace context try { writer.setNamespaceContext(origWriter.getNamespaceContext()); } catch (XMLStreamException ex) { // don't set the namespaceContext } // Replace stax writer with DomStreamWriter message.setContent(XMLStreamWriter.class, writer); message.put(ORIGINAL_WRITER, origWriter); message.getInterceptorChain().add(ending); }
/** * Convert from EndpointReference to CXF internal 2005/08 EndpointReferenceType * * @param external the javax.xml.ws.EndpointReference * @return CXF internal 2005/08 EndpointReferenceType */ public static EndpointReferenceType convertToInternal(EndpointReference external) { if (external instanceof W3CEndpointReference) { Unmarshaller um = null; try { DocumentFragment frag = DOMUtils.getEmptyDocument().createDocumentFragment(); DOMResult result = new DOMResult(frag); external.writeTo(result); W3CDOMStreamReader reader = new W3CDOMStreamReader(frag); // CXF internal 2005/08 EndpointReferenceType should be // compatible with W3CEndpointReference //jaxContext = ContextUtils.getJAXBContext(); JAXBContext context = JAXBContext .newInstance(new Class[] {org.apache.cxf.ws.addressing.ObjectFactory.class}); um = context.createUnmarshaller(); return um.unmarshal(reader, EndpointReferenceType.class).getValue(); } catch (JAXBException e) { throw new IllegalArgumentException("Could not unmarshal EndpointReference", e); } finally { JAXBUtils.closeUnmarshaller(um); } } return null; }
private XMLStreamReader createXMLStreamReaderFromSOAPMessage(SOAPMessage soapMessage) { // responseMsg.setContent(SOAPMessage.class, soapMessage); XMLStreamReader xmlReader = null; try { DOMSource bodySource = new DOMSource(soapMessage.getSOAPPart().getEnvelope().getBody()); xmlReader = StaxUtils.createXMLStreamReader(bodySource); xmlReader.nextTag(); xmlReader.nextTag(); // move past body tag } catch (SOAPException | XMLStreamException e) { e.printStackTrace(); } return xmlReader; }
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,
public EndpointReference readEndpointReference(Source eprInfoset) { try { final XMLStreamReader reader = StaxUtils.createXMLStreamReader(eprInfoset); return AccessController.doPrivileged(new PrivilegedExceptionAction<EndpointReference>() { public EndpointReference run() throws Exception { Unmarshaller unmarshaller = null; try { unmarshaller = getJAXBContext().createUnmarshaller(); return (EndpointReference)unmarshaller.unmarshal(reader); } finally { try { StaxUtils.close(reader); } catch (XMLStreamException e) { // Ignore } JAXBUtils.closeUnmarshaller(unmarshaller); } } }); } catch (PrivilegedActionException pae) { Exception e = pae.getException(); if (e instanceof JAXBException) { throw new WebServiceException(new Message("ERROR_UNMARSHAL_ENDPOINTREFERENCE", LOG) .toString(), e); } throw new SecurityException(e); } }