Я нашел причину своей проблемы.
Эта проблема возникает из-за того, что JAX-WS генерирует класс для каждого метода, а имя класса создается путем объединения methodName
+ "Response"
. В моем случае вновь сгенерированный класс JAX-WS будет иметь то же имя, что и мой объект ответа.
Пример:
@Stateless
@WebService()
public class AccountWS {
@WebMethod()
public CreateAccountResponse createAccount(@WebParam(name = "request") CreateAccountRequest request) {
return null;
}
}
JAX-WS создаст новый класс CreateAccountResponse
для веб-метода createAccount
, имя которого совпадает с именем объекта ответа.
Решение:
Убедитесь, что имя объекта и метода ответа не совпадают. То же самое относится и к параметру метода.