如何通过Java SE调用具有强制性事务的JAX-WS Web服务?

时间:2018-11-02 14:23:40

标签: java ejb jax-ws

有一个表示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服务时客户端必须处于事务中。我尝试在线搜索解决方案,但无济于事。有什么方法可以完成这项任务?

0 个答案:

没有答案