Для создания веб-сервисов мы используем подход Apache CXF, основанный на коде. У нас есть специальный заголовок мыла для передачи учетных данных пользователя.
Я пытаюсь передать пользовательские данные в SEI с помощью аннотации @webparam.
Это две операции в классе Service.
@Path("/item/{id}")
@GET
public Item getItem(@PathParam("id") String id,
@WebParam(name="userDetails", header=true, mode=Mode.IN) UserDetails details) throws NotFoundException;
@Path("/name/{id}")
@GET
public Item getItemByName(@PathParam("id") String id,
@WebParam(name="userDetails", header=true, mode=Mode.IN) UserDetails details) throws NotFoundException;
Enunciate при генерации wsdl выдает ошибку, говорящую
D: \ workspace \ myService \ src \ main \ java \ com \ ws \ api \ ItemPublicationWebService.java: 52: [xml] Веб-метод определяет часть сообщения с именем 'userDetails', которая идентична названию сети часть сообщения, определенная в D: \ workspace \ myService \ src \ main \ java \ com \ ws \ api \ ItemPublicationWebService.java: 41. Пожалуйста, используйте аннотации для устранения неоднозначности.
Я обнаружил, что сохранение уникального имени webParam приведет к созданию wsdl. Но это не ожидаемый результат.
Что мне здесь не хватает?