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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content