Web services WS-client超时时的Java EE事务行为

Web services WS-client超时时的Java EE事务行为,web-services,jakarta-ee,soap,transactions,ejb,Web Services,Jakarta Ee,Soap,Transactions,Ejb,我已经发布了使用JavaEE和JAX-WS绑定到HTTP传输的同步SOAP web服务。如果web服务使用者在服务方法返回之前超时,JavaEE规范是否强制JTA事务回滚 在从服务方法返回之前,我强制客户端超时70秒,这导致SoapUI上出现java.net.SocketTimeoutException:Read timeout异常。web服务事务确实在返回后回滚 这种行为是JavaEE规范强制要求的,期望客户端TCP确认提交事务吗?如果是,具体的协议是什么?或者这是一种更特定于SoapUI的情

我已经发布了使用JavaEE和JAX-WS绑定到HTTP传输的同步SOAP web服务。如果web服务使用者在服务方法返回之前超时,JavaEE规范是否强制JTA事务回滚

在从服务方法返回之前,我强制客户端超时70秒,这导致SoapUI上出现
java.net.SocketTimeoutException:Read timeout
异常。web服务事务确实在返回后回滚

这种行为是JavaEE规范强制要求的,期望客户端TCP确认提交事务吗?如果是,具体的协议是什么?或者这是一种更特定于SoapUI的情况,它不适用于所有客户机


为了澄清,我试图模拟一个场景,其中服务响应期间的网络延迟或故障导致客户端超时。

事务与超时无关。要提交的事务的任务是bean方法是否正常返回。如果异常返回,无论是由于内部错误还是超时异常,事务都将回滚

通过将异常包装到标有
@ApplicationException(rollback=false)


事务与超时无关。要提交的事务的任务是bean方法是否正常返回。如果异常返回,无论是由于内部错误还是超时异常,事务都将回滚

通过将异常包装到标有
@ApplicationException(rollback=false)


你所要求的不能真正做到。或者尝试异步调用。或者,您可以提供另一项服务,客户可以通过该服务询问交易是否成功

你所要求的不能真正做到。或者尝试异步调用。或者,您可以提供另一项服务,客户可以通过该服务询问交易是否成功