Это правило определяет наличие веб-служб JAX-RPC, используя следующие критерии:
- Наличие файла web-services.xml
- Наличие файла weblogic-webservices.xml и файла webservices.xml в одной папке
Ручное решение
Чтобы сгенерировать веб-сервисы JAX-RPC на основе дескрипторов развертывания веб-сервисов WebLogic J2EE, необходимо вручную создать сценарий 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 и генерирует новый класс Service Endpoint Interface (SEI) на основе удаленного класса EJB.
Интерфейсы SEI отличаются от удаленных интерфейсов EJB в том, что класс должен расширять
java.rmi.Remote
, и каждый метод должен выбрасывать исключение,
java.rmi.RemoteException
.
Автоматическое исправление будет использовать Java отражение на удаленном интерфейсе EJB удаленного интерфейса для генерации нового SEI .
Поэтому убедитесь, что в пути классов вашего проекта Eclipse указаны все необходимые классы, JAR-файлы и каталоги, необходимые для успешной загрузки удаленного класса EJB.
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>, <операции>, <безопасность> и так далее.
Службы 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 все созданные артефакты будут расположены в папке создаваемых элементов.
Пользователь может проверить сгенерированный код и файлы описания, а
затем добавить эти артефакты в свои модули.