A validação da JAX-RPC Conversion Tool determinou que um serviço da Web JAX-RPC nessa verificação é um bom candidato para a conversão de origem para JAX-WS usando o JAX-RPC to JAX-WS Source Migration Helper ou a conversão binária para JAX-WS usando a JAX-RPC Conversion Tool conversão binária para JAX-WS usando a ferramenta de conversão JAX-RPC.
Esta regra sinaliza o uso de quaisquer arquivos de configuração e pacotes específicos do JAX-RPC. Além disso, esta regra sinalizará qualquer uso da tag jaxrpc-mapping-file nos arquivos de Mapeamento XML. A tabela a seguir lista os pacotes Java, arquivos de configuração e arquivos de mapeamento XML impactados por esta regra:
Pacotes |
Arquivos de Configuração |
Arquivos de Mapeamento XML |
|---|---|---|
|
|
|
A Java API for XML-based RPC (JAX-RPC) não é suportada no Liberty ou no Liberty Core. A tecnologia foi descontinuada no WebSphere Application Server tradicional V9.0 e poderá ser removida em uma versão mais recente. O caminho de migração estratégica é usar o JAX-WS. O esforço relativo mudará com base no caminho de migração escolhido:
A tabela a seguir compara as cinco opções de acordo com os fatores que podem afetar seu projeto.
Fatores do projeto |
Opção 1Migrar serviços da Web JAX-RPC para serviços da Web JAX-WS usando o JAX-RPC Source Migration Helper |
Opção 2Migrar serviços da web JAX-RPC para serviços da web JAX-WS usando a ferramenta de conversão JAX-RPC |
Opção 3Migrar os serviços da web JAX-RPC para os serviços da web JAX-WS manualmente |
Opção 4Usando o mecanismo JAX-RPC do Apache Axis 1 no Liberty |
Opção 5Usando o WebSphere Application Server tradicional com seu mecanismo JAX-RPC nativo |
|---|---|---|---|---|---|
|
Solução suportada |
True O JAX-WS é suportado como um recurso configurável em todas as edições Liberty, exceto o Liberty Core. |
True O JAX-WS é suportado como um recurso configurável em todas as edições Liberty, exceto o Liberty Core. Faça download da ferramenta de conversão JAX-RPC do WebSphere Liberty para Maven e Gradle. |
True O JAX-WS é suportado como um recurso configurável em todas as edições Liberty, exceto o Liberty Core. |
Não O Axis 1 não é suportado. |
True O JAX-RPC é suportado no WebSphere Application Server tradicional. |
|
Solução estratégica |
True O JAX-WS é estratégico para todas as edições Liberty, exceto Liberty Core. |
True O JAX-WS é estratégico para todas as edições Liberty, exceto Liberty Core. |
True O JAX-WS é estratégico para todas as edições Liberty, exceto Liberty Core. |
Não O Axis 1 não está mais em desenvolvimento. |
Não JAX-RPC foi descontinuado no WebSphere Application Server tradicional e poderá ser removido em uma versão mais recente. |
|
Complexidade de implementação |
Média O aplicativo foi validado para uso do JAX-RPC Source Migration Helper. Os serviços JAX-RPC podem ser convertidos em serviços da Web JAX-WS por essa ferramenta no código-fonte do seu aplicativo. |
Baixa O aplicativo foi validado para uso da ferramenta de conversão JAX-RPC. Os serviços JAX-RPC podem ser convertidos em serviços da Web JAX-WS no arquivo binário com essa ferramenta. |
Alta Esta opção pode ser complexa para um grande número de clientes e serviços da web JAX-RPC. Sem usar a ferramenta de conversão JAX-RPC para portar serviços JAX-RPC para JAX-WS, são necessárias muitas mudanças na base de código. |
Baixa Se o aplicativo já estiver usando o Axis 1, essa opção não será complexa. Caso contrário, essa opção será de complexidade média. |
Média Migrar os serviços da web JAX-RPC para um mecanismo diferente preserva a maioria do código-base. |
|
Recursos avançados |
True JAX-WS fornece vários recursos avançados, como Anotações, Ligação JAXB e SOAP 1.2. |
True JAX-WS fornece vários recursos avançados, como Anotações, Ligação JAXB e SOAP 1.2. |
True JAX-WS fornece vários recursos avançados, como Anotações, Ligação JAXB e SOAP 1.2. |
Não O JAX-RPC não possui muitos dos recursos avançados contidos no JAX-WS. |
Não O JAX-RPC não possui muitos dos recursos avançados contidos no JAX-WS. |
|
Conformidade de especificação |
True |
True |
True |
True Embora o JAX-RPC ainda faça parte da especificação Java EE, ele está descontinuado no Java EE 6. |
True Embora o JAX-RPC ainda faça parte da especificação Java EE, ele está descontinuado no Java EE 6. |
|
Recomendação |
Use essa opção se você tiver direito ao IBM Application Modernization Accelerator Developer Tools. Essa é a única opção que fornece assistência automatizada para a migração do código-fonte do aplicativo para o JAX-WS. |
Use esta opção se o aplicativo atender aos requisitos da ferramenta de conversão JAX-RPC. Essa ferramenta converte apenas arquivos binários. |
Use esta opção se você tiver alguns serviços da web JAX-RPC e o aplicativo não atender aos requisitos da ferramenta de conversão JAX-RPC. |
Use essa opção se seus serviços da web JAX-RPC já são executados no Axis 1. |
Use essa opção se seus serviços da web JAX-RPC já estiverem em execução no WebSphere Application Server tradicional ou se você tiver muitos serviços da web JAX-RPC que ainda não estão em execução no Axis 1. |
O JAX-RPC Source Migration Helper está disponível em IBM Application Modernization Accelerator Developer Tools. Essa ferramenta ajudará na transformação de serviços JAX-RPC legados em JAX-WS no código-fonte do aplicativo. Para obter mais informações, consulte Application Modernization Accelerator Developer Tools visão geral.
Faça o download da ferramenta de conversão JAX-RPC em WebSphere Liberty Ferramenta de conversão JAX-RPC para Maven e Gradle para migrar o arquivo binário.
Para obter informações sobre a migração de aplicativos do JAX-RPC para o JAX-WS usando a ferramenta de conversão JAX-RPC, consulte Migrando aplicativos do JAX-RPC para o Liberty usando o Maven ou Migrando aplicativos do JAX-RPC para o Liberty usando o Gradle na documentação on-line.
Para obter informações sobre a migração de aplicativos do JAX-RPC para o JAX-WS, consulte Cenários de migração de serviços da web: JAX-RPC para JAX-WS e JAXB na documentação on-line.
Para obter mais informações sobre as diferenças entre o JAX-RPC e o JAX-WS, consulte Modelo de implementação de aplicativos JAX-WS.
Se você já usa o Axis 1, para usá-lo no Liberty, deve-se incluir as bibliotecas do Axis 1 no caminho da classe do Liberty.
Se você usar um JAX-RPC integrado, será possível converter seus serviços da web para usar o Axis 1. O procedimento a seguir descreve como migrar um serviço web a partir do Red Hat para o Axis 1.
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
Para obter mais informações sobre este comando, consulte Referência do WSDL2Java no website do Apache.
Para obter mais informações sobre elementos de configuração do WSDD, consulte Referência de implementação (WSDD) no website do Apache.
Por exemplo, o método a seguir possui uma consulta do JNDI:
A consulta deve ser substituída:
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {Se você deseja usar o mecanismo JAX-RPC do WebSphere Application Server, deve-se usar o WebSphere Application Server tradicional. O Liberty não suporta JAX-RPC. Se você deseja usar o Liberty, deve-se escolher uma das outras opções.
Se arquivos de configuração do JAX-RPC forem detectados, mas não houver nenhum uso detectado da API Java JAX-RPC dentro desse aplicativo, os arquivos de configuração poderão ser de um uso anterior da tecnologia JAX-RPC que não é mais necessário. A configuração não utilizada pode ser removida.