Este artículo se aplica al siguiente producto:
- BizTalk Adapter Pack 2.0
- BizTalk Adapter Pack 2010
Síntomas
Tenga en cuenta el siguiente escenario:
Un programa cliente utiliza el adaptador SAP basado en Microsoft Windows Communication Foundation (WCF) (también conocido como Microsoft BizTalk Adapter para mySAP Business Suite 3.0) para invocar algunas llamadas de función remotas en el modelo de servicio WCF en un sistema SAP.
Nota: Este adaptador se incluye en Microsoft BizTalk Adapter Pack 2.0 o en Microsoft BizTalk Adapter Pack 2010.
Se produce un problema de red y el adaptador WCF-SAP pierde la conexión con el sistema SAP.
En este escenario, el sistema SAP devuelve el código de error RFC_FAILURE y las llamadas de función remota no funcionan. Además, se encuentra una excepción ThreadAbortException y recibe el siguiente error:
Nota
System.Threading.ThreadAbortException: Se anuló el subproceso.
en RfcCallReceiveExU(UInt32 , Char* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_PARAMETER* , RFC_TABLE* , Char** )
en Microsoft.Adapters.SAP.CNativeInvoker.Invoke(CNativeInvoker* , UInt32 connectionHandle, Char* m_szFunctionName)
Después de un tiempo, se encuentran muchas excepciones RFCException y recibe muchos errores similares a los siguientes:
Nota
Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_FAILURE. AdapterErrorMessage=Error devuelto por RfcCallReceiveEx al llamar a RFC: Z_GET_PO_BY_SAP.
Además, se genera el siguiente seguimiento de pila de llamadas en el servidor BizTalk:
Nota
en Microsoft.Adapters.SAP.RFCException.HelperThrow(Int32 retCode, String additionalErrorMessage)
en Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke()
Causa
Este problema se produce porque el adaptador WCF-SAP reutiliza incorrectamente el canal SAP en el sistema SAP.
Después de que el adaptador WCF-SAP reciba el RFC_FAILURE código de error, el adaptador WCF-SAP encontrará un error. Por lo tanto, el canal SAP en el sistema SAP se reutiliza incorrectamente.
Resolución
Información sobre la actualización acumulativa
Para BizTalk Adapter Pack 2010
La revisión que resuelve este problema se incluye en el paquete de actualización acumulativa 2 para BizTalk Adapter Pack 2010. Para obtener más información acerca de cómo obtener este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2572999 paquete de actualización acumulativa 2 para BizTalk Adapter Pack 2010
Para BizTalk Adapter Pack 2.0
La revisión que resuelve este problema se incluye en el paquete de actualización acumulativa 3 para BizTalk Adapter Pack 2.0.
Para obtener más información acerca de cómo obtener el paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2557150 paquete de actualización acumulativa 3 para BizTalk Adapter Pack 2.0
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Más información
Para obtener más información acerca de cómo usar el modelo de servicio WCF para invocar RFC, visite el siguiente sitio web de MSDN:
Cómo usar el modelo de servicio WCF para invocar RFC Para obtener más información acerca de las revisiones de BizTalk Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2003907 Información sobre revisiones de BizTalk Server