/* * SoapUI, Copyright (C) 2004-2016 SmartBear Software * * Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent * versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * * http://ec.europa.eu/idabc/eupl * * Unless required by applicable law or agreed to in writing, software distributed under the Licence is * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the Licence for the specific language governing permissions and limitations * under the Licence. */ package com.eviware.soapui.impl.wsdl.support.wss; import com.eviware.soapui.SoapUI; import com.eviware.soapui.impl.wsdl.support.soap.SoapUtils; import com.eviware.soapui.impl.wsdl.support.soap.SoapVersion; import com.eviware.soapui.impl.wsdl.support.wsa.WsaContainer; import com.eviware.soapui.support.xml.XmlUtils; import org.apache.xmlbeans.XmlException; import org.apache.xmlbeans.XmlObject; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class WssUtils { public final static String WSSE_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; public final static String WSU_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; String content; SoapVersion soapVersion; public static String removeWSSOutgoing(String content, WsaContainer wsaContainer) { try { SoapVersion soapVersion = wsaContainer.getOperation().getInterface().getSoapVersion(); // XmlObject xmlContentObject = XmlObject.Factory.parse( content ); XmlObject xmlContentObject = XmlUtils.createXmlObject(content); Element header = (Element) SoapUtils.getHeaderElement(xmlContentObject, soapVersion, true).getDomNode(); NodeList headerProps = XmlUtils.getChildElements(header); for (int i = 0; i < headerProps.getLength(); i++) { Node headerChild = headerProps.item(i); if (headerChild.getNamespaceURI().equals(WSSE_NAMESPACE)) { header.removeChild(headerChild); } } content = xmlContentObject.xmlText(); } catch (XmlException e) { SoapUI.logError(e); } return content; } }