Это правило определяет наличие веб-служб JAX-RPC, используя следующие критерии:
- Наличие файла web-services.xml
- Наличие файла weblogic-webservices.xml и файла webservices.xml в одной папке
Быстрое исправление
В результате применения этого правила в сканере исходного кода создается сценарий Ant с рядом задач IBM(R) Ant.
Эти задачи создают веб-службы JAX-RPC на основе файлов описания веб-служб J2EE WebLogic.
Быстрое исправление сканирует файлы описания веб-служб и создает сценарий Ant,
если в корневой папке проекта нет файла, созданного IBM Ant. Сценарий содержит задачи IBM Ant для создания веб-служб JAX-RPC.
Свойства правила
Необходимо задать правильные значения в свойствах правила. Для изменения
значений свойств выберите правило в окне Конфигурации анализатора ПО. Затем заполните поля на вкладке Свойства. Для этого правила предусмотрены следующие свойства:
- Имя создаваемого сценария Ant:
Задает имя создаваемого сценария Ant. Это имя должно являться допустимым именем файла.
Значение не должно содержать прямую или обратную косую черту. Сценарий создается в корневой папке проекта.
Значение по умолчанию: build-ibm-ws.xml
- Создать в папке:
Задает имя папки, в которой будут находится созданные артефакты.
Значение не должно содержать прямую или обратную косую черту. Указанная папка будет находиться в корневой папке проекта.
Значение по умолчанию: ibm-ws-gen
Путь к классу Ant
Путь к классу Ant формируется исходя из конфигурации проекта Eclipse.
Необходимо убедиться в том, что в пути к классам Eclipse заданы все элементы,
необходимые для его формирования.
Службы JAX-RPC, определенные в файле web-services.xml
Исходя из набора и типа служб, определенных в файле
web-services.xml, генерируется сценарий Ant и,
при необходимости, дополнительный код Java, представляющий интерфейс конечной
точки веб-службы, для воспроизведения аналогичной службы JAX-RPC.
- Поддерживаемые компоненты
Распознаются и преобразуются только сеансовые EJB без сохранения состояния (<stateless-ejb>) и компоненты Java(R) (<java-class>).
- Компоненты EJB без сохранения состояния:
В проекте должен существовать файл JAR Enterprise JavaBeans(TM) (EJB), заданный
в атрибуте path элемента <ejb-link>. Процедура быстрого исправления
сканирует файл JAR EJB и создает класс интерфейса конечной точки службы (SEI)
на основе удаленного класса EJB.
Интерфейсы SEI отличаются от удаленных интерфейсов EJB в том, что класс должен расширять
java.rmi.Remote
, и каждый метод должен выбрасывать исключение,
java.rmi.RemoteException
.
Процедура быстрого исправления создает SEI, применяя механизм рефлексии Java для удаленного интерфейса EJB.
Для того чтобы процедура быстрого исправления смогла корректно загрузить
удаленный класс EJB, путь к классам проекта Eclipse должен содержать все необходимые классы, файлы JAR, папки и т. п.
SEI создается в папке sei, расположенной в папке создаваемых элементов, заданной пользователем в свойствах правила.
Пакет SEI совпадает с пакетом удаленного интерфейса EJB, а имя SEI
представляет собой имя удаленного интерфейса EJB с добавленным в конец словом
SEI. Папка нового SEI добавляется в путь к классам проекта.
- Компоненты классов Java:
Как и в случае компонентов EJB, процедура быстрого исправления создает
интерфейс конечной точки службы на основе класса Java, определенного в атрибуте
<class-name>.
- Создаваемые цели Ant:
Созданный сценарий Ant содержит цели для генерации файла WSDL и
службы JAX-RPC на основе нового SEI, созданного процедурой быстрого исправления.
Цель для генерации WSDL будет иметь имя genWSDL_ssss, где
ssss - имя службы JAX-RPC, указанное в атрибуте name элемента
<web-service>.
Цели для генерации служб имеют имя вида genService_pppp, где
pppp - имя компонента из атрибута name элемента
<stateless-ejb> или <java-class>.
Процедура быстрого исправления не использует информацию из других элементов, таких как <handlers-chain>, <types>,
<operations>, <security> и т. п.
Службы JAXRPC, определенные в файле webservices.xml
Исходя из набора и типа служб, определенных в файле
webservices.xml, создается сценарий Ant,
воспроизводящий службу JAX-RPC.
- Создаваемые цели Ant:
Созданный сценарий Ant содержит цели для генерации файла WSDL и
службы JAX-RPC.
Цель для генерации WSDL создается только в том случае, если в
ходе быстрого исправления не удалось найти файл WSDL, определенный в элементе
<wsdl-file>.
Если это необходимо, то создается цель для генерации WSDL с
именем genWSDL_ssss, где ssss - имя службы, определенное в элементе
<webservice-description-name>.
Цели для генерации служб имеют имя вида genService_pppp, где pppp - имя порта, определенное в элементе <port-component-name>.
Задачи Ant IBM WebSphere Application Server
В WebSphere(R) Application Server предусмотрены задачи Ant, такие как java2wsdl
и wsdl2java, позволяющие сгенерировать необходимые артефакты для служб JAX-RPC. Созданный сценарий Ant использует эти задачи для создания службы.
Дополнительную информацию по этим задачам можно получить в
Документация поWebSphere Application Server .
Запуск сценария Ant
После того как процедура быстрого исправления создаст сценарий Ant, просмотрите сценарий и внесите в него необходимые изменения.
Дополнительная настройка задач IBM Ant приведена в документации по серверу приложений.
Сценарий необходимо запустить с помощью инструментов Ant , которые входят в состав WebSphere Application Server. Сценарий IBM Ant можно запустить из:
- WAS_HOME\bin\ws_ant.bat в операционных системах Windows(R)
- WAS_HOME\bin\ws_ant.sh в операционных системах UNIX(R)
Например: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
После выполнения целей Ant все созданные артефакты будут расположены в папке создаваемых элементов.
Пользователь может проверить сгенерированный код и файлы описания, а
затем добавить эти артефакты в свои модули.