有一个表示JAX-WS Web服务的EJB无状态bean,它具有以下注释:
@Transactional(value = Transactional.TransactionFlowType.MANDATORY, version = Transactional.Version.DEFAULT)
我需要从Java SE应用程序调用该Web服务(实际上是从可执行jar调用,不确定它是否会更改)。我已经使用wsimport
生成了必需的类,但是在调用Web服务时收到以下错误:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: transaction context is required to be inflowed
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:117)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:135)
据我了解,调用Web服务时客户端必须处于事务中。我尝试在线搜索解决方案,但无济于事。有什么方法可以完成这项任务?