CORRECÇÃO: Está disponível uma actualização que adiciona a propriedade de enlace de ClearRfcContext para a placa SAP baseadas no WCF BizTalk placa Pack 2.0 ou BizTalk placa Pack 2010

Aplica-se a

Este artigo aplica-se à seguinte:

  • Microsoft BizTalk placa Pack 2.0

  • Microsoft BizTalk placa Pack 2010

Introdução

Este artigo descreve uma actualização que está incluída numa actualização cumulativa para adicionar a propriedade de enlace de ClearRfcContext para a placa SAP baseado no Microsoft Windows Communication Foundation WCF a partir do Microsoft BizTalk placa Pack.

Sintomas

Considere o seguinte cenário:

  • Tiver um computador que esteja a executar o Microsoft BizTalk Server 2006 R2, o Microsoft BizTalk Server 2009 ou o Microsoft BizTalk Server 2010.

  • Utilizar a placa SAP baseadas no WCF para ligar ao servidor SAP R/3.Nota A placa SAP baseadas no WCF está incluída no Microsoft BizTalk placa Pack 2.0 ou o Microsoft BizTalk placa Pack 2010.

  • Criar uma aplicação BizTalk que utiliza a placa SAP para chamar a chamadas de função remota (RFC) que utilizam variáveis globais SAP no servidor SAP R/3.

  • Definir a propriedade de enlace de EnableConnectionPooling como True.

Neste cenário, repara que os dados que são devolvidos pelo RFC são não o que esperava. Além disso, os dados que são devolvidos parecem ser afectada por uma chamada anterior foi efectuado a mesma propriedade de enlace de RFCs.The ClearRfcContext , pode impedir problemas semelhantes aos que ocorrem neste cenário.

Causa

Este problema ocorre porque, quando o pooling de ligações está activado, a ligação de SAP correspondente é devolvida ao conjunto de ligação após uma chamada a RFC no servidor SAP R/3 é executada. Quando chega a próxima chamada RFC, a mesma ligação de SAP é obtida a partir do conjunto de ligações e é utilizada para executar a chamada. Se o RFC utiliza algumas variáveis globais e se estas não são limpas adequadamente, a próxima chamada RFC utiliza os valores armazenados nas variáveis globais uma chamada anterior. Esta situação poderá conduzir a resultados inesperados.Nota Este problema ocorre apenas se o RFC utiliza variáveis globais e se as variáveis globais não são limpas adequadamente por RFC.

Resolução

Para resolver este problema, aplique esta actualização. Em seguida, defina a propriedade de enlace de ClearRfcContext como True.

Informações de actualização cumulativa

BizTalk placa Pack 2010

A correcção que resolve este problema está incluída em 1 de actualização cumulativa para o BizTalk placa Pack 2010.  Para mais informações sobre como obter o pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base: o pacote de actualização cumulativa 25397941 para o BizTalk placa Pack 2010

BizTalk placa Pack 2.0

Esta correcção publicada pela primeira vez no 2 do pacote de actualização cumulativa para o BizTalk placa Pack 2.0. Para mais informações sobre como obter este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

2531605 Pacote de actualização cumulativa 2 para o BizTalk placa Pack 2.0

Mais Informações

Notas sobre esta actualização

  • A propriedade de enlace de ClearRfcContext é aplicável apenas quando a propriedade de enlace de EnableConnectionPooling está definida como True.

  • Sem esta actualização, a placa SAP baseadas no WCF não limpa o contexto de R/3 SAP. Por conseguinte, o comportamento é idêntico ao que ocorre quando a propriedade de enlace de ClearRfcContext está definida como False. O valor predefinido é Falso.

  • Quando o pooling de conexões estiver activado e a propriedade de enlace de ClearRfcContext está definida como True, a placa esvazia a sessão de R/3 SAP e limpa todas as variáveis globais SAP-do lado do servidor. Por conseguinte, a chamada seguinte na mesma ligação de SAP não é afectada por qualquer Estado que foi obtido pela chamada actual.

  • Quando o pooling de conexões estiver activado e a propriedade de enlace de ClearRfcContext está definida como False, a placa não limpa a sessão de R/3 SAP. Neste caso, se o RFC utiliza algumas variáveis globais e as variáveis não são limpas adequadamente, a próxima chamada de RFC de utilizar os valores armazenados nas variáveis globais desde a chamada actual. Esta situação pode dar resultados inesperados.

  • Uma vez que a propriedade de enlace ClearRfcContext requer uma ida e volta adicional para o servidor SAP R/3, poderá ver uma pequena diminuição no desempenho quando definir a propriedade de enlace de ClearRfcContext como True. Recomendamos que defina a propriedade de enlace de ClearRfcContext como True , apenas quando o RFC utiliza variáveis globais e o RFC é não limpar as variáveis globais adequadamente.

  • Quando utilizar a placa num cenário de proxy tal como de código .NET, poderá pretender limpar a sessão SAP R/3 entre chamadas RFC na mesma instância de canal/proxy. Esta actualização, uma nova operação denominada RfcClearContext está disponível sob o nó RFC do Assistente Adicionar referência do serviço de placa quando é seleccionada a opção de SapBinding . A operação de RfcClearContext tenta limpar o contexto de R/3 SAP e devolve um dos seguintes procedimentos:

    • Verdadeiro – a limpeza do contexto SAP R/3 teve êxito. Pode efectuar chamadas adicionais no canal/proxy.

    • False - a ligação fechada ou desenvolvido um erro quando a operação tentou limpar o contexto de R/3 SAP. Deve eliminar o canal/proxy actual, porque qualquer chamada mais poderia conduzir a um erro de comunicação.

Referências

Para mais informações sobre como estabelecer uma ligação ao sistema de SAP, visite o seguinte Web site da Microsoft Developer Network (MSDN):

Estabelecer uma ligação ao sistema SAPPara mais informações sobre correcções do BizTalk Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

2003907 Obter informações sobre correcções do BizTalk Server

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

×