/** * @param messageProperties * @param inMessageProperties */ public static void initResponseMessageProperties(JMSMessageHeadersType messageProperties, JMSMessageHeadersType inMessageProperties) { messageProperties.setJMSDeliveryMode(inMessageProperties.getJMSDeliveryMode()); messageProperties.setJMSPriority(inMessageProperties.getJMSPriority()); messageProperties.setSOAPJMSRequestURI(inMessageProperties.getSOAPJMSRequestURI()); messageProperties.setSOAPJMSSOAPAction(inMessageProperties.getSOAPJMSSOAPAction()); messageProperties.setSOAPJMSBindingVersion("1.0"); }
/** * Create JmsSender from configuration information. Most settings are taken from jmsConfig. The QoS * settings in messageProperties override the settings from jmsConfig * * @param jmsConfig configuration information * @param messageProperties context headers override config settings * @return */ public static JMSSender createJmsSender(JMSConfiguration jmsConfig, JMSMessageHeadersType messageProperties) { JMSSender sender = new JMSSender(); long timeToLive = (messageProperties != null && messageProperties.isSetTimeToLive()) ? messageProperties.getTimeToLive() : jmsConfig.getTimeToLive(); sender.setTimeToLive(timeToLive); int priority = (messageProperties != null && messageProperties.isSetJMSPriority()) ? messageProperties.getJMSPriority() : jmsConfig.getPriority(); sender.setPriority(priority); int deliveryMode = (messageProperties != null && messageProperties.isSetJMSDeliveryMode()) ? messageProperties.getJMSDeliveryMode() : jmsConfig.getDeliveryMode(); sender.setDeliveryMode(deliveryMode); sender.setExplicitQosEnabled(jmsConfig.isExplicitQosEnabled()); return sender; }
int dm = 0; if (header.isSetJMSDeliveryMode()) { dm = header.getJMSDeliveryMode();
@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()); }