Как вызвать веб-сервис JAX-WS с обязательной транзакцией из Java SE? - PullRequest
0 голосов
/ 02 ноября 2018

Существует EJB-компонент без сохранения состояния, представляющий веб-сервис JAX-WS, который имеет следующую аннотацию:

@Transactional(value = Transactional.TransactionFlowType.MANDATORY, version = Transactional.Version.DEFAULT)

Мне нужно вызвать этот веб-сервис из приложения Java SE (на самом деле, из исполняемого файла jar, не уверен, что он что-то изменит). Я сгенерировал обязательные классы, используя wsimport, но при вызове веб-службы получаю следующую ошибку:

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)

Насколько я понимаю, клиент должен участвовать в транзакции при вызове веб-службы. Я пытался найти решение в Интернете, но безрезультатно. Как можно решить эту задачу?

...