Search in sources :

Example 6 with JaxWsConsumerTestServicePortType

use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType in project scout.rt by eclipse.

the class AbstractJaxWsClientTest method testAcquirePortInSameTransactionMultipleTimesSleepWithReadTimeoutCheckResponseHeaders.

@Test
public void testAcquirePortInSameTransactionMultipleTimesSleepWithReadTimeoutCheckResponseHeaders() {
    // 1. invoke set header on port0
    final JaxWsConsumerTestServicePortType port0 = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
    final String testHeaderValue = "test header value";
    SetHeaderRequest headerReq = new SetHeaderRequest();
    headerReq.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
    headerReq.setHeaderValue(testHeaderValue);
    port0.setHeader(headerReq);
    assertHttpResponseHeader(port0, X_SCOUT_JAX_WS_TEST_HEADER, testHeaderValue);
    // 2. invoke sleep on port1
    final JaxWsConsumerTestServicePortType port1 = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().withReadTimeout(500, TimeUnit.MILLISECONDS).getPort();
    if (BEANS.get(JaxWsImplementorSpecifics.class).isPoolingSupported()) {
        assertSamePort(port0, port1);
    } else {
        assertDifferentPort(port0, port1);
    }
    SleepRequest req = new SleepRequest();
    req.setMillis(5000);
    try {
        port1.sleep(req);
        fail("invocation is expected to be cancelled");
    } catch (WebServiceException e) {
        if (!(e.getCause() instanceof SocketTimeoutException)) {
            throw e;
        }
    }
    assertHttpResponseCode(port1, 0);
    assertHttpResponseHeader(port1, X_SCOUT_JAX_WS_TEST_HEADER, null);
    // 3. invoke echo on port1
    EchoRequest echoReq = new EchoRequest();
    echoReq.setMessage("test message");
    port1.echo(echoReq);
    assertHttpResponseCode(port1, 200);
    assertHttpResponseHeader(port1, X_SCOUT_JAX_WS_TEST_HEADER, null);
}
Also used : SetHeaderRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SetHeaderRequest) SleepRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SleepRequest) SocketTimeoutException(java.net.SocketTimeoutException) WebServiceException(javax.xml.ws.WebServiceException) EchoRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.EchoRequest) JaxWsConsumerTestServicePortType(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType) JaxWsImplementorSpecifics(org.eclipse.scout.rt.server.jaxws.implementor.JaxWsImplementorSpecifics) Test(org.junit.Test)

Example 7 with JaxWsConsumerTestServicePortType

use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType in project scout.rt by eclipse.

the class AbstractJaxWsClientTest method testSetupSleep.

@Test
public void testSetupSleep() {
    final int sleepTimeMillis = 500;
    SleepRequest req = new SleepRequest();
    req.setMillis(sleepTimeMillis);
    final JaxWsConsumerTestServicePortType port = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
    final long start = System.currentTimeMillis();
    try {
        port.sleep(req);
    } finally {
        long dt = System.currentTimeMillis() - start;
        if (dt < sleepTimeMillis) {
            fail("Operation took less than " + sleepTimeMillis);
        }
    }
}
Also used : SleepRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SleepRequest) JaxWsConsumerTestServicePortType(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType) Test(org.junit.Test)

Example 8 with JaxWsConsumerTestServicePortType

use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType in project scout.rt by eclipse.

the class AbstractJaxWsClientTest method testSamePortMultipleTimesSetHeader.

@Test
public void testSamePortMultipleTimesSetHeader() {
    JaxWsConsumerTestServicePortType port = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
    // 1. invoke echo without header
    EchoRequest echoReq = new EchoRequest();
    echoReq.setMessage("test message");
    port.echo(echoReq);
    assertHttpResponseHeader(port, X_SCOUT_JAX_WS_TEST_HEADER, null);
    // 2. set header
    final String expectedHeader = "test header value";
    SetHeaderRequest req = new SetHeaderRequest();
    req.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
    req.setHeaderValue(expectedHeader);
    SetHeaderResponse resp = port.setHeader(req);
    assertNotNull(resp);
    assertEquals("ok", resp.getMessage());
    assertHttpResponseHeader(port, X_SCOUT_JAX_WS_TEST_HEADER, expectedHeader);
    // 3. invoke echo without header
    echoReq.setMessage("test message");
    port.echo(echoReq);
    assertHttpResponseHeader(port, X_SCOUT_JAX_WS_TEST_HEADER, null);
}
Also used : SetHeaderRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SetHeaderRequest) SetHeaderResponse(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SetHeaderResponse) EchoRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.EchoRequest) JaxWsConsumerTestServicePortType(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType) Test(org.junit.Test)

Example 9 with JaxWsConsumerTestServicePortType

use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType in project scout.rt by eclipse.

the class AbstractJaxWsClientTest method testSamePortMultipleTimesGetHeader.

@Test
public void testSamePortMultipleTimesGetHeader() {
    JaxWsConsumerTestServicePortType port = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
    GetHeaderRequest req = new GetHeaderRequest();
    req.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
    // 1. no HTTP headers set
    GetHeaderResponse resp = port.getHeader(req);
    assertNotNull(resp);
    assertFalse(resp.isHeaderSet());
    assertNull(resp.getHeaderValue());
    // 2. add HTTP header
    final String headerValueSent = "test header value";
    BEANS.get(JaxWsImplementorSpecifics.class).setHttpRequestHeader(((BindingProvider) port).getRequestContext(), X_SCOUT_JAX_WS_TEST_HEADER, headerValueSent);
    resp = port.getHeader(req);
    assertNotNull(resp);
    assertTrue(resp.isHeaderSet());
    assertEquals(headerValueSent, resp.getHeaderValue());
    // 3. do not change HTTP headers
    resp = port.getHeader(req);
    assertNotNull(resp);
    assertTrue(resp.isHeaderSet());
    assertEquals(headerValueSent, resp.getHeaderValue());
    // 4. remove HTTP header
    BEANS.get(JaxWsImplementorSpecifics.class).removeHttpRequestHeader(((BindingProvider) port).getRequestContext(), X_SCOUT_JAX_WS_TEST_HEADER);
    resp = port.getHeader(req);
    assertNotNull(resp);
    assertFalse(resp.isHeaderSet());
    assertNull(resp.getHeaderValue());
}
Also used : GetHeaderResponse(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse) GetHeaderRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderRequest) JaxWsConsumerTestServicePortType(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType) JaxWsImplementorSpecifics(org.eclipse.scout.rt.server.jaxws.implementor.JaxWsImplementorSpecifics) Test(org.junit.Test)

Example 10 with JaxWsConsumerTestServicePortType

use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType in project scout.rt by eclipse.

the class AbstractJaxWsClientTest method testSetupSleepWithReadTimeout.

@Test
public void testSetupSleepWithReadTimeout() {
    final int sleepTimeMillis = 5000;
    SleepRequest req = new SleepRequest();
    req.setMillis(sleepTimeMillis);
    final JaxWsConsumerTestServicePortType port = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().withReadTimeout(1, TimeUnit.SECONDS).getPort();
    try {
        port.sleep(req);
        fail("invocation is expected to be cancelled");
    } catch (WebServiceException e) {
        if (!(e.getCause() instanceof SocketTimeoutException)) {
            throw e;
        }
    }
}
Also used : SleepRequest(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SleepRequest) SocketTimeoutException(java.net.SocketTimeoutException) WebServiceException(javax.xml.ws.WebServiceException) JaxWsConsumerTestServicePortType(org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType) Test(org.junit.Test)

Aggregations

JaxWsConsumerTestServicePortType (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.JaxWsConsumerTestServicePortType)14 Test (org.junit.Test)14 SocketTimeoutException (java.net.SocketTimeoutException)7 WebServiceException (javax.xml.ws.WebServiceException)7 SleepRequest (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SleepRequest)6 JaxWsImplementorSpecifics (org.eclipse.scout.rt.server.jaxws.implementor.JaxWsImplementorSpecifics)5 EchoRequest (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.EchoRequest)4 SetHeaderRequest (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SetHeaderRequest)4 Holder (org.eclipse.scout.rt.platform.holders.Holder)3 IRunnable (org.eclipse.scout.rt.platform.util.concurrent.IRunnable)3 CountDownLatch (java.util.concurrent.CountDownLatch)2 GetHeaderRequest (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderRequest)2 GetHeaderResponse (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse)2 SetHeaderResponse (org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.SetHeaderResponse)2 JaxWsPingTestServicePortType (org.eclipse.scout.jaxws.consumer.jaxwspingtestservice.JaxWsPingTestServicePortType)1 PingRequest (org.eclipse.scout.jaxws.consumer.jaxwspingtestservice.PingRequest)1 PingResponse (org.eclipse.scout.jaxws.consumer.jaxwspingtestservice.PingResponse)1