public <T> Dispatch<T> configureDispatch(Dispatch<T> dispatch) { if (jmsConfiguration == null || !(dispatch instanceof DispatchImpl<?>) || (serviceName == null && configuration == null)) { return null; } if (!jmsConfigured) { setupJmsConfiguration(); } final DispatchImpl<?> di = (DispatchImpl<?>) dispatch; final Client cl = di.getClient(); final JMSConfigFeature feature = new JMSConfigFeature(); feature.setJmsConfig(jmsConfiguration); feature.initialize(cl, cl.getBus()); return dispatch; }
public JaxWsServerFactoryBean configureServerFactory(JaxWsServerFactoryBean serverFactory) { if (jmsConfiguration == null || serverFactory == null || (serviceName == null && configuration == null)) { return null; } if (!jmsConfigured) { setupJmsConfiguration(); } final JMSConfigFeature feature = new JMSConfigFeature(); feature.setJmsConfig(jmsConfiguration); List<Feature> features = serverFactory.getFeatures(); if (features == null) { features = new ArrayList<Feature>(); } features.add(feature); serverFactory.setFeatures(features); return serverFactory; }
@Override public void initialize(Server server, Bus bus) { checkJmsConfig(); Destination destination = server.getDestination(); if (!(destination instanceof JMSDestination)) { throw new ConfigurationException(new Message("JMSCONFIGFEATURE_ONLY_JMS", LOG)); } JMSDestination jmsDestination = (JMSDestination)destination; jmsDestination.setJmsConfig(jmsConfig); super.initialize(server, bus); }
public Endpoint configureEndpoint(Endpoint endpoint) { if (jmsConfiguration == null || !(endpoint instanceof EndpointImpl) || (serviceName == null && configuration == null)) { return null; } if (!jmsConfigured) { setupJmsConfiguration(); } final EndpointImpl ei = (EndpointImpl) endpoint; final JMSConfigFeature feature = new JMSConfigFeature(); feature.setJmsConfig(jmsConfiguration); List<Feature> features = ei.getFeatures(); if (features == null) { features = new ArrayList<Feature>(); } features.add(feature); ei.setFeatures(features); return endpoint; }
@Override public void initialize(Client client, Bus bus) { checkJmsConfig(); Conduit conduit = client.getConduit(); if (!(conduit instanceof JMSConduit)) { throw new ConfigurationException(new Message("JMSCONFIGFEATURE_ONLY_JMS", LOG)); } JMSConduit jmsConduit = (JMSConduit)conduit; jmsConduit.setJmsConfig(jmsConfig); super.initialize(client, bus); }
public <T> Dispatch<T> configureDispatch(Dispatch<T> dispatch, String addressing) { if (configuration == null) { if (serviceName == null) { return null; } configuration = CallContext.resolveConfiguration(serviceName); } String overrideAddress = getProperty("requestURI2010"); if (overrideAddress != null && (overrideAddress.equals(addressing) || OVERRIDE_BY_URI_CONFIG.equals(addressing))) { return dispatch; } if (jmsConfiguration == null || !(dispatch instanceof DispatchImpl<?>) || (serviceName == null && configuration == null)) { return null; } if (!jmsConfigured) { setupJmsConfiguration(); } final DispatchImpl<?> di = (DispatchImpl<?>) dispatch; final Client cl = di.getClient(); final JMSConfigFeature feature = new JMSConfigFeature(); feature.setJmsConfig(jmsConfiguration); feature.initialize(cl, cl.getBus()); return dispatch; }
@Test(expected = SOAPFaultException.class) public void testReplyAndReplyToDestinations() throws Exception { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setWsdlLocation("classpath:/wsdl/jms_test.wsdl"); factory.setServiceName(new QName("http://cxf.apache.org/hello_world_jms", "HelloWorldService")); factory.setEndpointName(new QName("http://cxf.apache.org/hello_world_jms", "HelloWorldPort")); factory.setAddress("jms://"); JMSConfigFeature feature = new JMSConfigFeature(); JMSConfiguration config = new JMSConfiguration(); config.setConnectionFactory(new ActiveMQConnectionFactory(broker.getBrokerURL())); config.setRequestURI("test.jmstransport.text"); config.setTargetDestination("test.jmstransport.text"); // replyDestination and replyToDestination intentionally differ in this test scenario // replyDestination = Destination name to listen on for reply messages config.setReplyDestination("test.jmstransport.text.reply"); // replyToDestination = Destination name to send out as replyTo address in the message config.setReplyToDestination("test.jmstransport.text.replyTo"); config.setReceiveTimeout(1000L); feature.setJmsConfig(config); factory.getFeatures().add(feature); HelloWorldPortType greeter = factory.create(HelloWorldPortType.class); try { greeter.greetMe("FooBar"); // Timeout exception should be thrown } finally { ((java.io.Closeable)greeter).close(); } }