/** * @param jmsMessage * @param messageProperties */ public void writeTo(Message jmsMessage) throws JMSException { setProp(jmsMessage, JMSSpecConstants.TARGETSERVICE_FIELD, soapjmsTargetService); setProp(jmsMessage, JMSSpecConstants.BINDINGVERSION_FIELD, soapjmsBindingVersion); setProp(jmsMessage, JMSSpecConstants.CONTENTTYPE_FIELD, soapjmsContentType); setProp(jmsMessage, JMSSpecConstants.CONTENTENCODING_FIELD, soapjmsContentEncoding); setProp(jmsMessage, JMSSpecConstants.SOAPACTION_FIELD, soapjmssoapAction); setProp(jmsMessage, JMSSpecConstants.REQUESTURI_FIELD, soapjmsRequestURI); if (isSetSOAPJMSIsFault()) { jmsMessage.setBooleanProperty(JMSSpecConstants.ISFAULT_FIELD, isSOAPJMSIsFault()); } for (Entry<String, Object> entry : properties.entrySet()) { writeProp(jmsMessage, entry.getKey(), entry.getValue()); } }
@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()); } }
assertEquals(header.isSOAPJMSIsFault(), messageProperties.isIsFault());