Creación del URI de conexión del sistema SAP
El URI de conexión de Microsoft BizTalk Adapter para mySAP Business Suite contiene propiedades que el adaptador usa para establecer una conexión con el sistema SAP.
Importante
De forma predeterminada, la biblioteca cliente de SAP (librfc32u.dll) admite un máximo de 100 conexiones al sistema SAP. Si supera este número de conexiones, se producirá una excepción. Por este motivo, debe establecer la propiedad de enlace MaxConnectionsPerSystem para limitar el número de conexiones que el adaptador de SAP intentará abrir en el sistema SAP; o establezca la variable de entorno CPIC_MAX_CONV para aumentar el número de conexiones admitidas por la biblioteca cliente de SAP. Si cambia CPIC_MAX_CONV, debe reiniciar el equipo para que el cambio surta efecto. Para obtener más información sobre las propiedades de enlace del adaptador de SAP, vea Leer sobre las propiedades de enlace del adaptador de BizTalk para mySAP Business Suite.
En este tema se proporciona información sobre el URI de conexión de SAP y también se proporcionan vínculos a otros temas que explican cómo especificar un URI de conexión en diferentes escenarios de programación.
URI de conexión para el adaptador de SAP
Un URI de dirección de punto de conexión WCF típico se representa de la siguiente manera:
scheme://userinfoparams@hostinfoparams?query_string
El URI de dirección del punto de conexión contiene los siguientes componentes:
scheme es el nombre del esquema.
userinfoparams es una colección de valores de nombre de parámetros necesarios para la autenticación de usuario por parte del punto de conexión.
hostinfoparams es información necesaria para establecer la conexión con el host; por ejemplo, una ruta de acceso.
query_string es una colección opcional name-value de parámetros delimitados por un signo de interrogación (?).
El URI de dirección del punto de conexión que usa el adaptador de SAP para un sistema SAP se especifica mediante un URI de conexión de SAP. El adaptador de SAP implementa este URI de conexión de la siguiente manera:
sap://user=[USER_NAME];passwd=[PASSWORD];Client=[CLIENT];lang=[LANGUAGE];[UseSnc]=[True|False]@connectiontype/conndetail1/conndetail2?GwHost=[GWHOST]?GwServ=[GWSERV]?MsServ=[MSSERV]?Group=[GROUP]?ListenerDest=[LISTENERDEST]?ListenerGwHost=[LISTENERGWHOST]?ListenerGwServ=[LISTENERGWSERV]?ListenerProgramId=[LISTENERPROGRAMID]?RfcSdkTrace=[true/false]?AbapDebug=[true/false]
Los componentes del URI de conexión se explican en las secciones siguientes.
Esquema de URI de conexión de SAP
El esquema del URI de conexión de SAP es "sap".
Información de usuario en el URI de conexión de SAP
La información de usuario (userinfoparams) en el URI de conexión de SAP se representa como una colección de valores de nombre de los parámetros necesarios para la autenticación del usuario, la identificación del cliente y la especificación de idioma. En la siguiente tabla se describen estos parámetros.
Propiedad | Descripción |
---|---|
Usuario | El nombre de usuario en el sistema SAP; este valor distingue mayúsculas de minúsculas. Debe establecer la propiedad de enlace AcceptCredentialsInUri en true para especificar el nombre de usuario y la contraseña en el URI de conexión. Nota: El adaptador de SAP conserva el caso del valor que se escribe para el nombre de usuario cuando abre una conexión en el sistema SAP. |
Passwd | La contraseña del usuario en el sistema SAP; este valor distingue mayúsculas de minúsculas. Debe establecer la propiedad de enlace AcceptCredentialsInUri en true para especificar el nombre de usuario y la contraseña en el URI de conexión. Nota: El adaptador de SAP conserva el caso del valor que escribe para la contraseña cuando abre una conexión en el sistema SAP. |
Remoto | Identificador de cliente del sistema SAP. |
Lenguaje | Idioma. |
UseSnc | Parámetro opcional que especifica si sap Secure Network Communications (SNC) está habilitado. El valor puede ser True o False; Si es True, SNC está habilitado. El valor predeterminado es False. Al habilitar SNC, también debe establecer las propiedades de enlace SncPartnerName y SncLibrary . Para obtener más información, vea Leer sobre el adaptador de BizTalk para las propiedades de enlace de mySAP Business Suite. Si SNC está habilitado y el URI de conexión contiene credenciales, el adaptador produce una excepción. Nota: El parámetro de conexión UseSnc solo se aplica a los tipos de conexión A y B. Los distintos tipos de conexión y su importancia se describen en detalle más adelante en este tema. |
Nota
Debe especificar el cliente y el idioma en el URI de conexión de SAP.
El adaptador de SAP muestra la propiedad de enlace AcceptCredentialsinUri para que pueda controlar si las credenciales del sistema SAP se pueden especificar en el URI de conexión. Esto se debe a que las credenciales se representan como texto sin formato en el URI de conexión y esto supone un riesgo de seguridad inherente. De forma predeterminada, la propiedad de enlace AcceptCredentialsInUri es false y el adaptador produce una excepción si se especifican credenciales en el URI de conexión.
Hay algunos escenarios en los que es necesario especificar las credenciales en el URI de conexión; por ejemplo, para recibir las operaciones entrantes del sistema SAP cuando se usa el modelo de servicio WCF o el modelo de canal WCF. Puede establecer la propiedad AcceptCredentialsInUri en true para estos escenarios. Sin embargo, es un procedimiento recomendado evitar proporcionar credenciales directamente en el URI de conexión. Para obtener más información sobre cómo proporcionar credenciales de forma más segura para la conexión de SAP, consulte Protección de las aplicaciones SAP.
Importante
Si habilita Comunicaciones de red segura (SNC) estableciendo el parámetro UseSnc en true, el adaptador produce una excepción.
Información del host en el URI de conexión de SAP
La información del host de SAP (hostinfoparams) se representa mediante los siguientes elementos en el URI de conexión de SAP: connectiontype/conndetail1/conndetail2
. Estos parámetros especifican detalles sobre la conexión de cliente al sistema SAP. En la query_string se pueden especificar detalles adicionales sobre la conexión de cliente de SAP, así como los detalles que establecen una conexión como agente de escucha a un destino RFC de SAP. El adaptador de SAP admite los siguientes tipos de conexión de cliente en el URI de conexión de SAP:
R: Una conexión basada en host de aplicación en la que el URI de conexión especifica un servidor de aplicaciones a través del cual el adaptador de SAP se conecta a SAP.
B: Una conexión de carga equilibrada en la que el URI de conexión especifica un servidor de mensajes a través del cual el adaptador de SAP se conecta a SAP.
D: Una conexión basada en destino en la que el URI de conexión especifica un destino en el archivo saprfc.ini que contiene los parámetros de conexión para SAP.
En la tabla siguiente se describe cómo se especifican estas conexiones en el URI de conexión de SAP.
Tipo de conexión. | Conndetail1 | Conndetail2 | Descripción |
---|---|---|---|
Un | ASHOST (host del servidor de aplicaciones) | SYSNR (número del sistema SAP) | Especifica una conexión basada en host de aplicación. Para una conexión basada en host de aplicación, se puede especificar un host de puerta de enlace opcional y un servicio de puerta de enlace en el query_string. |
B | MSHOST (host del servidor de mensajes) | R3NAME (nombre de SAP R3) | Especifica una conexión de equilibrio de carga a través de un servidor de mensajes. Para una conexión de equilibrio de carga, se puede especificar un grupo de servidores opcional y un servicio de mensajes en el query_string. |
D | DEST (Destino que contiene los parámetros de conexión en el archivo saprfc.ini) | -- | Especifica una conexión basada en destino. Los parámetros de conexión de SAP se encuentran en el destino especificado en el archivo saprfc.ini. Solo se pueden especificar conexiones de tipo A y B en el destino. |
Nota
Si especifica valores de conexión en el archivo saprfc.ini, asegúrese de que el archivo se encuentra en la misma carpeta que el .exe acceder al archivo o en una ubicación estándar según sea necesario para el sistema SAP. Para obtener más información, consulte la documentación de SAP.
Información de consulta en el URI de conexión de SAP
La información de consulta (query_string) del URI de conexión de SAP contiene parámetros opcionales que se pueden incluir para especificar lo siguiente:
Detalles de conexión adicionales para las conexiones basadas en host de aplicación (A).
Detalles de conexión adicionales para las conexiones de equilibrio de carga (B).
Detalles del agente de escucha que especifican un destino RFC en el sistema SAP a través del cual el sistema SAP puede enviar RFC, TRFCs e IDocs al adaptador de SAP.
Si se habilitan las comunicaciones de red segura (SNC) de SAP.
Detalles que especifican la configuración de depuración.
Los parámetros de consulta son opcionales; sin embargo, se deben especificar los detalles del agente de escucha para que el adaptador de SAP actúe como un servidor RFC.
En la tabla siguiente se describen los parámetros de consulta e se indican los tipos de conexión de SAP para los que son válidos.
Value | Tipo de conexión válido | Descripción |
---|---|---|
GwHost | A | Especifica el nombre de un host de puerta de enlace opcional en una conexión basada en host de aplicación. |
GwServ | A | Especifica el nombre de un servicio de puerta de enlace opcional en una conexión basada en host de aplicación. |
MsServ | B | Especifica el nombre de un servicio de mensajes opcional en una conexión de equilibrio de carga. |
Grupo | B | Especifica un grupo opcional de servidores de aplicaciones en una conexión de equilibrio de carga. |
ListenerDest | (R) | Especifica un destino opcional en el archivo saprfc.ini en una conexión de servidor rfc. El destino debe especificar una conexión de tipo R. |
ListenerGwHost | (R) | Especifica el host de puerta de enlace para una conexión de servidor rfc. Este parámetro es opcional; sin embargo, si se desea una conexión de servidor rfc y LISTENERDEST no se especifica o no se especifica ningún host de puerta de enlace por el destino en el archivo saprfc.ini, LISTENERGWHOST debe contener un host de puerta de enlace válido. |
ListenerGwServ | (R) | Especifica el servicio de puerta de enlace para una conexión de servidor rfc. Este parámetro es opcional; sin embargo, si se desea una conexión de servidor rfc y LISTENERDEST no se especifica o no se especifica ningún servicio de puerta de enlace por el destino en el archivo saprfc.ini, LISTENERGWSERV debe contener un servicio de puerta de enlace válido. |
ListenerProgramId | (R) | Especifica el identificador de programa para una conexión de servidor rfc. Este parámetro es opcional; Sin embargo, si se desea una conexión de servidor rfc y LISTENERDEST no se especifica o no se especifica ningún servicio de puerta de enlace por el destino en el archivo saprfc.ini, LISTENERPROGRAMID debe contener un servicio de puerta de enlace válido. |
RfcSdkTrace | Todo | Parámetro opcional que especifica si está habilitado el seguimiento de la biblioteca RFC. El valor puede ser True o False; Si es True, el seguimiento de la biblioteca RFC está habilitado. El valor predeterminado es False. El nivel de seguimiento habilitado por el parámetro RfcSdkTrace depende de la variable de entorno RFC_TRACE. - Si RFC_TRACE no está presente o se establece en 0, se habilita el nivel mínimo de seguimiento. - Puede establecer RFC_TRACE en 1 o 2 para aumentar el nivel de seguimiento. |
AbapDebug | Todo | Parámetro opcional que especifica si la depuración de ABAP desde Visual Studio está habilitada. El valor puede ser True o False; Si es True, la depuración de ABAP está habilitada. El valor predeterminado es False. Si AbapDebug es True, se abre la GUI de SAP. |
SAPROUTER | Todo | Parámetro opcional para SAProuter cuando se usa para las conexiones a través de un firewall. Este parámetro es una lista de nombres de host y nombres de servicio/números de puerto en el formato siguiente: /H/hostname/S/portnumber. |
Los parámetros de la cadena de consulta son parámetros de SAP y SAP define sus valores. Para más información sobre estos parámetros, consulte la documentación de SAP.
A continuación se muestra un URI de conexión de ejemplo para una conexión basada en host de aplicación:
sap://Client=800;lang=EN@A/YourSAPHOST/00
Propiedades del URI de conexión en el cuadro de diálogo Configurar adaptador
Cuando se conecta al sistema SAP con el complemento de proyecto de BizTalk Consumir servicio de adaptador o el complemento Agregar referencia de servicio de adaptador de Visual Studio, establezca los parámetros del URI de conexión desde la pestaña Propiedades del URI en el cuadro de diálogo Configurar adaptador . En la tabla siguiente se muestra cómo se muestran las propiedades del URI en la hoja Propiedades del URI . (Las propiedades del URI se enumeran por grupo en el orden en que aparecen en la hoja Propiedades del URI).
Category | URI (propiedad) | Elemento URI |
---|---|---|
Servidor de aplicaciones | Host del servidor de aplicaciones | Conndetail1 (tipo de conexión de información de host A) |
Servidor de aplicaciones | Host de puerta de enlace | GwHost (cadena de consulta) |
Servidor de aplicaciones | Servicio de puerta de enlace | GwServ (cadena de consulta) |
Servidor de aplicaciones | Número de sistema | Conndetail2 (tipo de conexión de información de host A) |
Destination | Nombre del destino | Conndetail1 (tipo de conexión de información de host D) |
Diagnóstico | Seguimiento rfc | RfcSdkTrace (cadena de consulta) |
Diagnóstico | Depuración de ABAP | AbapDebug (cadena de consulta) |
Información de inicio de sesión | Remoto | Cliente (userinfoparams) |
Información de inicio de sesión | Lenguaje | Idioma (userinfoparams) |
Servidor de mensajería | Nombre del grupo de servidores de aplicaciones | Group (cadena de consulta) |
Servidor de mensajería | Host del servidor de mensajes | Conndetail1 (tipo de conexión de información de host B) |
Servidor de mensajería | Servicio del servidor de mensajes | MsServ (cadena de consulta) |
Servidor de mensajería | Nombre del sistema R/3 | Conndetail2 (tipo de conexión de información de host B) |
Varios | Tipo de conexión. | Tipo de conexión (información de host: A, B o D) |
Varios | Enrutador SAP | SAPROUTER (cadena de consulta) |
Servidor RFC | Nombre del destino | ListenerDest (cadena de consulta) |
Servidor RFC | Host de puerta de enlace | ListenerGwHost (cadena de consulta) |
Servidor RFC | Servicio de puerta de enlace | ListenerGwServ (cadena de consulta) |
Servidor RFC | Id. del programa. | ListenerProgramId (cadena de consulta) |
SNC | UseSnc | UseSnc (información de usuario) |
Cómo especificar un URI de conexión para conexiones de servidor RFC.
Para crear una dirección de punto de conexión a través de la cual el adaptador de SAP puede actuar como un servidor RFC, debe especificar un identificador de programa de SAP, un host de puerta de enlace de SAP y un servicio de puerta de enlace de SAP que corresponda a un destino RFC en el sistema SAP. Para obtener información sobre cómo configurar un destino RFC en SAP, consulte Creación de un RFC, destino RFC y envío de un RFC desde SAP.
Puede especificar el identificador del programa, el host de puerta de enlace y el servicio de puerta de enlace en el URI de conexión de una de estas dos maneras:
estableciendo los parámetros de consulta ListenerGwHost, ListenerGwServ y ListenerProgramId
estableciendo el parámetro de consulta ListenerDest en un destino del archivo saprfc.ini que especifica una conexión de tipo R.
Nota
Si especifica valores de conexión en el archivo saprfc.ini, asegúrese de que el archivo reside en la misma ubicación que el .exe tener acceso al archivo o a una ubicación estándar según sea necesario para el sistema SAP. Para obtener más información, consulte la documentación de SAP.
Para especificar un URI de conexión para una conexión de servidor RFC, especifique una conexión de cliente normal con un destino RFC especificado en la cadena de consulta, como en el ejemplo siguiente:
sap://Client=800;lang=EN@A/YourSAPHOST/00?ListenerGwHost=YourSAPHOST&ListenerGwServ=SAPGW00&ListenerProgramId=MyProgramId
El adaptador de SAP usa la información contenida en userinfoparams y hostinfoparams parte del URI de conexión para recuperar metadatos del sistema SAP y usa la información proporcionada por los parámetros listener de la cadena de consulta para registrarse como agente de escucha en el destino rfC de SAP.
Uso de caracteres reservados en el URI de conexión
El adaptador de SAP no admite la especificación de un URI de conexión que tenga caracteres especiales para ninguno de los valores de parámetro. Si los valores del parámetro de conexión contienen caracteres especiales, asegúrese de realizar una de las siguientes acciones:
Si va a especificar el URI en Visual Studio mediante agregar complemento de referencia de servicio de adaptador o consumir complemento de servicio de adaptador, debe especificarlos tal como está en la pestaña Propiedades del URI , es decir, sin usar caracteres de escape. Si especifica el URI directamente en el campo Configurar un URI y los parámetros de conexión contienen caracteres reservados, debe especificar los parámetros de conexión mediante caracteres de escape adecuados.
Si va a especificar el URI al crear un puerto de envío o recepción en BizTalk Server consola de administración y los parámetros de conexión contienen caracteres reservados, debe especificar los parámetros de conexión mediante caracteres de escape adecuados.
Uso del URI de conexión para conectarse al sistema SAP
Para obtener información sobre cómo establecer una conexión con el sistema SAP cuando:
Use el complemento Consumir servicio de adaptador de BizTalk Project o el complemento Agregar referencia de servicio de adaptador de Visual Studio, vea Conectarse al sistema SAP en Visual Studio.
Configure un puerto de envío o un puerto de recepción (ubicación) en una solución de BizTalk Server. Consulte Configuración manual de un enlace de puerto físico al adaptador de SAP.
Use el modelo de canal WCF en una solución de programación; consulte Creación de un canal mediante SAP.
Use el modelo de servicio WCF en una solución de programación. Consulte Configuración de un enlace de cliente para el sistema SAP.
Use la Herramienta de utilidad de metadatos de WCF ServiceModel (svcutil.exe), consulte Uso de la herramienta de utilidad de metadatos de ServiceModel con el adaptador de BizTalk para mySAP Business Suite.