admin管理员组

文章数量:1289891

I am trying to perform a WS-Atomic transaction between service SAX and service SAY. Both services store an employee on a table. SAX uses MySQL 5.7 and SAY uses MySQL 8.0.

Both services work well independently. SAX can invoke SAY with no problems without @Transactional annotation.

But when service SAX tries to send the transactional context to SAY using @Transactional, the application crashes. The server goes into a loop, always sending the same message.

I would appreciate some help.

Thanks in advance.

This is the error reported by SAX (in a loop):

javax.transaction.xa.XAException: WSATGatewayRM recover call failed due to StoreException:java.lang.NullPointerException
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:383)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:357)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:344)
    at com.sun.xml.ws.tx.at.tube.WSATClientHelper.processTransactionalRequest(WSATClientHelper.java:146)
    at com.sun.xml.ws.tx.at.tube.WSATClientHelper.doHandleRequest(WSATClientHelper.java:60)
    at com.sun.xml.ws.tx.at.tube.WSATClientTube.doProcessRequest(WSATClientTube.java:73)
    at com.sun.xml.ws.tx.at.tube.WSATClientTube.processRequest(WSATClientTube.java:62)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.client.Stub.process(Stub.java:431)
    at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:160)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:62)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:132)
    at jdk.proxy74/jdk.proxy74.$Proxy423.create(Unknown Source)
    at negocio.x.SAX.create(SAX.java:84)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at .glassfish.exousia.AuthorizationService.lambda$invokeBeanMethod$1(AuthorizationService.java:506)
    at .glassfish.exousia.AuthorizationService.runInScope(AuthorizationService.java:586)
    at .glassfish.exousia.AuthorizationService.invokeBeanMethod(AuthorizationService.java:506)
    at .glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:297)
    at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4193)
    at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:604)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:553)
    at .jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:87)
    at .jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:766)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:553)
    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:122)
    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:99)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:766)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:307)
    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4168)
    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4158)
    at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:155)
    at jdk.proxy72/jdk.proxy72.$Proxy419.create(Unknown Source)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at .glassfish.webservices.InvokerImpl.invoke(InvokerImpl.java:58)
    at .glassfish.webservices.EjbInvokerImpl.invoke(EjbInvokerImpl.java:58)
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:124)
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:59)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:107)
    at .glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:105)
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:92)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:107)
    at com.sun.enterprise.security.webservices.server.ServerSecurityPipe.processRequest(ServerSecurityPipe.java:178)
    at com.sun.enterprise.security.webservices.server.ServerSecurityPipe.process(ServerSecurityPipe.java:118)
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:92)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:399)
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:832)
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:386)
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:139)
    at .glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:84)
    at .glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:59)
    at .glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:186)
    at .glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:134)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at .glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:198)
    at .glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:149)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:425)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:144)
    at .glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174)
    at .glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153)
    at .glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196)
    at .glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96)
    at .glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51)
    at .glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510)
    at .glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82)
    at .glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83)
    at .glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101)
    at .glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
    at .glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException
    at java.base/java.io.File.<init>(File.java:278)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.createFile(WSATGatewayRM.java:138)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.initStore(WSATGatewayRM.java:130)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:381)
    ... 99 more
javax.transaction.xa.XAException: WSATGatewayRM recover call failed due to StoreException:java.lang.NullPointerException
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:383)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:357)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:344)
    at com.sun.xml.ws.tx.at.tube.WSATClientHelper.processTransactionalRequest(WSATClientHelper.java:146)
    at com.sun.xml.ws.tx.at.tube.WSATClientHelper.doHandleRequest(WSATClientHelper.java:60)
    at com.sun.xml.ws.tx.at.tube.WSATClientTube.doProcessRequest(WSATClientTube.java:73)
    at com.sun.xml.ws.tx.at.tube.WSATClientTube.processRequest(WSATClientTube.java:62)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.client.Stub.process(Stub.java:431)
    at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:160)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:62)
    at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:132)
    at jdk.proxy74/jdk.proxy74.$Proxy423.create(Unknown Source)
    at negocio.x.SAX.create(SAX.java:84)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at .glassfish.exousia.AuthorizationService.lambda$invokeBeanMethod$1(AuthorizationService.java:506)
    at .glassfish.exousia.AuthorizationService.runInScope(AuthorizationService.java:586)
    at .glassfish.exousia.AuthorizationService.invokeBeanMethod(AuthorizationService.java:506)
    at .glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:297)
    at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4193)
    at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:604)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:553)
    at .jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:87)
    at .jboss.weld.module.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:766)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:553)
    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:122)
    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:99)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:766)
    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:706)
    at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:307)
    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4168)
    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4158)
    at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:155)
    at jdk.proxy72/jdk.proxy72.$Proxy419.create(Unknown Source)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at .glassfish.webservices.InvokerImpl.invoke(InvokerImpl.java:58)
    at .glassfish.webservices.EjbInvokerImpl.invoke(EjbInvokerImpl.java:58)
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:124)
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:59)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:107)
    at .glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:105)
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:92)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:107)
    at com.sun.enterprise.security.webservices.server.ServerSecurityPipe.processRequest(ServerSecurityPipe.java:178)
    at com.sun.enterprise.security.webservices.server.ServerSecurityPipe.process(ServerSecurityPipe.java:118)
    at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:92)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1106)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1020)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:989)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:847)
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:399)
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:832)
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:386)
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:139)
    at .glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:84)
    at .glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:59)
    at .glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:186)
    at .glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:134)
    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
    at .glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:198)
    at .glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:149)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:425)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:144)
    at .glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174)
    at .glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153)
    at .glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196)
    at .glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118)
    at .glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96)
    at .glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51)
    at .glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510)
    at .glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82)
    at .glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83)
    at .glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101)
    at .glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
    at .glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException
    at java.base/java.io.File.<init>(File.java:278)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.createFile(WSATGatewayRM.java:138)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.initStore(WSATGatewayRM.java:130)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.recover(WSATGatewayRM.java:381)
    ... 99 more

This is the error reported by the server (in a loop):

WS-AT recovery is enabled but WS-AT is not ready for runtime.  Processing WS-AT recovery log files...|#]
  recover() flag=25165824|#]
  WSATGatewayRM.initStore path:null|#]

本文标签: soapWSAtomic with Metro 404 and GlassFish 7015Stack Overflow