WebService Call with SOAP over JMS produces : java.lang.RuntimeException: MQJCA1018: Only one session per connection is allowed. in JBoss EAP 7

Solution Verified - Updated -

Issue

We use a JAX-WS Client to call a SOAP Webservice over JMS by using the Messaging Provider IBM WebSphere MQ. The WebService Provider of JBoss EAP (Apache CXF) produces an exception:

WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (default task-3) Interceptor for {http://schema.example.redhat.com/ws/Example}ExampleWS#{http://schema.example.redhat.com/ws/Example}ExampleWS has thrown exception, unwinding now: java.lang.RuntimeException: MQJCA1018: Only one session per connection is allowed.
        at org.apache.cxf.transport.jms.util.JMSUtil.convertJmsException(JMSUtil.java:65)
        at org.apache.cxf.transport.jms.util.MessageListenerContainer.start(MessageListenerContainer.java:66)
        at org.apache.cxf.transport.jms.JMSConduit.setupReplyDestination(JMSConduit.java:183)
        at org.apache.cxf.transport.jms.JMSConduit.sendAndReceiveMessage(JMSConduit.java:195)
        at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:145)
        at org.apache.cxf.transport.jms.MessageStreamUtil$SendingOutputStream.doClose(MessageStreamUtil.java:81)
        at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:212)
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
        at org.apache.cxf.transport.jms.JMSConduit.close(JMSConduit.java:101)
        at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)
        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)
        at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP) 7
  • SOAP over JMS
  • IBM MQ

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In