Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-23622

[QE](7.4.z) WEJBHTTP-80 - Ejb over http and picketbox stop working with ejb client bom 7.4.3.GA on port 80

XMLWordPrintable

      Ejb is deployed on OpenShift pod (eap74 jdk11 images). Ejb client is accessing this ejb over http (through OpenShift Route).
      Only change which distinguish if error occurs or not is change of version of client side wildfly-ejb-client-bom artifact 7.4.2.GA -> 7.4.3.GA

      <groupId>org.jboss.eap</groupId>
      <artifactId>wildfly-ejb-client-bom</artifactId>
      <type>pom</type>
      <scope>compile</scope>
      <!-- TODO 7.4.3.GA does not work on jdk11 WFHTTP000005: Invalid response code 400 session-->
      <version>7.4.2.GA</version>
      

      Client side log for 7.4.3.GA used

      May 26, 2022 8:13:46 AM org.wildfly.security.Version <clinit>
      INFO: ELY00001: WildFly Elytron version 1.15.9.Final-redhat-00001
      May 26, 2022 8:13:46 AM org.wildfly.naming.client.Version <clinit>
      INFO: WildFly Naming version 1.0.14.Final-redhat-00001
      May 26, 2022 8:13:46 AM org.xnio.Xnio <clinit>
      INFO: XNIO version 3.8.5.SP1-redhat-00001
      May 26, 2022 8:13:46 AM org.xnio.nio.NioXnio <clinit>
      INFO: XNIO NIO Implementation Version 3.8.5.SP1-redhat-00001
      May 26, 2022 8:13:46 AM org.jboss.threads.Version <clinit>
      INFO: JBoss Threads version 2.4.0.Final-redhat-00001
      May 26, 2022 8:13:46 AM org.jboss.remoting3.EndpointImpl <clinit>
      INFO: JBoss Remoting version 5.0.23.SP1-redhat-00001
      May 26, 2022 8:13:46 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 4.0.44.Final-redhat-00001
      May 26, 2022 8:13:47 AM org.wildfly.httpclient.common.HttpTargetContext lambda$acquireSessionAffinity$1
      ERROR: WFHTTP000003: Failed to acquire session
      java.io.IOException: WFHTTP000005: Invalid response code 400 (full response ClientResponse{responseHeaders={content-length=[76], content-type=[text/html], date=[Thu, 26 May 2022 06:13:47 GMT]}, responseCode=400, status='', protocol=HTTP/2.0})
      	at org.wildfly.httpclient.common.HttpTargetContext$2$1.lambda$completed$4(HttpTargetContext.java:247)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      
      May 26, 2022 8:13:47 AM org.wildfly.httpclient.common.HttpTargetContext lambda$acquireSessionAffinity$1
      ERROR: WFHTTP000003: Failed to acquire session
      java.nio.channels.ClosedChannelException
      	at io.undertow.client.http2.Http2ClientConnection.close(Http2ClientConnection.java:306)
      	at io.undertow.client.http.HttpClientConnection.close(HttpClientConnection.java:485)
      	at org.xnio.IoUtils.safeClose(IoUtils.java:152)
      	at org.wildfly.httpclient.common.HttpConnectionPool$ClientConnectionHolder.done(HttpConnectionPool.java:276)
      	at org.wildfly.httpclient.common.HttpTargetContext$2$1.lambda$completed$4(HttpTargetContext.java:252)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      
      May 26, 2022 8:13:47 AM org.wildfly.httpclient.common.HttpTargetContext lambda$acquireSessionAffinity$1
      ERROR: WFHTTP000003: Failed to acquire session
      java.nio.channels.ClosedChannelException
      	at io.undertow.client.http2.Http2ClientConnection$1.handleEvent(Http2ClientConnection.java:107)
      	at io.undertow.client.http2.Http2ClientConnection$1.handleEvent(Http2ClientConnection.java:99)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener.handleEvent(AbstractFramedChannel.java:1081)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener.handleEvent(AbstractFramedChannel.java:994)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.terminated(ReadReadyHandler.java:71)
      	at org.xnio.nio.NioSocketConduit.readTerminated(NioSocketConduit.java:332)
      	at org.xnio.nio.NioSocketStreamConnection.notifyReadClosed(NioSocketStreamConnection.java:149)
      	at org.xnio.Connection.close(Connection.java:139)
      	at org.xnio.IoUtils.safeClose(IoUtils.java:152)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel.close(AbstractFramedChannel.java:822)
      	at org.xnio.IoUtils.safeClose(IoUtils.java:152)
      	at io.undertow.protocols.http2.Http2Channel$3.handleEvent(Http2Channel.java:829)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:421)
      	at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:409)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.run(AbstractFramedStreamSinkChannel.java:235)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$1.run(AbstractFramedChannel.java:144)
      	at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)
      
      Exception in thread "main" javax.naming.CommunicationException: EJBCLIENT000062: Failed to look up "/ROOT/CounterBean!com.redhat.xpaas.ejb.server.RemoteCounter?stateful" [Root exception is java.util.concurrent.ExecutionException: java.io.IOException: WFHTTP000005: Invalid response code 400 (full response ClientResponse{responseHeaders={content-length=[76], content-type=[text/html], date=[Thu, 26 May 2022 06:13:47 GMT]}, responseCode=400, status='', protocol=HTTP/2.0})]
      	at org.jboss.ejb.client.EJBRootContext.lookupNative(EJBRootContext.java:160)
      	at org.wildfly.naming.client.AbstractContext.lookup(AbstractContext.java:84)
      	at org.wildfly.naming.client.WildFlyRootContext.lookup(WildFlyRootContext.java:144)
      	at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
      	at com.redhat.xpaas.ejb.client.RemoteEJBClient.lookupRemoteStatefulCounter(RemoteEJBClient.java:42)
      	at com.redhat.xpaas.ejb.client.RemoteEJBClient.main(RemoteEJBClient.java:26)
      Caused by: java.util.concurrent.ExecutionException: java.io.IOException: WFHTTP000005: Invalid response code 400 (full response ClientResponse{responseHeaders={content-length=[76], content-type=[text/html], date=[Thu, 26 May 2022 06:13:47 GMT]}, responseCode=400, status='', protocol=HTTP/2.0})
      	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
      	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
      	at org.wildfly.httpclient.ejb.HttpEJBReceiver.createSession(HttpEJBReceiver.java:305)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:74)
      	at org.jboss.ejb.protocol.remote.RemotingEJBClientInterceptor.handleSessionCreation(RemotingEJBClientInterceptor.java:67)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.jboss.ejb.client.TransactionPostDiscoveryInterceptor.handleSessionCreation(TransactionPostDiscoveryInterceptor.java:108)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.jboss.ejb.client.DiscoveryEJBClientInterceptor.handleSessionCreation(DiscoveryEJBClientInterceptor.java:171)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.jboss.ejb.client.NamingEJBClientInterceptor.handleSessionCreation(NamingEJBClientInterceptor.java:107)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.call(AuthenticationContextEJBClientInterceptor.java:59)
      	at org.jboss.ejb.client.AuthenticationContextEJBClientInterceptor.handleSessionCreation(AuthenticationContextEJBClientInterceptor.java:39)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.jboss.ejb.client.TransactionInterceptor.handleSessionCreation(TransactionInterceptor.java:106)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceed(EJBSessionCreationInvocationContext.java:84)
      	at org.wildfly.common.context.Contextual.runExFunction(Contextual.java:287)
      	at org.jboss.ejb.client.EJBSessionCreationInvocationContext.proceedInitial(EJBSessionCreationInvocationContext.java:47)
      	at org.jboss.ejb.client.EJBClientContext.createSession(EJBClientContext.java:900)
      	at org.jboss.ejb.client.EJBClient.createSessionProxy(EJBClient.java:198)
      	at org.jboss.ejb.client.EJBRootContext.lookupNative(EJBRootContext.java:158)
      	... 5 more
      Caused by: java.io.IOException: WFHTTP000005: Invalid response code 400 (full response ClientResponse{responseHeaders={content-length=[76], content-type=[text/html], date=[Thu, 26 May 2022 06:13:47 GMT]}, responseCode=400, status='', protocol=HTTP/2.0})
      	at org.wildfly.httpclient.common.HttpTargetContext$2$1.lambda$completed$4(HttpTargetContext.java:247)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      
      

      Client side log for 7.4.2.GA

      May 26, 2022 8:37:37 AM org.wildfly.security.Version <clinit>
      INFO: ELY00001: WildFly Elytron version 1.15.6.Final-redhat-00001
      May 26, 2022 8:37:37 AM org.wildfly.naming.client.Version <clinit>
      INFO: WildFly Naming version 1.0.14.Final-redhat-00001
      May 26, 2022 8:37:37 AM org.xnio.Xnio <clinit>
      INFO: XNIO version 3.8.4.Final-redhat-00001
      May 26, 2022 8:37:37 AM org.xnio.nio.NioXnio <clinit>
      INFO: XNIO NIO Implementation Version 3.8.4.Final-redhat-00001
      May 26, 2022 8:37:37 AM org.jboss.threads.Version <clinit>
      INFO: JBoss Threads version 2.4.0.Final-redhat-00001
      May 26, 2022 8:37:37 AM org.jboss.remoting3.EndpointImpl <clinit>
      INFO: JBoss Remoting version 5.0.23.SP1-redhat-00001
      May 26, 2022 8:37:37 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 4.0.43.Final-redhat-00001
      2 ejb-remote-over-http-1-qc2hd
      

      On server side OpenShift image default security connfiguration is used.

      Note wildfly-ejb-client-bom in version 7.4.3.GA is not problem for jdk17 images where Elytron is used by default

      Btw. I have found this upstream references discussing 80/443 vs 8080/8443 WFHTTP000005: Invalid response code 400

              rhn-support-rmartinc Ricardo Martin Camarero
              mchoma@redhat.com Martin Choma
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: