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);
}
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);
}
}
}
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);
}
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());
}
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;
}
}
}
Aggregations