Esta regra detecta a presença de serviços da web JAX-RPC com base nos seguintes critérios:
- A presença do arquivo, web-services.xml
- A presença do arquivo, weblogic-webservices.xml
e do arquivo webservices.xml na mesma pasta
Solução manual
Para gerar serviços da Web JAX-RPC com base em WebLogic J2EE descritores de implantação de serviços da Web, você deve criar manualmente um script Ant usando IBM® Ant tarefas específicas. O script deve ser adicionado à pasta raiz do projeto se ainda não existir um arquivo gerado pelo IBM Ant. Essas tarefas lidar com a geração dos serviços da Web JAX-RPC a partir dos descritores de implantação.
Propriedades da regra
Você deve fornecer os valores corretos para as propriedades da regra para garantir resultados precisos durante a análise. Essas propriedades devem ser revisadas e configuradas adequadamente com base no contexto de seu aplicativo. As propriedades para essa regra são:
- Nome do script Ant gerado
:
Especifica o nome do novo script Ant gerado. O nome do script deve ser um nome de arquivo válido. O valor não deve incluir nenhuma barra para frente ou para trás. O script estará na pasta raiz do projeto.
Valor-padrão: build-ibm-ws.xml
- Nome da pasta de geração:
Especifica o nome da pasta na qual os artefatos de geração irão residir. O valor não deve incluir nenhuma barra normal ou invertida. A pasta de geração estará na pasta-raiz do projeto.
Valor-padrão: ibm-ws-gen
Caminho da classe Ant
O caminho da classe ant é calculado a partir do projeto Eclipse.
É importante verificar se todos os elementos necessários para
compilação estão no caminho da classe do Eclipse.
Os serviços JAX-RPC que estão definidos no arquivo web-services.xml
Com base nas informações e no tipo de serviços definido no web-services.xml, um script Ant
e possivelmente o código Java adicional que representa a interface do terminal de serviço da web é gerado
para reproduzir o serviço JAX-RPC.
- Componentes suportados
Apenas enterprise beans de Sessão Stateless (<stateless-ejb>) e componentes Java(R) (<java-class>)
podem ser reconhecidos e convertidos.
- Componentes do EJB staleless:
O arquivo JAR Enterprise JavaBeans (TM) (EJB), conforme definido no atributo path do elemento <ejb-link>, deve existir no projeto. A correção automatizada verifica o arquivo JAR do EJB e gera uma nova classe SEI (Service Endpoint Interface) (SEI) com base na classe remota do EJB.
As interfaces SEI diferem das interfaces remotas EJB em que a classe deve ser estendida
java.rmi.Remote
e cada método deve lançar a exceção,
java.rmi.RemoteException
.
A correção automatizada usará a reflexão Java na interface remota do EJB para gerar o novo SEI .
Portanto, certifique-se de que o classpath de seu projeto Eclipse inclua todas as classes, os arquivos JAR e os diretórios necessários para carregar com êxito a classe remota do EJB.
O SEI deve ser gerado na pasta sei, dentro da pasta de geração da pasta de geração, conforme fornecido pelo usuário na regra o pacote do SEI corresponde ao pacote da interface remota do EJB e o nome do SEI será o mesmo da interface remota do EJB e o nome do SEI será o mesmo da interface remota do EJB com a palavra SEI anexada a ele. Além disso, a nova pasta SEI é adicionada ao caminho da classe do projeto.
- Componentes da classe Java:
Semelhante aos componentes EJB, a correção automatizada gerará uma interface de ponto de extremidade de serviço da classe Java que é definida no atributo <class-name>.
- Destinos Ant gerados:
O script Ant gerado contém destinos para gerar o arquivo WSDL e o serviço JAX-RPC com base no novo SEI que será criado será criado.
O destino de geração de WSDL terá o nome genWSDL_ssss, em que ssss é o nome do serviço JAX-RPC
que foi fornecido no campo de atributo name do elemento <web-service>.
Os destinos de geração de serviço têm o nome genService_pppp, em que pppp é o nome do componente a partir do atributo name
do elemento <stateless-ejb> ou <java-class>.
A correção automatizada não usará as informações fornecidas em outros elementos, como <handlers-chain>, <types>, <operações>, <segurança> e assim por diante.
Serviços JAXRPC definidos no arquivo webservices.xml
Com base nas informações e nos tipos de serviços definidos no arquivo webservices.xml , um
script Ant é gerado para reproduzir o Serviço JAX-RPC.
- Destinos Ant gerados:
O script Ant gerado contém destinos para gerar o arquivo WSDL e o serviço JAX-RPC.
O destino de geração de WSDL só é gerado se você não puder localizar o arquivo WSDL conforme definido no elemento, <wsdl-file>.
Se ele for criado, o destino da geração do WSDL possui o nome genWSDL_ssss, em que ssss
é o nome do serviço conforme definido no elemento <webservice-description-name>.
Os destinos de geração de serviço terão o nome genService_pppp, em que pppp é o nome
da porta conforme definido pelo elemento <port-component-name>.
Tarefas Ant do IBM WebSphere Application Server
O IBM WebSphere(R) Application Server inclui as tarefas Ant como java2wsdl e wsdl2java para gerar os
artefatos necessários para os serviços JAX-RPC. O script Ant gerado utiliza essas tarefas para construir
o serviço.
Informações adicionais sobre essas tarefas podem ser obtidas na
documentação do WebSphere Application Server.
Executando o script Ant
Depois de produzir o script Ant, visualize o script e adicione personalizações adicionais, se necessário.
Consulte a documentação do servidor de aplicativos sobre customizações adicionais para tarefas do IBM Ant.
Deve-se executar o script usando as ferramentas Ant
incluídas com o WebSphere Application Server. O script IBM Ant
pode ser executado a partir de:
- WAS_HOME\bin\ws_ant.bat nos sistemas operacionais Windows(R)
- WAS_HOME\bin\ws_ant.sh nos sistemas operacionais UNIX(R)
Exemplo: c:\IBM\AppServer\bin\ws_ant.bat -f c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Depois dos destinos Ant serem executados, os artefatos produzidos residem na pasta de geração. O usuário pode então inspecionar o código gerado e os descritores de implementação e, em seguida, incluir esses artefatos em seus módulos.