[AIX Solaris HP-UX Linux Windows][IBM i]

Rastreio de Comunicações do Object Request Broker

O rastreio de comunicações do ORB (Object Request Broker), geralmente referido como CommTrace, contém a sequência de mensagens GIOP (General InterORB Protocol) enviadas e recebidas pelo ORB quando o aplicativo está em execução.

Nota: Esse tópico faz referência a um ou mais arquivos de log do servidor de aplicativos. Como uma recomendação alternativa, é possível configurar o servidor para usar a infraestrutura de log e rastreio do High Performance Extensible Logging (HPEL) em vez de usar os arquivos SystemOut.log , SystemErr.log, trace.log e activity.log em sistemas distribuídos e IBM® i. Também é possível usar HPEL em conjunção com os recursos de criação de log z/OS nativos. Se você estiver usando HPEL, será possível acessar todas as informações de log e rastreio usando a ferramenta de linha de comandos LogViewer a partir do diretório bin do perfil do servidor. Consulte as informações sobre a utilização do HPEL para resolução de problemas dos aplicativos para obter mais informações sobre o uso do HPEL.

Pode ser necessário entender a sequência de baixo nível de interações de cliente para servidor ou de servidor para servidor durante a determinação de problemas. Este tópico utiliza entradas de rastreio de exemplos de log para explicar o conteúdo do log e ajudá-lo a compreender a sequência de interação. Ele se concentra somente nas mensagens GIOP e não discute em detalhes informações adicionais do rastreio que são exibidas quando interfere com os limites da mensagem GIOP.

Local

[AIX Solaris HP-UX Linux Windows]Quando o rastreio ORB é ativado, essas informações são colocadas no diretório app_server_root/profiles/profile_name/logs/server_name/trace.log.

[IBM i]Quando o rastreio ORB é ativado, essas informações são colocadas no diretório profile_root/logs/server_name/trace.log.

Sobre o Arquivo de Rastreio de ORB

Seguem propriedades do arquivo que é criado quando o rastreio de ORB é ativado.

  • Somente leitura
  • Atualizado pela função administrativa
  • Utilize esse arquivo para localizar e resolver problemas relacionados ao ORB.

Como Interpretar a Saída

As próximas seções se referem à saída de log de amostra encontrada mais adiante neste tópico.

Identificando as informações
O início de uma mensagem GIOP é identificado por uma linha que contém OUT GOING: ou IN COMING:, dependendo de se a mensagem é enviada ou recebida pelo processo.
Seguindo a entrada da linha de identificação encontra-se uma série de itens, formatados por conveniência, com informações extraídas da mensagem bruta que identifica os nós de extremidade nesta interação de mensagem específica. Consulte as linhas de 3 a 13 em ambos os exemplos. Os itens formatados incluem os seguintes:
  • Tipo de mensagem GIOP (linha 3)
  • Data e hora em que a mensagem foi registrada (linha 4)
  • Informações que são úteis para identificar o encadeamento que está sendo executado quando a mensagem for registrada e outras informações específicas para o encadeamento (linha 5)
  • Portas TCP/IP local e remota utilizadas para a interação (linhas 6 a 9)
  • Versão de GIOP, ordem de bytes, uma indicação de se a mensagem é um fragmento e tamanho da mensagem (linhas 10 a 13)
ID de pedido, resposta esperada e status da resposta
Em seguida às informações de introdução na mensagem, o ID do pedido é um inteiro gerado pelo ORB. Ele é utilizado para identificar e associar cada pedido a sua resposta correspondente. Essa associação é necessária porque o ORB pode receber pedidos de vários clientes e deve conseguir associar cada resposta ao pedido de origem correspondente.
  • As linhas 15 a 17 no exemplo do pedido mostram o ID do pedido, seguido por uma indicação para o nó de extremidade receptor de que uma resposta é esperada (CORBA suporta o envio de pedidos de via única para os quais não é esperada uma resposta.)
  • A linha 15 de Entrada do Registro de Amostra - Resposta GIOP mostra o ID do pedido; a linha 33 mostra o status da resposta recebido após a conclusão do pedido enviado anteriormente.
Chave de Objeto
As linhas 18 a 20 no exemplo de pedido mostram a chave do objeto, a representação interna utilizada pelo ORB para identificar e localizar o objeto de destino que deve receber a mensagem de pedido. As chaves de objeto não são padronizadas.
Operação
A linha 21 no exemplo do pedido mostra o nome da operação que o objeto de destino inicia no nó de extremidade receptor. Neste exemplo, a operação específica pedida é denominada _get_value.
Informações de contexto do serviço
Os contextos de serviço na mensagem também são formatados para conveniência. Cada mensagem de GIOP pode conter uma sequência de contextos de serviço enviados e recebidos por cada nó de extremidade. Os contextos de serviço, identificados por um ID exclusivo, contêm dados utilizados na interação específica, tais como segurança, conversão de conjunto de códigos de caracteres e informações sobre a versão do ORB. O conteúdo de alguns dos contextos de serviço é padronizado e especificado pelo OMG, enquanto outros contextos de serviço são exclusivos e especificados por cada fornecedor. Os contextos de serviço específicos da IBM são identificados com IDs que começam com 0x4942.

As linhas 22 a 41 no exemplo do pedido ilustram entradas típicas de contexto de serviço. Três contextos de serviço estão na mensagem de pedido, conforme mostrado na linha 22. O ID, o comprimento dos dados e os dados brutos de cada contexto de serviço são impressos a seguir. As linhas 23 a 25 mostram um contexto exclusivo da IBM, conforme indicado pelo ID 0x49424D12. As linhas 26 a 41 mostram dois contextos de serviço padrão, identificados pelo ID 0x6 (linha 26) e pelo ID 0x1 (linha 39).

As linhas 16-32 em Entrada de Registro de Amostra - Resposta GIOP ilustram dois contextos de serviço, um de propriedade da IBM (linha 17) e um padronizado (linha 20).

Para a definição dos contextos de serviço padronizados, consulte a especificação CORBA. O contexto de serviço 0x1 (CORBA::IOP::CodeSets) é utilizado para publicar os conjuntos de códigos de caracteres suportados pelo ORB para negociar e determinar o conjunto de códigos utilizado para transmitir dados de caracteres. O contexto de serviço 0x6 (CORBA::IOP::SendingContextRunTime) é utilizado por RMI-IIOP (Remote Method Invocation over the Internet Inter-ORB Protocol) para fornecer ao nó de extremidade receptor a IOR para o objeto SendingContextRuntime. O contexto de serviço IBM 0x49424D12 é utilizado para publicar as informações de ORB PartnerVersion para suportar a interoperabilidade release para release entre o envio e o recebimento de ORBs.

Deslocamento de dados
A linha 42 no exemplo de pedido mostra o deslocamento, relativo ao início da mensagem GIOP, em que o restante do corpo da mensagem de pedido ou de resposta está localizado. Essa parte da mensagem é específica para cada operação e varia de operação para operação. Portanto, ela não é formatada, já que o conteúdo específico não é conhecido pelo ORB. O deslocamento é impresso como ajuda, para localizar rapidamente os dados específicos da operação no dump de mensagem de GIOP bruto, que segue o deslocamento de dados.
Dump de mensagem de GIOP bruto
Começando na linha 45 no exemplo de pedido e na linha 36 em Entrada de Registro de Amostra - Resposta GIOP, um dump bruto de toda a mensagem GIOP é impresso em formato hexadecimal. As mensagens de pedido contêm os parâmetros requeridos pela operação fornecida e as mensagens de resposta contêm os valores de retorno e o conteúdo dos parâmetros de saída são requeridos pela operação fornecida. Para brevidade, nem todos os dados brutos estão nas figuras.

Amostra de Entrada de Log - Pedido GIOP

1.  SAÍDA:

.  Mensagem de Pedido
4.  Data:          17 de abril de 2002 22:00:43 CDT
5.  Info de Encadeamento:   P=842115:O=1:CT
6.  Porta Local:    1243 (0x4DB)
7.  IP Local:      jdoe.austin.ibm.com/192.168.1.101
8.  Porta Remota:   1242 (0x4DA)
9.  IP Remoto:     jdoe.austin.ibm.com/192.168.1.101
10.  GIOP Version:      1.2
11. Ordem do Byte:    big endian
12. Fragmento em seguida: Não   
13. Tamanho da Mensagem:  268 (0x10C)
--
15. ID do Pedido:        5
16. Sinalizador de Responta:     WITH_TARGET
17. Endereço de Destino:     0
18. Chave do Objeto:   comprimento = 24 (0x18)
                       4B4D4249 00000010 BA4D6D34 000E0008 
                       00000000 00000000                   
21. Operação:          _get_value
22. Contexto de Serviço:   comprimento = 3 (0x3)
23. ID do Contexto:  1229081874 (0x49424D12)
24. Dados do Contexto:  comprimento = 8 (0x8)
                       00000000 13100003                   
26. ID do Contexto:  6 (0x6)
27. Dados do Contexto:  comprimento = 164 (0xA4)
                       00000000 00000028 49444C3A 6F6D672E 
                       6F72672F 53656E64 696E6743 6F6E7465 
                       78742F43 6F646542 6173653A 312E3000 
                       00000001 00000000 00000068 00010200 
                       0000000E 3139322E 3136382E 312E3130 
                       310004DC 00000018 4B4D4249 00000010 
                       BA4D6D69 000E0008 00000000 00000000 
                       00000002 00000001 00000018 00000000 
                       00010001 00000001 00010020 00010100 
                       00000000 49424D0A 00000008 00000000 
                       13100003                            
39. ID do Contexto:  1 (0x1)
40. Dados do Contexto:  comprimento = 12 (0xC)
                       00000000 00010001 00010100          
42. Deslocamento dos Dados:       118


45. 0000: 47494F50 01020000 0000010C 00000005   GIOP............
46. 0010: 03000000 00000000 00000018 4B4D4249   ............KMBI
47. 0020: [restante do corpo da mensagem excluído para brevidade]

Amostra de Entrada de Log - Resposta GIOP

1.  ENTRADA:

.  Mensagem de Resposta
4.  Data:          17 de abril de 2002 22:00:47 CDT
5.  Info de Encadeamento:   RT=0:P=842115:O=1:com.ibm.rmi.transport.TCPTransportConnection 
5a (linha 5 quebrada para publicação).   remoteHost=192.168.1.101 remotePort=1242 localPort=1243
6.  Porta Local:    1243 (0x4DB)
7.  IP Local:      jdoe.austin.ibm.com/192.168.1.101
8.  Porta Remota:   1242 (0x4DA)
9.  IP Remoto:     jdoe.austin.ibm.com/192.168.1.101
10. GIOP Version:      1.2
11. Ordem do Byte:    big endian
12. Fragmento em seguida: Não   
13. Tamanho da Mensagem:  208 (0xD0)
--
15. ID do Pedido:        5
16. Contexto de Serviço:   comprimento = 2 (0x2)
17. ID do Contexto:  1229081874 (0x49424D12)
18. Dados do Contexto:  comprimento = 8 (0x8)
                       00000000 13100003                   
20. ID do Contexto:  6 (0x6)
21. Dados do Contexto:  comprimento = 164 (0xA4)
                       00000000 00000028 49444C3A 6F6D672E 
                       6F72672F 53656E64 696E6743 6F6E7465 
                       78742F43 6F646542 6173653A 312E3000 
                       00000001 00000000 00000068 00010200 
                       0000000E 3139322E 3136382E 312E3130 
                       310004DA 00000018 4B4D4249 00000010 
                       BA4D6D34 000E0008 00000001 00000000 
                       00000002 00000001 00000018 00000000 
                       00010001 00000001 00010020 00010100 
                       00000000 49424D0A 00000008 00000000 
                       13100003                            
33. Status da Resposta: NO_EXCEPTION


36. 0000: 47494F50 01020001 000000D0 00000005   GIOP............
37. 0010: 00000000 00000002 49424D12 00000008   ........IBM.....
38. 0020: [restante do corpo da mensagem excluído para brevidade]

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rorb_traceo
Nome do arquivo: rorb_traceo.html