Из того, что я помню, «TransactionAttributeType.REQUIRED» означает, что метод должен вызываться только тогда, когда транзакция уже выполняется для текущего потока (другими словами «вызывается в контексте транзакции»).Не ясно, кто, если кто-нибудь начнет транзакцию в вашем случае.Если никто, то исключение, которое вы получаете, имеет смысл.
Теперь я не уверен, как или вообще возможно в настоящее время распространять транзакции через вызов Web-сервисов.Я не думаю, что это особенно хорошая идея, даже если это возможно.
Возможно, вам нужен TransactionAttributeType.REQURES_NEW в вашем случае, чтобы Container запускал транзакцию перед передачей управления вашему аннотированному методу?