Problemas Conhecidos do Mecanismo de Asserção EBS

Problemas conhecidos para trabalhar com o EBS Asserter no serviço IAM.

Resolver um erro de privilégios insuficientes

Após a autenticação do IAM, em vez de obter acesso ao Oracle EBS, o usuário é redirecionado de volta ao EBS com a mensagem de erro You have insufficient privileges for the current operation. O usuário é solicitado a se conectar novamente.

Geralmente, quando o aplicativo Oracle EBS lança esse erro, isso significa que o cookie foi definido com um domínio incorreto. Para confirmar isso, verifique o log de depuração do EBS Asserter, que você pode encontrar em <HOME DIR>/ebsasserter.log. Para

Aug 22, 2018 2:26:34 PM oracle.apps.fnd.ext.common.EBiz init
FINE: Ebiz init(): sessionCookieDomain =.oracle.com ; protocol=https:; ssoCookieName= ORASSO_AUTH_HINT

Neste exemplo, o log de depuração do EBS Asserter mostra que sessionCookieDomain tem um valor incorreto, sendo definido como .oracle.com.

O ICX_PARAMETERS.SESSION_COOKIE_DOMAIN não deve ser definido com nenhum valor.

  1. Atualize a definição SESSION_COOKIE_DOMAIN em ICX_PARAMETERS
    SQL> select SESSION_COOKIE_DOMAIN from ICX_PARAMETERS;
    
    SESSION_COOKIE_DOMAIN
    ------------------------------
    .oracle.com
  2. Defina session_cookie_domain como NULL em ICX_PARAMETERS
    update ICX_PARAMETERS set SESSION_COOKIE_DOMAIN = NULL;
    commit;
  3. Reinicie todos os serviços.
  4. Teste o problema novamente.

Resolver erro interno do servidor ao fazer logout

Quando você faz log-out do Oracle EBS, o browser gera uma mensagem de erro Internal Server Error.

Esse problema acontece porque há uma versão antiga do AppsLogoutRedirect.java no Oracle EBS.

Verifique o cabeçalho de AppsLogoutRedirect.java no Oracle EBS para ver o número da versão, por exemplo

adident Header $JAVA_TOP/oracle/apps/fnd/sso/AppsLogoutRedirect.class
$Header AppsLogoutRedirect.java 120.10.12010000.7 2010/01/19 20:18:52 rsantis ship $

Resolva isso aplicando a Atualização Crítica de Patches mais recente do Oracle E-Business Suite Release 12 de janeiro de 2013 ou uma versão mais recente. Essa Atualização de Patch Crítico permite que AppsLogoutRedirect.java aproveite os perfis APPS_SSO e APPS_AUTH_AGENT. Verifique o Documento de Conhecimento (Julho de 2018) (Doc ID 2379675.1) para obter informações sobre como aplicar esse patch.

Corrigir um Problema de Sincronização de Tempo

Enquanto você está acessando o URL do aplicativo EBS Asserter, o fluxo de acesso do aplicativo Oracle EBS resultou em um erro interno do servidor.

O rastreamento de cabeçalho HTTP é semelhante a este

GET https://xxxxxxxxxxxxxxxxxx.oracle.com:7002/ebs/response?code=AQIDBAVcZbun_M5qU4-t9LUCYDjAOgWYiDOrf1Kb5ndbWAEYd05C-uxDfSwP8Ejfn51WT-gTuYj6bLFFYAFHQEqgYy26MTEgRU5DUllQZZIIFFVElPTl9LRVkxNCB7djF9NCAFFFABCDEF= HTTP/1.1

Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request

O session_exp é definido como 1537715029. Use EpochConverter para converter o horário da época atual do Unix em uma data e hora legíveis. Assim, o tempo de expiração no token é definido como Sunday, September 23, 2018 3:03:49 PM GMT. No entanto, a hora no log de domínio do EBS Asserter é Sep 23, 2018 6:53:31,380 PM AST. Observe que a Hora de Greenwich é 4 horas à frente do Horário Padrão do Atlântico. Assim, o tempo definido é Sep 23, 2018 10:53:31 PM GMT.

O sistema em que o EBS Asserter está implantado não está sincronizado no tempo com o IAM e, como resultado, o token transmitido pelo IAM está efetivamente fora do período de validade e, portanto, o erro de Token Expirado.

Certifique-se de que a data e a hora no sistema em que o EBS Asserter está implantado estejam sincronizadas no tempo com os servidores NTP e, portanto, com o host do IAM.

Tratar Erro de Java ExceptionInInitializerError

Enquanto você está acessando o URL do aplicativo EBS Asserter, o aplicativo Oracle EBS gera o erro java.lang.ExceptionInInitializerError.

O log de depuração do EBS Asserter mostra o seguinte erro de Java

<Feb 26, 2019 2:17:16,884 PM PST> <Error> <HTTP> <BEA-101020> 
<[ServletContext@2100554246[app:ebs module:ebs.war path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.ExceptionInInitializerError
at com.oracle.ebs.sso.ConnectionProvider.getConnection(ConnectionProvider.java:36)
at com.oracle.ebs.sso.RequestWrapperFilter.doFilter(RequestWrapperFilter.java:34)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78

Isso ocorre por causa de definições incorretas no arquivo bridge.properties. Verifique o arquivo bridge.properties e se ele tem a configuração exigida. Além disso, verifique se o caminho especificado em wallet.path no arquivo bridge.properties é válido.

Tratar Erro de Java RuntimeException

Enquanto você está acessando o URL do aplicativo EBS Asserter, o aplicativo Oracle EBS gera o erro java.lang.RuntimeException.

O log de depuração do EBS Asserter mostra o seguinte erro de Java

<Feb 26, 2019 2:01:33,454 PM PST> <Error> <HTTP> <BEA-101020> 
<[ServletContext@1207779454[app:ebs module:ebs.war path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.RuntimeException: javax.naming.NameNotFoundException: Unable to resolve 'visionDS1'. Resolved ''; remaining name 'visionDS1'
at com.oracle.ebs.sso.ConnectionProvider.getConnection(ConnectionProvider.java:42)
at com.oracle.ebs.sso.RequestWrapperFilter.doFilter(RequestWrapperFilter.java:34)

Para resolver isso, defina o valor ebs.ds.name como igual ao nome da origem de dados criada em WebLogic.

Corrija um Problema de Deep Link

Após a autenticação do IAM, em vez de obter acesso ao Oracle EBS, o usuário é redirecionado de volta ao EBS com a mensagem de erro You have insufficient privileges for the current operation. O usuário é solicitado a se conectar novamente.

Isso pode acontecer porque o link profundo não está funcionando.

Verifique se a propriedade de ponte whitelist.urls está configurada. Se o problema persistir, especifique os números de porta explicitamente na configuração whitelist.urls. Por exemplo, whitelist.urls=http://ebs.oracle.com:80/OA_HTML….

Além disso, verifique o Nome do Cookie do ID JSESSION do Aplicativo E-Business Suite Asserter no arquivo weblogic.xml. Se houver outro aplicativo web no WebLogic com o mesmo nome de cookie, isso causará um conflito.

Problemas durante o Sign-out

Se você encontrar problemas durante o processo de sign-out, verifique o valor do parâmetro do URL de Redirecionamento Pós-Log-out no serviço IAM e o valor do parâmetro post.logout.url no arquivo bridge.properties.

O post.logout.url no arquivo bridge.properties é um parâmetro opcional e por padrão você não precisa fornecer um valor. Você usa esse parâmetro para fazer com que o aplicativo EBS Asserter redirecione o navegador do usuário para o URL especificado depois que o EBS Asserter concluir o processo de sign-out.

Se ativado, o valor de post.logout.url no arquivo bridge.properties deverá corresponder ao valor do parâmetro do URL de Redirecionamento Após Log-out para o aplicativo EBS Asserter no serviço IAM.

  1. Abra o aplicativo EBS Asserter no serviço IAM e atualize o valor do URL de Redirecionamento Após Log-out.
  2. Abra o arquivo ebs.war, atualize o arquivo bridge.properties, gere novamente o arquivo war e reimplante o arquivo no servidor WebLogic. Certifique-se de que o valor desse parâmetro corresponda ao parâmetro URL de Redirecionamento Após Log-out no serviço IAM.

Erro de Cliente Inválido com Falha na Autenticação do Cliente

Você obtém um erro que incluiu invalid_client e a autenticação do Cliente falhou, como este

<Error> <oracle.security.jps.idcsbinding.shared.AuthenticationManagerImpl> <BEA-000000> <getting error from server>

oracle.security.jps.idcsbinding.shared.AuthenticationManagerImpl clientCredentials

SEVERE: {"error":"invalid_client","error_description":"Client authentication failed.","ecid":"xxxx-xxxx-xxxx-xxxx-xxxx-xxxx"}
  1. Verifique o ID do Cliente e o Segredo do Cliente gerados no Aplicativo Confidencial do IAM.
  2. Gere novamente o arquivo de wallet usando o ID do Cliente e o Segredo do Cliente corretos.
  3. Reimplante o arquivo asserter.war nos Weblogic Servers.

Perfis principais do Oracle EBS não disponíveis para edição

Você recebe um erro informando que os perfis principais do Oracle EBS não estão disponíveis para edição. Para resolver isso:

  1. No Oracle EBS, vá para a página Administração do Oracle Applications no Oracle EBS. Clique na guia Serviços Básicos e, em seguida, clique na guia Arquivos.
  2. Quando o aplicativo Oracle EBS não contém valor, o botão de edição é desativado.
  3. Clique em Definir Perfil e informe valores de perfil.

O EBS Asserter não pode se conectar ao Oracle EBS com erro de autorização

Você recebe uma mensagem que inclui
The Applications user,
          EBSASSERTER is not authorized to access the database
como este.
<Error> <Deployer> <wahatast> <AdminServer> <[STANDBY] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <c596f25b-e3d0-42e2-81a9-682c623d2d1c-00000162> <1677049594045> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-149265> 
<Failure occurred in the execution of deployment request with ID "24806329095989206" for task "weblogic.deploy.configChangeTask.2" on [partition-name: DOMAIN]. 
Error is: "weblogic.application.ModuleException: weblogic.common.ResourceException: ORA-20001: Oracle error -20001: The Applications user, EBSASSERTER is not authorized to access the database. has been detected in FND_SECURITY_PKG.FND_ENCRYPTED_PWD_X.

Este erro ocorre quando o usuário asserter presente no Aplicativo EBS não recebeu a atribuição correta. Acesse o aplicativo Oracle EBS e forneça a atribuição APPS_CONNECT_SCHEMA ao usuário asserter.

Uso de Conexão Ativa JDBC para o EBS Asserter no Weblogic

O EBS Asserter usa o serviço JNDI dentro do servidor WebLogic para criar conexões de BD com o Oracle EBS DB. Com o tempo, o número de conexões continua aumentando e as sessões inativas são fechadas. Isso faz com que o pool de conexões fique cheio e não seja possível fazer novas conexões com o Oracle EBS DatabaseThis resulta em um erro de conexão no EBS Asserter.

<Error> <HTTP> <BEA-101017> <[ServletContext@784524422[app:ebs module:ebs.war path:null spec-version:3.1]] Root cause of ServletException.
weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool PAVCRIDS to allocate to applications, please increase the size of the pool and retry..
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:280)
at weblogic.jdbc.pool.Driver.connect(Driver.java:154)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:665)
at weblogic.jdbc.jts.Driver.connect(Driver.java:129)
at weblogic.jdbc.common.internal.WLDataSourceImpl.getConnectionInternal(WLDataSourceImpl.java:655)

Uma reinicialização dos servidores WebLogic atua como uma correção temporária para disponibilizar o mecanismo de asserção para novas conexões.

A maneira de corrigir isso permanentemente é especificar um valor para Inactive Connection Timeout na página Origem de Dados JDBC: Configuração: Pool de Conexões na Console de Administração. Quando você define um valor para
Inactive
        Connection Timeout
, o Servidor WebLogic retorna à força uma conexão com a origem de dados quando não há atividade em uma conexão reservada pelo número de segundos especificado. Quando definido como 0 (o valor padrão), esse recurso é desativado.
Para definir um valor positivo para o
Inactive Connection
        Timeout
:
  1. Acesse a Console de Administração do Weblogic Server.
  2. Vá para Origens de Dados.
  3. Procure o Nome da Origem de Dados que você deseja alterar e clique em Origem de Dados.
  4. Clique em Configurar um Pool de Conexões.
  5. Expanda a guia Avançado.
  6. Atualize o Timeout de Conexão Inativa para o novo valor.

    Por exemplo: Timeout de Conexão Inativa = 900 (15 minutos).

Observação

Essas configurações são específicas ao ambiente de cada cliente. Recomendamos que você execute o teste de carga em seu ambiente e ajuste suas configurações com base nos resultados.

Erro de Banco de Dados no EBS Asserter

A conexão do EBS Asserter com o banco de dados falha com invalid table name. Para
Test "select count * from select 1 from fnd_nodes;" set up for pool "EbsDS1" failed with exception: "java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name.

Este erro em decorrência de uma incompatibilidade de nome, em que o parâmetro ebs.ds.name em bridge.properties não é igual ao nome da origem de dados criada em WebLogic do EBSAsserter.

Para resolver isso, defina o valor ebs.ds.name como igual ao nome da origem de dados criada em WebLogic.