public Source getPayload() { Source source = null; Service.Mode mode = msgContext.getWrappedMessage().getExchange().get(Service.Mode.class); } else { Message message = msgContext.getWrappedMessage(); source = message.getContent(Source.class); if (source == null) { SOAPMessage msg = message.getContent(SOAPMessage.class); XMLStreamReader reader = null; if (msg != null) { node = node.getNextSibling(); DocumentFragment doc = DOMUtils.getEmptyDocument().createDocumentFragment(); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(doc); StaxUtils.toNextTag(reader); StaxUtils.copy(reader, writer, true); doc.appendChild(DOMUtils.getFirstElement(writer.getCurrentFragment())); source = new DOMSource(DOMUtils.getFirstElement(doc)); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); source = new DOMSource(writer.getDocument().getDocumentElement()); reader = StaxUtils.createXMLStreamReader(writer.getDocument());
W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.writeStartElement("wsp", "PolicyReference", URI_POLICY_NS); writer.writeAttribute("URI", "#" + polRefId.toString()); writer.writeEndElement(); Element pr = writer.getDocument().getDocumentElement(); uel.setElement(pr); uel.setElementType(DOMUtils.getElementQName(pr)); bindingInfo.addExtensor(uel); writer = new W3CDOMStreamWriter(); writer.writeStartElement("wsp", "Policy", URI_POLICY_NS); writer.writeAttribute("wsu", URI_WSU_NS, "Id", polRefId.toString()); writer.writeStartElement("wsam", "Addressing", JAXWSAConstants.NS_WSAM); if (!addressing.required()) { writer.writeAttribute("wsp", URI_POLICY_NS, "Optional", "true"); writer.writeStartElement("wsp", "Policy", URI_POLICY_NS); writer.writeEmptyElement("wsam", s, JAXWSAConstants.NS_WSAM); writer.writeEndElement(); writer.writeEndElement(); writer.writeEndElement(); pr = writer.getDocument().getDocumentElement();
final W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.setPrefix(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.NS_WSA); writer.writeStartElement(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.WSA_ERF_NAME, JAXWSAConstants.NS_WSA); writer.writeNamespace(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.NS_WSA); writer.writeStartElement(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.WSA_ADDRESS_NAME, JAXWSAConstants.NS_WSA); address = address == null ? "" : address; writer.writeCharacters(address); writer.writeEndElement(); .writeStartElement(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.WSA_REFERENCEPARAMETERS_NAME, JAXWSAConstants.NS_WSA); for (Element ele : referenceParameters) { StaxUtils.writeElement(ele, writer, true); writer.writeEndElement(); writer.writeStartElement(JAXWSAConstants.WSA_PREFIX, JAXWSAConstants.WSA_METADATA_NAME, JAXWSAConstants.NS_WSA); writer.writeNamespace(JAXWSAConstants.WSAW_PREFIX, JAXWSAConstants.NS_WSAW); writer.writeNamespace(JAXWSAConstants.WSAM_PREFIX, JAXWSAConstants.NS_WSAM); ? serviceName.getNamespaceURI() + " " + wsdlDocumentLocation : wsdlDocumentLocation; writer.writeNamespace(JAXWSAConstants.WSDLI_PFX, JAXWSAConstants.NS_WSDLI); writer.writeAttribute(JAXWSAConstants.WSDLI_PFX,
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 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); }
XMLStreamReader reader = (XMLStreamReader)message.get("LogicalHandlerInterceptor.INREADER"); SOAPMessage origMessage = null; if (reader != null) { } else if (domWriter.getCurrentFragment() != null) { DocumentFragment frag = domWriter.getCurrentFragment(); Node nd = frag.getFirstChild(); while (nd != null && !(nd instanceof Element)) { nd = nd.getNextSibling(); Source source = new DOMSource(nd); new W3CDOMStreamReader(domWriter.getCurrentFragment())); } else if (domWriter.getDocument().getDocumentElement() != null) { Source source = new DOMSource(domWriter.getDocument()); 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);
public Object invoke(Exchange exchange, Object o) { AddressingProperties inProps = (AddressingProperties)exchange.getInMessage() .getContextualProperty(JAXWSAConstants.ADDRESSING_PROPERTIES_INBOUND); if (inProps != null) { AddressingProperties props = inProps.createCompatibleResponseProperties(); action.setValue(inProps.getAction().getValue().replace("/RST/", "/RSTR/")); props.setAction(action); exchange.getOutMessage().put(JAXWSAConstants.ADDRESSING_PROPERTIES_OUTBOUND, props); Node nd = src.getNode(); Element requestEl = null; if (nd instanceof Document) { requestEl = ((Document)nd).getDocumentElement(); } else { requestEl = (Element)nd; W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.setNsRepairing(true); return new MessageContentsList(new DOMSource(writer.getDocument())); } catch (RuntimeException ex) { throw ex;
writer.writeStartElement(prefix, "RequestSecurityTokenResponseCollection", namespace); writer.writeStartElement(prefix, "RequestSecurityTokenResponse", namespace); String context = requestEl.getAttributeNS(null, "Context"); if (context != null && !"".equals(context)) { writer.writeAttribute("Context", context); writer.writeStartElement(prefix, "TokenType", namespace); writer.writeCharacters(tokenType); writer.writeEndElement(); writer.writeStartElement(prefix, "RequestedSecurityToken", namespace); NegotiationUtils.getWSCVersion(tokenType), writer.getDocument() ); WSSConfig wssConfig = WSSConfig.getNewInstance(); writer.getCurrentNode().appendChild(sct.getElement()); writer.writeEndElement(); writer.writeStartElement(prefix, "RequestedAttachedReference", namespace); token.setAttachedReference( writeSecurityTokenReference(writer, "#" + sct.getID(), tokenType) ); writer.writeEndElement(); writer.writeStartElement(prefix, "RequestedUnattachedReference", namespace); token.setUnattachedReference( writeSecurityTokenReference(writer, sct.getIdentifier(), tokenType)
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) { 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 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);
W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.writeStartElement("wst", "RequestSecurityToken", namespace); writer.writeNamespace("wst", namespace); if (context != null) { writer.writeAttribute(null, "Context", context); if (template != null && DOMUtils.getFirstElement(template) != null) { if (this.useSecondaryParameters()) { writer.writeStartElement("wst", "SecondaryParameters", namespace); StaxUtils.copy(tl, writer); if ("TokenType".equals(tl.getLocalName())) { sptt = DOMUtils.getContent(tl); writer.writeEndElement(); writer.writeStartElement("wst", "RenewTarget", namespace); StaxUtils.copy(tok.getToken(), writer); writer.writeEndElement(); writer.writeEndElement(); Object[] obj = client.invoke(boi, new DOMSource(writer.getDocument().getDocumentElement()));
private static Element cloneElement(Element el) { try { W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.setNsRepairing(true); StaxUtils.copy(el, writer); return writer.getDocument().getDocumentElement(); } catch (Exception ex) { //ignore } return el; } /**
public void writeStartElement(String namespace, String local) throws XMLStreamException { isOverlaidStack.add(0, isOverlaid); if (isOverlaid) { Element nd = getCurrentNode(); Node nd2 = null; if (nd == null) { nd2 = getDocument().getDocumentElement(); } else { nd2 = nd.getFirstChild(); } while (nd2 != null) { if (nd2.getNodeType() == Node.ELEMENT_NODE && local.equals(nd2.getLocalName()) && namespace.equals(nd2.getNamespaceURI())) { setChild((Element)nd2, false); return; } nd2 = nd2.getNextSibling(); } } isOverlaid = false; super.writeStartElement(namespace, local); }
W3CDOMStreamWriter dw = (W3CDOMStreamWriter)writer; if (dw.getCurrentNode() != null) { if (nd instanceof DocumentFragment && nd.getOwnerDocument() == dw.getCurrentNode().getOwnerDocument()) { Node ch = nd.getFirstChild(); while (ch != null) { nd.removeChild(ch); dw.getCurrentNode().appendChild(org.apache.cxf.helpers.DOMUtils.getDomElement(ch)); ch = nd.getFirstChild(); } else if (nd.getOwnerDocument() == dw.getCurrentNode().getOwnerDocument()) { dw.getCurrentNode().appendChild(nd); return; } else if (nd instanceof DocumentFragment) { nd = dw.getDocument().importNode(nd, true); dw.getCurrentNode().appendChild(nd); return; } else if (dw.getCurrentFragment() != null) { if (nd.getOwnerDocument() == dw.getCurrentFragment().getOwnerDocument()) { dw.getCurrentFragment().appendChild(nd); return; } else if (nd instanceof DocumentFragment) { nd = dw.getDocument().importNode(nd, true); dw.getCurrentFragment().appendChild(nd); return;
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; }
public void setPayload(Source s) { Message message = msgContext.getWrappedMessage(); Service.Mode mode = (Service.Mode)msgContext.getWrappedMessage() .getContextualProperty(Service.Mode.class.getName()); SOAPMessage m = message.getContent(SOAPMessage.class); if (m != null && !MessageUtils.isOutbound(message)) { 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()); } else { s = new DOMSource(SAAJUtils.getBody(m).getFirstChild()); message.setContent(XMLStreamReader.class, r); } catch (Exception e) { throw new Fault(e); s = new DOMSource(msg.getSOAPPart()); } catch (Exception e) { throw new Fault(e); XMLStreamReader reader = StaxUtils.createXMLStreamReader(s); msgContext.getWrappedMessage().setContent(XMLStreamReader.class, reader);
private Element createClaimsElement(List<RequestClaim> realmClaims) throws ParserConfigurationException, XMLStreamException { if (realmClaims == null || realmClaims.isEmpty()) { return null; } W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); writer.writeStartElement("wst", "Claims", STSUtils.WST_NS_05_12); writer.writeNamespace("wst", STSUtils.WST_NS_05_12); writer.writeNamespace("ic", HTTP_SCHEMAS_XMLSOAP_ORG_WS_2005_05_IDENTITY); writer.writeAttribute("Dialect", HTTP_SCHEMAS_XMLSOAP_ORG_WS_2005_05_IDENTITY); if (!realmClaims.isEmpty()) { for (RequestClaim item : realmClaims) { LOG.debug(" {}", item.getClaimType().toString()); writer.writeStartElement("ic", "ClaimType", HTTP_SCHEMAS_XMLSOAP_ORG_WS_2005_05_IDENTITY); writer.writeAttribute("Uri", item.getClaimType().toString()); writer.writeAttribute("Optional", Boolean.toString(item.isOptional())); writer.writeEndElement(); } } writer.writeEndElement(); return writer.getDocument().getDocumentElement(); }
Element writeSecurityTokenReference( W3CDOMStreamWriter writer, String id, String instance, String refValueType ) { Reference ref = new Reference(writer.getDocument()); ref.setURI(id); if (refValueType != null) { ref.setValueType(refValueType); } SecurityTokenReference str = new SecurityTokenReference(writer.getDocument()); str.addWSSENamespace(); str.setReference(ref); if (instance != null) { try { Element firstChildElement = str.getFirstElement(); if (firstChildElement != null) { int version = NegotiationUtils.getWSCVersion(refValueType); String ns = ConversationConstants.getWSCNs(version); firstChildElement.setAttributeNS(ns, "wsc:" + ConversationConstants.INSTANCE_LN, instance); } } catch (WSSecurityException e) { //just return without wsc:Instance } } writer.getCurrentNode().appendChild(str.getElement()); return str.getElement(); }
public static Source convertToXML(EndpointReferenceType epr) { try { Marshaller jm = getJAXBContextForEPR().createMarshaller(); jm.setProperty(Marshaller.JAXB_FRAGMENT, true); QName qname = new QName("http://www.w3.org/2005/08/addressing", "EndpointReference"); JAXBElement<EndpointReferenceType> jaxEle = new JAXBElement<>(qname, EndpointReferenceType.class, epr); W3CDOMStreamWriter writer = new W3CDOMStreamWriter(); jm.marshal(jaxEle, writer); return new DOMSource(writer.getDocument()); } catch (JAXBException e) { //ignore } return null; }
protected void writeElementsForRSTPublicKey(W3CDOMStreamWriter writer, X509Certificate cert) throws Exception { writer.writeStartElement("wst", "UseKey", namespace); writer.writeStartElement("ds", "KeyInfo", "http://www.w3.org/2000/09/xmldsig#"); writer.writeNamespace("ds", "http://www.w3.org/2000/09/xmldsig#"); boolean useCert = useCertificateForConfirmationKeyInfo; String useCertStr = (String)getProperty(SecurityConstants.STS_TOKEN_USE_CERT_FOR_KEYINFO); if (useCertStr != null) { useCert = Boolean.parseBoolean(useCertStr); } if (useCert) { X509Data certElem = new X509Data(writer.getDocument()); certElem.addCertificate(cert); writer.getCurrentNode().appendChild(certElem.getElement()); } else { writer.writeStartElement("ds", "KeyValue", "http://www.w3.org/2000/09/xmldsig#"); PublicKey key = cert.getPublicKey(); String pubKeyAlgo = key.getAlgorithm(); if ("DSA".equalsIgnoreCase(pubKeyAlgo)) { DSAKeyValue dsaKeyValue = new DSAKeyValue(writer.getDocument(), key); writer.getCurrentNode().appendChild(dsaKeyValue.getElement()); } else if ("RSA".equalsIgnoreCase(pubKeyAlgo)) { RSAKeyValue rsaKeyValue = new RSAKeyValue(writer.getDocument(), key); writer.getCurrentNode().appendChild(rsaKeyValue.getElement()); } writer.writeEndElement(); } writer.writeEndElement(); writer.writeEndElement(); }
Element writeSecurityTokenReference( W3CDOMStreamWriter writer, String id, String refValueType ) { Reference ref = new Reference(writer.getDocument()); ref.setURI(id); if (refValueType != null) { ref.setValueType(refValueType); } SecurityTokenReference str = new SecurityTokenReference(writer.getDocument()); str.addWSSENamespace(); str.setReference(ref); writer.getCurrentNode().appendChild(str.getElement()); return str.getElement(); }