2013-05-23 4 views
0

Я пытаюсь использовать плагин axis2-wsdl2code-maven для автоматического создания файлов классов на стороне сервера из wsdl. Я не уверен, как реализовать SkeletonInterface для вызова бизнес-логики. Существует автоматически сгенерированный файл Skeleton, который реализует интерфейс, но в нем есть нереализованный метод. Проблема в том, что мне не разрешено изменять файлы автогенератов, поэтому не уверен, как реализовать этот метод.Уточнение при использовании axis2-wsdl2java-approach

Ниже приведены вещи, которые я пробовал:

несколько вопросов, которые я столкнулся:

я. Попробовал переименовать класс реализации интерфейса и вызвать его через service.xml, но новый impl не вызывался. (AuthenticatedServicesValidSkeletonImpl.java)

ii. Пытался расширить класс Skeleton, но при запуске приложения получил исключение нулевого указателя, и из журналов не было ничего, что можно было бы получить.

iii. Пробовал cfx-плагин для автоматического генерации классов, но получал в нем похожие проблемы.

Пожалуйста, помогите в этом.

ответ

0

Вам необходимо поместить свою бизнес-логику в не реализованный метод в AuthenticatedServicesValidSkeletonImpl.java. Это предоставит вам POJO запроса, и в конце вам нужно вернуть POJO ответа, который затем будет сериализован в ответ WebService. Объекты Request and Response уже созданы WSDL2java, вам просто нужно их использовать.

+0

Благодарим за входы. Я пробовал это, и он работает, если я помещаю свою бизнес-логику в автогенерируемый файл. Но проблема в том, что мне не разрешено изменять файлы автогенера в соответствии с моими стандартами клиентов, поэтому не знаю, как реализовать этот метод. Любая идея о том, как писать и использовать пользовательские файлы, которые могут использовать эти файлы автогенератов, как есть. –

+1

Можете ли вы привести пример того, что мешает вам использовать сгенерированные файлы? –

+0

Файл автогенера имеет метод, а содержание метода выглядит следующим образом: 'throw new java.lang.UnsupportedOperationException (« Провести реализацию »+ this.getClass(). GetName() +« #xxx ») ; ' В моем проекте мы используем SONAR для проверки CQA, и согласно стандартам WebService, описанным здесь, мы не должны редактировать автоматически сгенерированные файлы. Поэтому я не уверен, как расширить/реализовать этот класс, а затем использовать этот файл автогенератора во время выполнения для завершения потока. –

Смежные вопросы