Paso 1: Publicar los artefactos SAP como un servicio WCF
Tiempo de finalización: 10 minutos
Objetivo: Puede usar el Asistente para desarrollo de servicios de adaptador de WCF para generar un servicio WCF que se pueda hospedar en un entorno de hospedaje, como Internet Information Services (IIS) o servicio de activación de procesos de Windows (WAS). En este tema se muestra cómo usar el asistente para generar un archivo de servicio WCF.
Requisitos previos
Antes de ejecutar el asistente, instale lo siguiente:
SDK del adaptador de línea de negocio (LOB) de Microsoft Windows Communication Foundation (WCF) con la opción Completar o la opción Personalizada (y elegir Herramientas dentro de esta opción). Esto instala la plantilla de Visual Studio para el Asistente para desarrollo del servicio adaptador de WCF.
Adaptador de Microsoft BizTalk para mySAP Business Suite desde el paquete de adaptadores de BizTalk.
Las bibliotecas cliente de SAP necesarias.
Para obtener más información sobre estos requisitos previos, consulte la guía de instalación del paquete de adaptadores de BizTalk. La guía de instalación se instala normalmente en la <unidad> de instalación:\Archivos de programa\Microsoft BizTalk Adapter Pack\Documents.
Para publicar los artefactos de SAP como un servicio WCF
Inicie Visual Studio y, a continuación, cree un proyecto.
En el cuadro de diálogo Nuevo proyecto , en el panel Tipos de proyecto, seleccione Visual C#. En el panel Plantillas , seleccione Servicio de adaptador de WCF.
Como alternativa, en el panel Tipos de proyecto , expanda Visual C# y, a continuación, seleccione Web. En el panel Plantillas , seleccione Servicio de adaptador de WCF.
Nota
Si instaló Visual Studio 2013 con el componente Desarrollo web, la plantilla Servicio de adaptador de WCF también está disponible en la opción Nuevo sitio web.
Especifique un nombre y una ubicación para la solución y, a continuación, haga clic en Aceptar. Se inicia el Asistente para desarrollo del servicio adaptador de WCF.
En la página de bienvenida, haga clic en Siguiente.
En la página Elegir operaciones, especifique un cadena de conexión para conectarse al sistema SAP. Para ello:
En la lista Seleccionar un enlace , haga clic en sapBinding y, a continuación, haga clic en Configurar.
En el cuadro de diálogo Configurar adaptador , haga clic en la pestaña Seguridad .
En la lista Tipo de credencial de cliente, seleccione Nombre de usuario y especifique un nombre de usuario y una contraseña de SAP válidos para conectarse al sistema SAP.
Haga clic en la pestaña Propiedades de URI y, a continuación, especifique valores para los parámetros de conexión. Para obtener más información sobre el URI de conexión para el adaptador de SAP, consulte Creación del URI de conexión del sistema SAP.
Nota
Si los parámetros de conexión contienen caracteres reservados (como caracteres especiales XML), debe especificarlos tal y como están en la pestaña Propiedades del URI , es decir, sin usar caracteres de escape. Sin embargo, si especifica el URI directamente en el cuadro 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.
Haga clic en la pestaña Propiedades de enlace y, a continuación, especifique valores para las propiedades de enlace, si las hay, necesarias para las operaciones de destino. En este tutorial, se invoca la BAPI_SALESORDER_GETLIST RFC para obtener la lista de pedidos de ventas de un cliente específico. La información del pedido de ventas también puede contener columnas de fecha. Al recuperar valores para la columna de fecha, se recomienda establecer la propiedad de enlace EnableSafeTyping en True al generar los metadatos. Si se establece esta propiedad, el tipo de datos DATS de SAP se muestra como cadenas.
Para obtener más información sobre cómo se asignan los tipos de datos de SAP a tipos de .NET equivalentes, consulte Tipos de datos básicos de SAP.
Para obtener más información sobre las propiedades de enlace, vea Leer sobre el adaptador de BizTalk para las propiedades de enlace de mySAP Business Suite.
Haga clic en Aceptar y, a continuación, haga clic en Conectar. Una vez establecida la conexión, el estado de la conexión se muestra como Conectado.
En la página Elegir operaciones, en la lista Seleccionar tipo de contrato, haga clic en Cliente (operaciones salientes).
En el cuadro Seleccionar una categoría , expanda un tipo de artefacto de SAP. Por ejemplo, expanda el nodo RFC para ver el grupo funcional que contiene la RFC para la que desea generar un servicio WCF.
En el cuadro Categorías y operaciones disponibles , seleccione las operaciones para las que desea generar un servicio WCF y, a continuación, haga clic en Agregar. Las operaciones seleccionadas se muestran en el cuadro Categorías y operaciones agregadas .
Nota
Puede agregar más de una operación para cada artefacto. También puede agregar operaciones para diferentes artefactos de SAP. Por ejemplo, puede agregar una operación para RFC y otra para IDOC. Además, puede buscar operaciones específicas especificando caracteres comodín en expresiones de búsqueda. Para obtener más información sobre los caracteres especiales admitidos y los niveles de nodo en los que puede buscar las operaciones, consulte Conexión a SAP en Visual Studio mediante el Asistente para agregar metadatos del adaptador.
En este ejemplo, se agregan las rfC de SD_RFC_CUSTOMER_GET y BAPI_SALESORDER_GETLIST.
Nota
Algunas versiones del sistema SAP exponen una RFC de RFC_CUSTOMER_GET en lugar de SD_RFC_CUSTOMER_GET.
En la página Elegir operaciones, haga clic en Siguiente.
En la página Configurar comportamientos de servicio y punto de conexión, especifique los valores para configurar el comportamiento del servicio y del punto de conexión.
En el cuadro Configuración del comportamiento del servicio , especifique los valores para lo siguiente:
Para la propiedad Especificar el valor EnableMetadataExchange Establézcalo en True para crear un punto de conexión de intercambio de metadatos. Al establecer esto en True, los metadatos del servicio estarán disponibles mediante protocolos estandarizados, como WS-Metadata Exchange (MEX) y solicitudes HTTP/GET.
El valor predeterminado es false.IncludeExceptionDetailsinFault Establézcalo en True para incluir información de excepciones administradas en detalle de los errores soap devueltos al cliente con fines de depuración. El valor predeterminado es false. Nombre Nombre de la configuración del comportamiento del servicio. UseServiceCertificate Especifica si desea usar el modo de seguridad de nivel de mensaje de WCF. El valor predeterminado es true.
Para este tutorial, debe establecerlo en False.FindValue Cadena que especifica el valor que se va a buscar en el almacén de certificados X.509.
Nota: Especifique un valor para esta propiedad solo si UseServiceCertificate está establecido en True.StoreLocation Valor que especifica la ubicación del almacén de certificados que el servicio puede usar para validar el certificado del cliente.
Nota: Especifique un valor para esta propiedad solo si UseServiceCertificate está establecido en True.StoreName Nombre del almacén de certificados X.509 que se va a abrir.
Nota: Especifique un valor para esta propiedad solo si UseServiceCertificate está establecido en True.X509FindType El tipo de búsqueda de X.509 que se va a ejecutar.
Nota: Especifique un valor para esta propiedad solo si UseServiceCertificate está establecido en True.Nota
Para obtener más información sobre los certificados y las propiedades asociadas, vea "Propiedades X509ClientCertificateCredentialsElement" en https://go.microsoft.com/fwlink/?LinkId=103771.
En el cuadro Configuración de comportamiento del punto de conexión , especifique los valores para lo siguiente:
Para la propiedad Especificar el valor Tipo de autenticación : establézcalo en ClientCredentialUserNamePassword para permitir que los clientes especifiquen el nombre de usuario y la contraseña al consumir el servicio WCF.
: establézcalo en HTTPUserNamePassword para permitir que los clientes especifiquen el nombre de usuario y la contraseña como parte del encabezado HTTP.
- Establézcalo en Automático para permitir primero que los clientes especifiquen las credenciales a través de la interfaz ClientCredential . Si se produce un error, los clientes pueden pasar credenciales como parte del encabezado HTTP.
El valor predeterminado es Automático. Para que Microsoft Office SharePoint Server consuma el servicio WCF, debe establecerlo como HTTPUserNamePassword.Nombre Especifique un nombre para la configuración del comportamiento del punto de conexión. UsernameHeader Nombre del encabezado de nombre de usuario. En este ejemplo, especifique MyUserHeader. Para obtener más información sobre los encabezados HTTP, vea "Compatibilidad con encabezados HTTP y SOAP personalizados" en https://go.microsoft.com/fwlink/?LinkId=106692.
Nota: Debe especificar un valor para esta propiedad si el tipo de autenticación está establecido en HTTPUserNamePassword. Si tipo de autenticación se establece en Automático, esta propiedad es opcional.PasswordHeader Nombre del encabezado de contraseña. En este ejemplo, especifique MyPassHeader. Para obtener más información sobre los encabezados HTTP, vea "Compatibilidad con encabezados HTTP y SOAP personalizados" en https://go.microsoft.com/fwlink/?LinkId=106692.
Nota: Debe especificar un valor para esta propiedad si el tipo de autenticación está establecido en HTTPUserNamePassword. Si tipo de autenticación se establece en Automático, esta propiedad es opcional.En la ilustración siguiente se muestra la página Configurar comportamientos de servicio y punto de conexión con los valores especificados.
de conexión página
En la página Configurar comportamientos de servicio y punto de conexión, haga clic en Siguiente.
En la página Configurar enlace de punto de conexión de servicio y dirección, el cuadro Seleccionar un contrato para configurar enumera los artefactos de SAP para los que seleccionó las operaciones en la página Elegir operaciones.
Por ejemplo, si seleccionó artefactos en RFC e IDOC, seleccione un contrato para configurar listas rfC e IDOC. Si seleccionó solo una RFC, el cuadro solo mostrará RFC.
En el cuadro Operaciones del contrato seleccionado se muestran las operaciones que seleccionó para cada artefacto en la página Elegir operaciones.
En el cuadro Configure the address and binding for the contract (Configurar la dirección y el enlace del contrato ), especifique los valores para lo siguiente:
Para la propiedad Especificar el valor Configuración de enlace El asistente solo admite el enlace HTTP básico. Por lo tanto, el campo de configuración de enlace se rellena automáticamente en System.ServiceModel.Configuration.BasicHttpBindingElement.
Haga clic en el botón de puntos suspensivos (...) para cambiar las propiedades del enlace HTTP. Para usar un canal de comunicación seguro, siempre debes establecer la propiedad Mode en Transport. El asistente establece el valor predeterminado de la propiedad Mode como Transport.
Para obtener más información sobre los demás enlaces expuestos, vea "BasicHttpBindingElement Members" en https://go.microsoft.com/fwlink/?LinkId=103773.Nombre del punto de conexión Especifique un nombre de punto de conexión para el contrato. Los demás campos de esta página se rellenan automáticamente en función de los valores especificados en las páginas anteriores.
Haga clic en Aplicar. Realice este paso para todos los contratos que se muestran en el cuadro Seleccionar un contrato para configurar .
Nota
Si no especifica ningún valor en esta página, se aceptan los valores predeterminados para todos los contratos.
En la ilustración siguiente se muestra la página Configurar enlace de punto de conexión de servicio y dirección con los valores especificados.
Configurar el enlace de punto de conexión de
En la página Configurar enlace de punto de conexión de servicio y dirección, haga clic en Siguiente. En la página Resumen se muestra una estructura de árbol de los artefactos de SAP y, en ese caso, las operaciones seleccionadas para cada artefacto.
Revise el resumen y, a continuación, haga clic en Finalizar.
El asistente crea un servicio WCF y agrega los siguientes archivos al proyecto de Visual Studio:
Archivo .svc. Este es el archivo de servicio WCF. El asistente genera un archivo para cada contrato.
Web.config archivo.
Código de servicio (archivo .cs)
Publique el servicio WCF.
Asegúrese de que SSL está habilitado para Internet Information Services (IIS). Para obtener instrucciones sobre cómo habilitar SSL para IIS, consulte https://go.microsoft.com/fwlink/?LinkId=197170.
Haga clic con el botón derecho en el proyecto en Explorador de soluciones y, a continuación, haga clic en Publicar.
En el cuadro de diálogo Publicar web , especifique una dirección URL para el servicio WCF. Por ejemplo:
https://<computer_name>/Customer_Order/
En el cuadro Copiar , haga clic en Todos los archivos de proyecto.
Haga clic en Publicar.
Compruebe que el servicio WCF se ha publicado correctamente.
Inicie microsoft Management Console de IIS. Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
Vaya al nodo donde publicó el servicio. Para el servicio Customer_Order, vaya a Internet Information Services><Nombre>> de equipoSitios web>predeterminados>Customer_Order.
En el panel derecho, haga clic con el botón derecho en el archivo Rfc.svc y, a continuación, haga clic en Examinar.
La página web se muestra con la dirección URL para recuperar el WSDL. Es posible que quiera probar la recuperación de metadatos mediante el comando svcutil . Por ejemplo, el comando para recuperar metadatos para el servicio Customer_Order es:
svcutil.exe https://<computer_name>/Customer_Order/Rfc.svc?wsdl
siguiente paso
Para crear un archivo de definición de aplicación para los artefactos de SAP, use el Editor de definiciones de Business Data Catalog. Consulte Paso 2: Crear un archivo de definición de aplicación para los artefactos de SAP para obtener instrucciones. El archivo de definición de aplicación identifica dónde se almacenan los datos loB y el formato en el que se almacena.
Consulte también
Tutorial 1: Presentación de datos de un sistema de SAP en un sitio de SharePoint