Search in sources :

Example 16 with MessageFlow

use of org.apache.cxf.systest.ws.util.MessageFlow in project cxf by apache.

the class RM10PolicyWsdlTest method testUsingRM.

@Test
public void testUsingRM() throws Exception {
    setUpBus(PORT);
    ReliableGreeterService gs = new ReliableGreeterService();
    Greeter greeter = gs.getGreeterPort();
    updateAddressPort(greeter, PORT);
    LOG.fine("Created greeter client.");
    ConnectionHelper.setKeepAliveConnection(greeter, true);
    // two-way
    assertEquals("CXF", greeter.greetMe("cxf"));
    // oneway
    greeter.greetMeOneWay("CXF");
    try {
        greeter.pingMe();
    } catch (PingMeFault ex) {
        fail("First invocation should have succeeded.");
    }
    try {
        greeter.pingMe();
        fail("Expected PingMeFault not thrown.");
    } catch (PingMeFault ex) {
        assertEquals(2, ex.getFaultInfo().getMajor());
        assertEquals(1, ex.getFaultInfo().getMinor());
    }
    MessageRecorder mr = new MessageRecorder(outRecorder, inRecorder);
    mr.awaitMessages(5, 4, 5000);
    // mr.awaitMessages(5, 9, 5000);
    MessageFlow mf = new MessageFlow(outRecorder.getOutboundMessages(), inRecorder.getInboundMessages(), "http://schemas.xmlsoap.org/ws/2004/08/addressing", "http://schemas.xmlsoap.org/ws/2005/02/rm");
    mf.verifyMessages(5, true);
    String[] expectedActions = new String[] { RM10Constants.INSTANCE.getCreateSequenceAction(), GREETME_ACTION, GREETMEONEWAY_ACTION, PINGME_ACTION, PINGME_ACTION };
    mf.verifyActions(expectedActions, true);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3", "4" }, true);
    mf.verifyLastMessage(new boolean[] { false, false, false, false, false }, true);
    mf.verifyAcknowledgements(new boolean[] { false, false, true, false, true }, true);
    mf.verifyMessages(4, false);
    // mf.verifyMessages(9, false);
    // mf.verifyPartialResponses(5);
    // mf.purgePartialResponses();
    expectedActions = new String[] { RM10Constants.INSTANCE.getCreateSequenceResponseAction(), GREETME_RESPONSE_ACTION, PINGME_RESPONSE_ACTION, GREETER_FAULT_ACTION };
    mf.verifyActions(expectedActions, false);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3" }, false);
    mf.verifyLastMessage(new boolean[] { false, false, false, false }, false);
    mf.verifyAcknowledgements(new boolean[] { false, true, true, true }, false);
    ((Closeable) greeter).close();
}
Also used : PingMeFault(org.apache.cxf.greeter_control.PingMeFault) MessageRecorder(org.apache.cxf.testutil.recorders.MessageRecorder) Greeter(org.apache.cxf.greeter_control.Greeter) Closeable(java.io.Closeable) ReliableGreeterService(org.apache.cxf.greeter_control.ReliableGreeterService) MessageFlow(org.apache.cxf.systest.ws.util.MessageFlow) Test(org.junit.Test)

Example 17 with MessageFlow

use of org.apache.cxf.systest.ws.util.MessageFlow in project cxf by apache.

the class RM12PolicyWsdlTest method testUsingRM12.

@Test
public void testUsingRM12() throws Exception {
    setUpBus(PORT);
    Reliable12GreeterService gs = new Reliable12GreeterService();
    Greeter greeter = gs.getGreeterPort();
    updateAddressPort(greeter, PORT);
    ConnectionHelper.setKeepAliveConnection(greeter, true);
    LOG.fine("Created greeter client.");
    // two-way
    assertEquals("CXF", greeter.greetMe("cxf"));
    // oneway
    greeter.greetMeOneWay("CXF");
    try {
        greeter.pingMe();
    } catch (PingMeFault ex) {
        fail("First invocation should have succeeded.");
    }
    try {
        greeter.pingMe();
        fail("Expected PingMeFault not thrown.");
    } catch (PingMeFault ex) {
        assertEquals(2, ex.getFaultInfo().getMajor());
        assertEquals(1, ex.getFaultInfo().getMinor());
    }
    MessageRecorder mr = new MessageRecorder(outRecorder, inRecorder);
    mr.awaitMessages(5, 4, 5000);
    // mr.awaitMessages(5, 9, 5000);
    MessageFlow mf = new MessageFlow(outRecorder.getOutboundMessages(), inRecorder.getInboundMessages(), "http://www.w3.org/2005/08/addressing", "http://docs.oasis-open.org/ws-rx/wsrm/200702");
    mf.verifyMessages(5, true);
    String[] expectedActions = new String[] { RM11Constants.INSTANCE.getCreateSequenceAction(), GREETME_ACTION, GREETMEONEWAY_ACTION, PINGME_ACTION, PINGME_ACTION };
    mf.verifyActions(expectedActions, true);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3", "4" }, true);
    mf.verifyLastMessage(new boolean[] { false, false, false, false, false }, true);
    mf.verifyAcknowledgements(new boolean[] { false, false, true, false, true }, true);
    mf.verifyMessages(4, false);
    // mf.verifyMessages(9, false);
    // mf.verifyPartialResponses(5);
    // mf.purgePartialResponses();
    expectedActions = new String[] { RM11Constants.INSTANCE.getCreateSequenceResponseAction(), GREETME_RESPONSE_ACTION, PINGME_RESPONSE_ACTION, GREETER_FAULT_ACTION };
    mf.verifyActions(expectedActions, false);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3" }, false);
    mf.verifyLastMessage(new boolean[] { false, false, false, false }, false);
    mf.verifyAcknowledgements(new boolean[] { false, true, true, true }, false);
    ((Closeable) greeter).close();
}
Also used : PingMeFault(org.apache.cxf.greeter_control.PingMeFault) MessageRecorder(org.apache.cxf.testutil.recorders.MessageRecorder) Greeter(org.apache.cxf.greeter_control.Greeter) Closeable(java.io.Closeable) Reliable12GreeterService(org.apache.cxf.greeter_control.Reliable12GreeterService) MessageFlow(org.apache.cxf.systest.ws.util.MessageFlow) Test(org.junit.Test)

Example 18 with MessageFlow

use of org.apache.cxf.systest.ws.util.MessageFlow in project cxf by apache.

the class AddressingOptionalPolicyTest method testNotUsingAddressing.

@Test
public void testNotUsingAddressing() throws Exception {
    SpringBusFactory bf = new SpringBusFactory();
    bus = bf.createBus("org/apache/cxf/systest/ws/policy/addr-optional.xml");
    BusFactory.setDefaultBus(bus);
    InMessageRecorder in = new InMessageRecorder();
    bus.getInInterceptors().add(in);
    OutMessageRecorder out = new OutMessageRecorder();
    bus.getOutInterceptors().add(out);
    bus.getExtension(PolicyEngine.class).setAlternativeSelector(new MinimalAlternativeSelector());
    BasicGreeterService gs = new BasicGreeterService();
    final Greeter greeter = gs.getGreeterPort();
    updateAddressPort(greeter, PORT);
    LOG.fine("Created greeter client.");
    ConnectionHelper.setKeepAliveConnection(greeter, true);
    // oneway
    greeter.greetMeOneWay("CXF");
    // two-way
    assertEquals("CXF", greeter.greetMe("cxf"));
    try {
        greeter.pingMe();
    } catch (PingMeFault ex) {
        fail("First invocation should have succeeded.");
    }
    try {
        greeter.pingMe();
        fail("Expected PingMeFault not thrown.");
    } catch (PingMeFault ex) {
        assertEquals(2, ex.getFaultInfo().getMajor());
        assertEquals(1, ex.getFaultInfo().getMinor());
    }
    MessageFlow mf = new MessageFlow(out.getOutboundMessages(), in.getInboundMessages());
    for (int i = 0; i < 3; i++) {
        mf.verifyNoHeader(RMUtils.getAddressingConstants().getMessageIDQName(), true, i);
        mf.verifyNoHeader(RMUtils.getAddressingConstants().getMessageIDQName(), false, i);
    }
    ((Closeable) greeter).close();
}
Also used : InMessageRecorder(org.apache.cxf.testutil.recorders.InMessageRecorder) PingMeFault(org.apache.cxf.greeter_control.PingMeFault) SpringBusFactory(org.apache.cxf.bus.spring.SpringBusFactory) OutMessageRecorder(org.apache.cxf.testutil.recorders.OutMessageRecorder) MinimalAlternativeSelector(org.apache.cxf.ws.policy.selector.MinimalAlternativeSelector) Greeter(org.apache.cxf.greeter_control.Greeter) Closeable(java.io.Closeable) PolicyEngine(org.apache.cxf.ws.policy.PolicyEngine) BasicGreeterService(org.apache.cxf.greeter_control.BasicGreeterService) MessageFlow(org.apache.cxf.systest.ws.util.MessageFlow) Endpoint(javax.xml.ws.Endpoint) Test(org.junit.Test)

Example 19 with MessageFlow

use of org.apache.cxf.systest.ws.util.MessageFlow in project cxf by apache.

the class AddressingOptionalPolicyTest method testUsingAddressing.

@Test
public void testUsingAddressing() throws Exception {
    SpringBusFactory bf = new SpringBusFactory();
    bus = bf.createBus("org/apache/cxf/systest/ws/policy/addr-optional.xml");
    BusFactory.setDefaultBus(bus);
    InMessageRecorder in = new InMessageRecorder();
    bus.getInInterceptors().add(in);
    OutMessageRecorder out = new OutMessageRecorder();
    bus.getOutInterceptors().add(out);
    BasicGreeterService gs = new BasicGreeterService();
    final Greeter greeter = gs.getGreeterPort();
    updateAddressPort(greeter, PORT);
    LOG.fine("Created greeter client.");
    ConnectionHelper.setKeepAliveConnection(greeter, true);
    // oneway
    greeter.greetMeOneWay("CXF");
    // two-way
    assertEquals("CXF", greeter.greetMe("cxf"));
    try {
        greeter.pingMe();
    } catch (PingMeFault ex) {
        fail("First invocation should have succeeded.");
    }
    try {
        greeter.pingMe();
        fail("Expected PingMeFault not thrown.");
    } catch (PingMeFault ex) {
        assertEquals(2, ex.getFaultInfo().getMajor());
        assertEquals(1, ex.getFaultInfo().getMinor());
    }
    MessageFlow mf = new MessageFlow(out.getOutboundMessages(), in.getInboundMessages());
    for (int i = 0; i < 3; i++) {
        mf.verifyHeader(RMUtils.getAddressingConstants().getMessageIDQName(), true, i);
        mf.verifyHeader(RMUtils.getAddressingConstants().getMessageIDQName(), false, i);
    }
    ((Closeable) greeter).close();
}
Also used : InMessageRecorder(org.apache.cxf.testutil.recorders.InMessageRecorder) PingMeFault(org.apache.cxf.greeter_control.PingMeFault) SpringBusFactory(org.apache.cxf.bus.spring.SpringBusFactory) OutMessageRecorder(org.apache.cxf.testutil.recorders.OutMessageRecorder) Greeter(org.apache.cxf.greeter_control.Greeter) Closeable(java.io.Closeable) BasicGreeterService(org.apache.cxf.greeter_control.BasicGreeterService) MessageFlow(org.apache.cxf.systest.ws.util.MessageFlow) Endpoint(javax.xml.ws.Endpoint) Test(org.junit.Test)

Example 20 with MessageFlow

use of org.apache.cxf.systest.ws.util.MessageFlow in project cxf by apache.

the class RMPolicyTest method testUsingRM.

@Test
public void testUsingRM() throws Exception {
    SpringBusFactory bf = new SpringBusFactory();
    bus = bf.createBus("org/apache/cxf/systest/ws/policy/rm.xml");
    BusFactory.setDefaultBus(bus);
    OutMessageRecorder outRecorder = new OutMessageRecorder();
    bus.getOutInterceptors().add(outRecorder);
    InMessageRecorder inRecorder = new InMessageRecorder();
    bus.getInInterceptors().add(inRecorder);
    BasicGreeterService gs = new BasicGreeterService();
    final Greeter greeter = gs.getGreeterPort();
    updateAddressPort(greeter, PORT);
    LOG.fine("Created greeter client.");
    ConnectionHelper.setKeepAliveConnection(greeter, true);
    // two-way
    assertEquals("CXF", greeter.greetMe("cxf"));
    // oneway
    greeter.greetMeOneWay("CXF");
    try {
        greeter.pingMe();
    } catch (PingMeFault ex) {
        fail("First invocation should have succeeded.");
    }
    try {
        greeter.pingMe();
        fail("Expected PingMeFault not thrown.");
    } catch (PingMeFault ex) {
        assertEquals(2, ex.getFaultInfo().getMajor());
        assertEquals(1, ex.getFaultInfo().getMinor());
    }
    MessageRecorder mr = new MessageRecorder(outRecorder, inRecorder);
    mr.awaitMessages(5, 4, 5000);
    MessageFlow mf = new MessageFlow(outRecorder.getOutboundMessages(), inRecorder.getInboundMessages(), Names200408.WSA_NAMESPACE_NAME, RM10Constants.NAMESPACE_URI);
    mf.verifyMessages(5, true);
    String[] expectedActions = new String[] { RM10Constants.INSTANCE.getCreateSequenceAction(), GREETME_ACTION, GREETMEONEWAY_ACTION, PINGME_ACTION, PINGME_ACTION };
    mf.verifyActions(expectedActions, true);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3", "4" }, true);
    mf.verifyLastMessage(new boolean[] { false, false, false, false, false }, true);
    mf.verifyAcknowledgements(new boolean[] { false, false, true, false, true }, true);
    mf.verifyMessages(4, false);
    // mf.verifyMessages(9, false);
    // mf.verifyPartialResponses(5);
    // mf.purgePartialResponses();
    expectedActions = new String[] { RM10Constants.INSTANCE.getCreateSequenceResponseAction(), GREETME_RESPONSE_ACTION, PINGME_RESPONSE_ACTION, GREETER_FAULT_ACTION };
    mf.verifyActions(expectedActions, false);
    mf.verifyMessageNumbers(new String[] { null, "1", "2", "3" }, false);
    mf.verifyLastMessage(new boolean[] { false, false, false, false }, false);
    mf.verifyAcknowledgements(new boolean[] { false, true, true, true }, false);
    ((Closeable) greeter).close();
}
Also used : InMessageRecorder(org.apache.cxf.testutil.recorders.InMessageRecorder) PingMeFault(org.apache.cxf.greeter_control.PingMeFault) SpringBusFactory(org.apache.cxf.bus.spring.SpringBusFactory) OutMessageRecorder(org.apache.cxf.testutil.recorders.OutMessageRecorder) MessageRecorder(org.apache.cxf.testutil.recorders.MessageRecorder) InMessageRecorder(org.apache.cxf.testutil.recorders.InMessageRecorder) OutMessageRecorder(org.apache.cxf.testutil.recorders.OutMessageRecorder) Greeter(org.apache.cxf.greeter_control.Greeter) Closeable(java.io.Closeable) BasicGreeterService(org.apache.cxf.greeter_control.BasicGreeterService) MessageFlow(org.apache.cxf.systest.ws.util.MessageFlow) Test(org.junit.Test)

Aggregations

MessageFlow (org.apache.cxf.systest.ws.util.MessageFlow)36 Test (org.junit.Test)23 RMManager (org.apache.cxf.ws.rm.RMManager)8 Greeter (org.apache.cxf.greeter_control.Greeter)7 Closeable (java.io.Closeable)6 SpringBusFactory (org.apache.cxf.bus.spring.SpringBusFactory)5 PingMeFault (org.apache.cxf.greeter_control.PingMeFault)5 InMessageRecorder (org.apache.cxf.testutil.recorders.InMessageRecorder)5 OutMessageRecorder (org.apache.cxf.testutil.recorders.OutMessageRecorder)5 Endpoint (javax.xml.ws.Endpoint)4 WebServiceException (javax.xml.ws.WebServiceException)4 BasicGreeterService (org.apache.cxf.greeter_control.BasicGreeterService)3 Message (org.apache.cxf.message.Message)3 AbstractPhaseInterceptor (org.apache.cxf.phase.AbstractPhaseInterceptor)3 MessageRecorder (org.apache.cxf.testutil.recorders.MessageRecorder)3 RMMessage (org.apache.cxf.ws.rm.persistence.RMMessage)3 Bus (org.apache.cxf.Bus)2 SoapFault (org.apache.cxf.binding.soap.SoapFault)2 RMProperties (org.apache.cxf.ws.rm.RMProperties)2 IOException (java.io.IOException)1