none
Como obtener los datos de servicio SOAP (como cliente) y enviarlos a otra capa MVC RRS feed

  • Pregunta

  • Buenas estimados, espero que anden bien.

    Les comento, he creado un servicio SOAP en SAP y lo he cargado en mi aplicación C# como referencia. 

    Nombre del servicio: ZWEB_SERVICES

    Nombre del método: Z_FI_GET_SOCIEDADES()

    EN MVC he definido una capa "ExternalServices" para consultar la interfaz y los datos obtenidos, enviarlos a la capa "Services" que es la que tendrá la lógica de negocio, en este caso la inteligencia de controles de la interfaz.

    Vamos a entrar un poco mas en detalle:

    Dentro de la capa ExternalService hice una clase llamada "SociedadSAP" (la sociedad información que me traigo de SAP por eso la llamo así) y dentro de esta clase declaro un método llamado obtenerSociedadSAP() el cual llamo desde la capa "Services".

    El objetivo de ObtenerSociedadSAP() es consumir el servicio y enviar los datos obtenidos (una lista de sociedades SAP) a la capa Servicio.

    Para ello lo que ya hice es:

    - probar la interfaz con SOAPUI con el mismo usuario que usaría en c# OK

    - Agregar la referencia en C# OK

    El servicio trae las sociedades en sí, y además una variable result con un 'OK' o 'no se ha encontrado sociedades'.

     Result y Sociedad

    De acuerdo a lo mencionado es correcto lo realizado????

    En un principio intentaba guardar en esta capa los datos obtenidos en un array, pero eso lo voy a terminar realizando en la capa Servicios.

        public static class SociedadSAP
        {
            public static ZWEB_SERVICES.Z_FI_GET_SOCIEDADES ObtenerSociedadSAP()
            {
                //instancio servicio web
                ZWEB_SERVICESClient service = new ZWEB_SERVICES.ZWEB_SERVICESClient();
    
    
                service.ClientCredentials.UserName.UserName = ConfigurationManager.AppSettings["usuarioSAP"];
                service.ClientCredentials.UserName.Password = ConfigurationManager.AppSettings["pass"];
    
                //envío solicitud (request)
                //var sociedades = service.Z_FI_GET_SOCIEDADES(new Z_FI_GET_SOCIEDADES());
    
                //ZWEB_SERVICES.Z_FI_GET_SOCIEDADES getSociedades = new ZWEB_SERVICES.Z_FI_GET_SOCIEDADES();
                var response = new ZWEB_SERVICES.Z_FI_GET_SOCIEDADES();
    
                //Console.WriteLine(response);
    
                return response;

    Desde ya muchas gracias.

    Ss.

    Rodrigo


    • Editado marozzir martes, 2 de febrero de 2021 15:54 mal formulada
    martes, 2 de febrero de 2021 15:03

Respuestas

  • Hola Rodrigo,

    Gracias por levantar tu consulta en los foros de MSDN. Puede que este foro te funcione.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.


    martes, 2 de febrero de 2021 18:14
    Moderador