Это правило определяет наличие веб-служб 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 все созданные артефакты будут расположены в папке создаваемых элементов.
Пользователь может проверить сгенерированный код и файлы описания, а
затем добавить эти артефакты в свои модули.