use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse in project scout.rt by eclipse.
the class AbstractJaxWsClientTest method testSetupGetHeaderHeaderSet.
@Test
public void testSetupGetHeaderHeaderSet() {
GetHeaderRequest req = new GetHeaderRequest();
req.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
final String headerValueSent = "test header value";
GetHeaderResponse resp = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().withHttpRequestHeader(X_SCOUT_JAX_WS_TEST_HEADER, headerValueSent).getPort().getHeader(req);
assertNotNull(resp);
assertTrue(resp.isHeaderSet());
assertEquals(headerValueSent, resp.getHeaderValue());
}
use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse in project scout.rt by eclipse.
the class AbstractJaxWsClientTest method testAcquirePortInSameTransactionMultipleTimesGetHeader.
@Test
public void testAcquirePortInSameTransactionMultipleTimesGetHeader() {
GetHeaderRequest req = new GetHeaderRequest();
req.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
// 1. add HTTP header on port0
JaxWsConsumerTestServicePortType port0 = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
final String headerValueSent = "test header value";
BEANS.get(JaxWsImplementorSpecifics.class).setHttpRequestHeader(((BindingProvider) port0).getRequestContext(), X_SCOUT_JAX_WS_TEST_HEADER, headerValueSent);
GetHeaderResponse resp = port0.getHeader(req);
assertNotNull(resp);
assertTrue(resp.isHeaderSet());
assertEquals(headerValueSent, resp.getHeaderValue());
// 2. acquire port1 and do not set a header
JaxWsConsumerTestServicePortType port1 = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort();
if (BEANS.get(JaxWsImplementorSpecifics.class).isPoolingSupported()) {
assertSamePort(port0, port1);
} else {
assertDifferentPort(port0, port1);
}
resp = port1.getHeader(req);
assertNotNull(resp);
assertFalse(resp.isHeaderSet());
assertNull(resp.getHeaderValue());
}
use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse 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.GetHeaderResponse in project scout.rt by eclipse.
the class JaxWsConsumerTestServiceProvider method getHeader.
@Override
@SuppressWarnings("bsiRulesDefinition:htmlInString")
public GetHeaderResponse getHeader(GetHeaderRequest req) {
Assertions.assertNotNull(req);
GetHeaderResponse resp = new GetHeaderResponse();
@SuppressWarnings("unchecked") Map<String, List<String>> httpRequestHeaderMap = (Map<String, List<String>>) m_wsCtx.getMessageContext().get(MessageContext.HTTP_REQUEST_HEADERS);
List<String> values = httpRequestHeaderMap.get(req.getHeaderName());
if (CollectionUtility.isEmpty(values)) {
resp.setHeaderSet(false);
} else {
StringBuilder sb = new StringBuilder();
for (String s : values) {
if (sb.length() > 0) {
sb.append(", ");
}
sb.append(s == null ? "<null>" : s);
}
resp.setHeaderSet(true);
resp.setHeaderValue(sb.toString());
}
LOG.info("get header ['{}'='{}', headerSet={}]", req.getHeaderName(), resp.getHeaderValue(), resp.isHeaderSet());
return resp;
}
use of org.eclipse.scout.jaxws.consumer.jaxwsconsumertestservice.GetHeaderResponse in project scout.rt by eclipse.
the class AbstractJaxWsClientTest method testSetupGetHeaderNoHeaderSet.
@Test
public void testSetupGetHeaderNoHeaderSet() {
GetHeaderRequest req = new GetHeaderRequest();
req.setHeaderName(X_SCOUT_JAX_WS_TEST_HEADER);
GetHeaderResponse resp = BEANS.get(JaxWsConsumerTestClient.class).newInvocationContext().getPort().getHeader(req);
assertNotNull(resp);
assertFalse(resp.isHeaderSet());
assertNull(resp.getHeaderValue());
}
Aggregations