Package org.springframework.ws.soap

Examples of org.springframework.ws.soap.SoapMessage


        interceptor.setSecurementActions("Timestamp");
        interceptor.setTimestampStrict(true);
        int ttlInSeconds = 1;
        interceptor.setSecurementTimeToLive(ttlInSeconds);
        interceptor.afterPropertiesSet();
        SoapMessage message = loadSoap11Message("empty-soap.xml");
        MessageContext context = new DefaultMessageContext(message, getSoap11MessageFactory());
        interceptor.secureMessage(message, context);
       
        String created = xpathTemplate.evaluateAsString("/SOAP-ENV:Envelope/SOAP-ENV:Header/wsse:Security/wsu:Timestamp/wsu:Created/text()",
                message.getEnvelope().getSource());
        String expires = xpathTemplate.evaluateAsString("/SOAP-ENV:Envelope/SOAP-ENV:Header/wsse:Security/wsu:Timestamp/wsu:Expires/text()",
                message.getEnvelope().getSource());

        DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS'Z'");

        long actualTtl = format.parse(expires).getTime() - format.parse(created).getTime();
        assertEquals("invalid ttl", 1000 * ttlInSeconds, actualTtl);
View Full Code Here


    private SoapMessage getMessageWithTimestamp() throws Exception {
        Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
        interceptor.setSecurementActions("Timestamp");
        interceptor.afterPropertiesSet();
        SoapMessage message = loadSoap11Message("empty-soap.xml");
        MessageContext context = getSoap11MessageContext(message);
        interceptor.secureMessage(message, context);
        return message;
    }
View Full Code Here

public abstract class Wss4jInterceptorTestCase extends Wss4jTestCase {

    @Test
    public void testHandleRequest() throws Exception {
        SoapMessage request = loadSoap11Message("empty-soap.xml");
        final Object requestMessage = getMessage(request);
        SoapMessage validatedRequest = loadSoap11Message("empty-soap.xml");
        final Object validatedRequestMessage = getMessage(validatedRequest);
        Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {
            @Override
            protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
                    throws WsSecuritySecurementException {
View Full Code Here

        assertEquals("Invalid request", validatedRequestMessage, getMessage((SoapMessage) context.getRequest()));
    }

    @Test
    public void testHandleResponse() throws Exception {
        SoapMessage securedResponse = loadSoap11Message("empty-soap.xml");
        final Object securedResponseMessage = getMessage(securedResponse);

        Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor() {

            @Override
            protected void secureMessage(SoapMessage soapMessage, MessageContext messageContext)
                    throws WsSecuritySecurementException {
                setMessage(soapMessage, securedResponseMessage);
            }

            @Override
            protected void validateMessage(SoapMessage soapMessage, MessageContext messageContext)
                    throws WsSecurityValidationException {
                fail("validate not expected");
            }

        };
        SoapMessage request = loadSoap11Message("empty-soap.xml");
        MessageContext context = new DefaultMessageContext(request, getSoap11MessageFactory());
        context.getResponse();
        interceptor.handleResponse(context, null);
        assertEquals("Invalid response", securedResponseMessage, getMessage((SoapMessage) context.getResponse()));
    }
View Full Code Here

        interceptor.setEnableSignatureConfirmation(false);
        interceptor.setSecurementPassword("123456");
        interceptor.setSecurementUsername("rsaKey");
        SOAPMessage saajMessage = saajSoap11MessageFactory.createMessage();
        transformer.transform(new StringSource(PAYLOAD), new DOMResult(saajMessage.getSOAPBody()));
        SoapMessage message = new SaajSoapMessage(saajMessage, saajSoap11MessageFactory);
        MessageContext messageContext = new DefaultMessageContext(message, new SaajSoapMessageFactory(saajSoap11MessageFactory));

        interceptor.secureMessage(message, messageContext);

        SOAPHeader header = ((SaajSoapMessage) message).getSaajMessage().getSOAPHeader();
        Iterator<?> iterator = header.getChildElements(new QName(
                "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security"));
        assertTrue("No security header", iterator.hasNext());
        SOAPHeaderElement securityHeader = (SOAPHeaderElement) iterator.next();
        iterator = securityHeader.getChildElements(new QName("http://www.w3.org/2000/09/xmldsig#", "Signature"));
        assertTrue("No signature header", iterator.hasNext());

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        message.writeTo(bos);

        MimeHeaders mimeHeaders = new MimeHeaders();
        mimeHeaders.addHeader("Content-Type", "text/xml");
        ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
View Full Code Here

        testFault(responseCreator, faultString, SoapVersion.SOAP_11.getVersionMismatchFaultName());
    }
   
    private void testFault(ResponseCreator responseCreator, String faultString, QName faultCode) throws IOException {
        SoapMessage response = (SoapMessage) responseCreator.createResponse(null, null, messageFactory);

        assertTrue("Response has no fault", response.hasFault());
        Soap11Fault soapFault = (Soap11Fault) response.getSoapBody().getFault();
        assertEquals("Response has invalid fault code", faultCode, soapFault.getFaultCode());
        assertEquals("Response has invalid fault string", faultString, soapFault.getFaultStringOrReason());
        assertEquals("Response has invalid fault locale", Locale.ENGLISH, soapFault.getFaultStringLocale());
    }
View Full Code Here

        interceptor.afterPropertiesSet();
    }

    @Test
    public void testDecryptRequest() throws Exception {
        SoapMessage message = loadSoap11Message("encrypted-soap.xml");
        MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
        interceptor.validateMessage(message, messageContext);
        Document document = getDocument((SoapMessage) messageContext.getRequest());
        assertXpathEvaluatesTo("Decryption error", "Hello", "/SOAP-ENV:Envelope/SOAP-ENV:Body/echo:echoRequest/text()",
                document);
View Full Code Here

                getDocument(message));
    }

    @Test
    public void testEncryptResponse() throws Exception {
        SoapMessage message = loadSoap11Message("empty-soap.xml");
        MessageContext messageContext = getSoap11MessageContext(message);
        interceptor.setSecurementEncryptionUser("rsakey");
        interceptor.secureMessage(message, messageContext);
        Document document = getDocument(message);
        assertXpathExists("Encryption error", "/SOAP-ENV:Envelope/SOAP-ENV:Header/wsse:Security/xenc:EncryptedKey",
View Full Code Here

    }

    @Override
    public void match(WebServiceMessage request, WebServiceMessage response) throws IOException, AssertionError {
        assertTrue("Response is not a SOAP message", response instanceof SoapMessage);
        SoapMessage soapResponse = (SoapMessage) response;
        SoapBody responseBody = soapResponse.getSoapBody();
        assertTrue("Response has no SOAP Body", responseBody != null);
        assertTrue("Response has no SOAP Fault", responseBody.hasFault());
        SoapFault soapFault = responseBody.getFault();
        QName expectedFaultCode = getExpectedFaultCode(soapResponse.getVersion());
        assertEquals("Invalid SOAP Fault code", expectedFaultCode, soapFault.getFaultCode());
        if (expectedFaultStringOrReason != null) {
            assertEquals("Invalid SOAP Fault string/reason", expectedFaultStringOrReason,
                    soapFault.getFaultStringOrReason());
        }
View Full Code Here

        interceptor.afterPropertiesSet();
    }

    @Test
    public void testPreserveSoapActionOnValidation() throws Exception {
        SoapMessage message = loadSoap11Message("usernameTokenPlainText-soap.xml");
        message.setSoapAction(SOAP_ACTION);
        MessageContext messageContext = new DefaultMessageContext(message, getSoap11MessageFactory());
        interceptor.validateMessage(message, messageContext);

        assertNotNull("Soap Action must not be null", message.getSoapAction());
        assertEquals("Soap Action is different from expected", SOAP_ACTION, message.getSoapAction());
    }
View Full Code Here

TOP

Related Classes of org.springframework.ws.soap.SoapMessage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.