public static JMSMessageHeadersType from(Message message) throws JMSException { JMSMessageHeadersType messageHeaders = new JMSMessageHeadersType(); messageHeaders.read(message); return messageHeaders; }
private JMSMessageHeadersType getOrCreateJmsHeaders(final Message outMessage) { JMSMessageHeadersType headers = (JMSMessageHeadersType)outMessage .get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS); if (headers == null) { headers = new JMSMessageHeadersType(); outMessage.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, headers); } return headers; }
private static JMSMessageHeadersType getOrCreateHeader(org.apache.cxf.message.Message message, String headerName) { JMSMessageHeadersType messageProperties = (JMSMessageHeadersType)message .get(headerName); if (messageProperties == null) { messageProperties = new JMSMessageHeadersType(); message.put(headerName, messageProperties); } return messageProperties; }
private void twoWayTest(TestCaseType testcase, final JMSSimplePortType port) throws Exception { JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); twoWayTestWithRequestHeader(testcase, port, requestHeader); }
private void oneWayTest(TestCaseType testcase, JMSSimplePortType port) throws Exception { closeable = (java.io.Closeable)port; InvocationHandler handler = Proxy.getInvocationHandler(port); BindingProvider bp = (BindingProvider)handler; Map<String, Object> requestContext = bp.getRequestContext(); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader); Exception e = null; try { port.ping("test"); } catch (Exception e1) { e = e1; } checkJMSProperties(testcase, requestHeader); if (e != null) { throw e; } }
@Test public void test1109() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test1109"); final JMSSimplePortType simplePort = getPort("JMSSimpleService1109", "SimplePort", JMSSimpleService1109.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); try { twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); } catch (Exception e) { assertTrue(e.getMessage().contains("Unknow JMS Variant")); } }
@Test public void test1009() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test1009"); final JMSSimplePortType simplePort = getPort("JMSSimpleService1009", "SimplePort", JMSSimpleService1009.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); try { twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); } catch (Exception e) { assertTrue(e.getMessage().contains("Unknow JMS Variant")); } }
@Test public void test1001() throws Exception { // same to test0002 TestCaseType testcase = JMSTestUtil.getTestCase("test1001"); final JMSSimplePortType simplePort = getPort("JMSSimpleService1001", "SimplePort", JMSSimpleService1001.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setSOAPJMSBindingVersion("0.3"); try { twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); } catch (Exception e) { assertTrue(e.getMessage().contains("Unrecognized BindingVersion")); } }
@Test public void test1105() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test1105"); final JMSSimplePortType simplePort = getPort("JMSSimpleService1105", "SimplePort", JMSSimpleService1105.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setSOAPJMSSOAPAction("mismatch"); try { twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); } catch (Exception e) { assertTrue(e.getMessage().contains("Mismatched SoapAction")); } }
private void twoWayTestWithRequestHeader(TestCaseType testcase, final JMSSimplePortType port, JMSMessageHeadersType requestHeader) throws Exception { closeable = (java.io.Closeable)port; InvocationHandler handler = Proxy.getInvocationHandler(port); BindingProvider bp = (BindingProvider)handler; Map<String, Object> requestContext = bp.getRequestContext(); if (requestHeader == null) { requestHeader = new JMSMessageHeadersType(); } requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader); Exception e = null; try { String response = port.echo("test"); assertEquals(response, "test"); } catch (WebServiceException ew) { throw ew; } catch (Exception e1) { e = e1; } Map<String, Object> responseContext = bp.getResponseContext(); JMSMessageHeadersType responseHeader = (JMSMessageHeadersType)responseContext .get(JMSConstants.JMS_CLIENT_RESPONSE_HEADERS); checkJMSProperties(testcase, requestHeader, responseHeader); if (e != null) { throw e; } }
@Test public void test1101() throws Exception { // same to test0002 TestCaseType testcase = JMSTestUtil.getTestCase("test1101"); final JMSSimplePortType simplePort = getPort("JMSSimpleService1101", "SimplePort", JMSSimpleService1101.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setSOAPJMSBindingVersion("0.3"); try { twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); } catch (Exception e) { assertTrue(e.getMessage().contains("Unrecognized BindingVersion")); } }
@Test public void test0002() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test0002"); final JMSSimplePortType simplePort = getPort("JMSSimpleService0001", "SimplePort", JMSSimpleService0001.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setJMSCorrelationID("Correlator0002"); twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); }
inMessage.put(SecurityContext.class, securityContext); inMessage.put(JMSConstants.JMS_SERVER_RESPONSE_HEADERS, new JMSMessageHeadersType()); inMessage.put(JMSConstants.JMS_REQUEST_MESSAGE, message); ((MessageImpl)inMessage).setDestination(this);
private void callGreetMe() { BindingProvider bp = (BindingProvider)port; Map<String, Object> requestContext = bp.getRequestContext(); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader); String request = "World" + ((prefix != null) ? ":" + prefix : ""); String correlationID = null; if (corrFactory != null) { correlationID = corrFactory.createCorrealtionID(); requestHeader.setJMSCorrelationID(correlationID); request += ":" + correlationID; } String expected = "Hello " + request; String response = port.greetMe(request); Assert.assertEquals("Response didn't match expected request", expected, response); if (corrFactory != null) { Map<String, Object> responseContext = bp.getResponseContext(); JMSMessageHeadersType responseHeader = (JMSMessageHeadersType)responseContext.get( JMSConstants.JMS_CLIENT_RESPONSE_HEADERS); Assert.assertEquals("Request and Response CorrelationID didn't match", correlationID, responseHeader.getJMSCorrelationID()); } } }
@Test public void testBindingVersionError() throws Exception { QName serviceName = new QName(SERVICE_NS, "JMSGreeterService"); QName portName = new QName(SERVICE_NS, "GreeterPort"); URL wsdl = getWSDLURL(WSDL); JMSGreeterService service = new JMSGreeterService(wsdl, serviceName); JMSGreeterPortType greeter = markForClose(service.getPort(portName, JMSGreeterPortType.class, cff)); BindingProvider bp = (BindingProvider)greeter; Map<String, Object> requestContext = bp.getRequestContext(); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setSOAPJMSBindingVersion("0.3"); requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader); try { greeter.greetMe("Milestone-"); Assert.fail("Should have thrown a fault"); } catch (SOAPFaultException ex) { Assert.assertTrue(ex.getMessage().contains("0.3")); Map<String, Object> responseContext = bp.getResponseContext(); JMSMessageHeadersType responseHdr = (JMSMessageHeadersType)responseContext .get(JMSConstants.JMS_CLIENT_RESPONSE_HEADERS); if (responseHdr == null) { Assert.fail("response Header should not be null"); } Assert.assertTrue(responseHdr.isSOAPJMSIsFault()); } }
JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setJMSCorrelationID("JMS_SAMPLE_CORRELATION_ID"); requestHeader.setJMSExpiration(3600000L);
@Test public void test0008() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test0008"); final JMSSimplePortType simplePort = getPort("JMSSimpleService0008", "SimplePort", JMSSimpleService0008.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); requestHeader.setTimeToLive(14400000); requestHeader.setJMSPriority(8); requestHeader.setJMSReplyTo("dynamicQueues/replyqueue0008"); twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); }
@Test public void test0009() throws Exception { TestCaseType testcase = JMSTestUtil.getTestCase("test0009"); final JMSSimplePortType simplePort = getPort("JMSSimpleService0009", "SimplePort", JMSSimpleService0009.class, JMSSimplePortType.class); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); requestHeader.setTimeToLive(10800000); requestHeader.setJMSPriority(3); requestHeader.setJMSReplyTo("dynamicQueues/replyqueue00093"); twoWayTestWithRequestHeader(testcase, simplePort, requestHeader); }
JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestHeader.setJMSReplyTo("dynamicQueues/test.jmstransport.oneway.with.set.replyto.reply"); requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader);
@Test public void testWsdlExtensionSpecJMS() throws Exception { QName serviceName = new QName(SERVICE_NS, "JMSGreeterService"); QName portName = new QName(SERVICE_NS, "GreeterPort"); URL wsdl = getWSDLURL(WSDL); JMSGreeterService service = new JMSGreeterService(wsdl, serviceName); JMSGreeterPortType greeter = markForClose(service.getPort(portName, JMSGreeterPortType.class, cff)); Map<String, Object> requestContext = ((BindingProvider)greeter).getRequestContext(); JMSMessageHeadersType requestHeader = new JMSMessageHeadersType(); requestContext.put(JMSConstants.JMS_CLIENT_REQUEST_HEADERS, requestHeader); String reply = greeter.sayHi(); Assert.assertEquals("Bonjour", reply); requestContext = ((BindingProvider)greeter).getRequestContext(); requestHeader = (JMSMessageHeadersType)requestContext.get(JMSConstants.JMS_CLIENT_REQUEST_HEADERS); Assert.assertEquals("1.0", requestHeader.getSOAPJMSBindingVersion()); Assert.assertEquals("\"test\"", requestHeader.getSOAPJMSSOAPAction()); Assert.assertEquals(3000, requestHeader.getTimeToLive()); Assert.assertEquals(DeliveryMode.PERSISTENT, requestHeader.getJMSDeliveryMode()); Assert.assertEquals(7, requestHeader.getJMSPriority()); Map<String, Object> responseContext = ((BindingProvider)greeter).getResponseContext(); JMSMessageHeadersType responseHeader = (JMSMessageHeadersType)responseContext .get(JMSConstants.JMS_CLIENT_RESPONSE_HEADERS); Assert.assertEquals("1.0", responseHeader.getSOAPJMSBindingVersion()); Assert.assertEquals("\"test\"", responseHeader.getSOAPJMSSOAPAction()); Assert.assertEquals(DeliveryMode.PERSISTENT, responseHeader.getJMSDeliveryMode()); Assert.assertEquals(7, responseHeader.getJMSPriority()); }