none
Consumo de API-REST ASP NET RRS feed

  • Pregunta

  • Saludos,

    estoy iniciando en ASP NET MVC testeando un proyecto ASPNET MVC  el cual consume datos desde un API REST desarrollado en CORE 2.1. 

    A nivel local realizo las consultas desde la aplicación, sin problemas, además desde Postman reviso los GET  con respuesta 200 Ok, todo perfecto. Sin embargo hago la publicación en el hosting y la aplicación no logra consultar los datos del API. .Me podrían dar una idea de como lograr conectar los proyectos una vez publicados. Algo estoy dejando de lado ?

    Gracias de antemano, por su valiosa ayuda

    martes, 21 de mayo de 2019 3:28

Respuestas

  • de acuerdo....

    una consulta...  en la aplicación uso  <add key="UrlServices" value="http://api.varfonsa.com" /> 

    para llamar al servicio.

    En el servicio tengo que cambiar todos los localhost por ese valor ??

    el proveedor del host me indica que la dirección es  http://api.varfonsa.com:8172

    agradezco tu valioso tiempo

    me respondo  a  mi mismo si, tenia que cambiar los localhost

    de nuevo gracias por el tiempo y la ayuda..!!!

    • Editado Serolando jueves, 23 de mayo de 2019 2:52
    • Marcado como respuesta Serolando jueves, 23 de mayo de 2019 3:05
    jueves, 23 de mayo de 2019 2:07

Todas las respuestas

  • La aplicacion una vez publicada tiene que funcionar exactamente igual, suponiendo que tenga bien puesta la ruta de la API. Cerciorate de que la ruta que le configuras cuando lo publicas en produccion es correcta y apunta a la direccion de la API, y que dicha direccion es accesible y no esta cerrada en ningun firewall que se interponga entre ambos servidores.

    Otra cosa que puede diferir entre desarrollo y produccion es el tema de autenticacion. Cerciorate de que las forma de autenticacion y las credenciales requeridas por tu API (si es que la tienes configurada para que requiera autenticacion) concuerdan con las que tengas configuradas en el entorno de produccion.

    martes, 21 de mayo de 2019 11:30
  • hola

    >>Sin embargo hago la publicación en el hosting y la aplicación no logra consultar los datos del API

    si la consultas desde Posman que respuesta recibes ?

    porque al publicar puede que este aplicando CORS

    Enable Cross-Origin Requests (CORS) in ASP.NET Core

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 21 de mayo de 2019 13:07
  • buenos días, gracias por sus comentarios

    una de mis dudas son las direcciones como comenta Alberto

    en el web config de la aplicación  tengo

        <add key="TestUrlServices" value="https://api.varfonsa.com" />    

       <add key="UrlServices" value=" http://localhost:5091" />

    en donde no estoy seguro la UrlServices además del puerto que debo utilizar

     las pruebas en Postman no incluyen el puerto, ya que si lo agrego la consulta falla

    en Postman hago una consulta  por ejemplo

    http://api.varfonsa.com/Empresa/GetEmpresasbyCuentanunhard?Id=2

    en los Headers se muestra lo siguiente

    Content-Type application/json; charset=utf-8

    Server Kestrel

    X-Powered-By ASP.NET

    Date Tue, 21 May 2019 13:58:27 GMT

    Transfer-Encoding chunked

    X-OSSProxy OSSProxy 1.3.338.311 (Build 338.311 Win32 en-us)(Mar 5 2019 12:33:55)

    Connection keep-alive

    Proxy-Connection keep-alive

     

    en el JSon se muestra lo siguiente

    [     {         "idempresa": 2,         "idtipoidentificacion": 2,         "idcuentanunhard": 2,         "nombrecomercial": "NOMBRE DE EMPRESA",         "razonsocial": "NOMBRE COMPLETO DE EMPRESA S.A.",         "numeroidentificacion": "3-101-XXXXXXX",         "emailempresa": "info@manconsultinggroup.com",         "idprovincia": 3,         "idcanton": 39,         "iddistrito": 294,         "barrio": "uno",         "telefonoempresa": "(506) XXXX-XXXX",         "direccionempresa": "Direcccion exacta de empresa."         ]     },


    martes, 21 de mayo de 2019 14:28
  • Bien, en el .config tienes dos URLs. ¿Cuál de ellas es la que estás usando realmente a la hora de invocar el servicio? Examina el código a ver dónde lee el velor desde el web.config, a ver cuál está tomando.

    Aparentemente, y por lo que señalas en Postman, la llamada que has probado que funciona es la que has denominado "TestUrlServices" en el web.config. Pero si el programa lee la otra en lugar de esa, entonces es normal que no funcione... salvo que casualmente tengas desplegada una segunda copia de la API en localhost y en el puerto 5091.

    martes, 21 de mayo de 2019 14:37
  • Revisando  el código la URL que  invoca el servicio es <add key="UrlServices" value=" http://localhost:5091" />
    lo modifico por <add key="UrlServices" value="https://api.varfonsa.com" />

    pero al cambiar  no hay acceso al servicio   porque  presenta el mensaje   cuando  el usuario es null 

    No se puede acceder al sistema, inconvenientes con el acceso a la base de datos


    claro tengo un error  o deberia decir  horror
    value=" http       no     value=" https

    estoy haciendo las pruebas del caso

    • Editado Serolando miércoles, 22 de mayo de 2019 1:29
    miércoles, 22 de mayo de 2019 1:09
  • Lo he probado y tu servidor solo responde por http pero no por https. Si realmente necesitas usar https, te falta configurar correctamente el servidor. Pruébalo provisionalmente poniendo http, para confirmar que la parte cliente accede correctamente al servicio, y luego si es que lo necesitas puedes cambiarlo a https una vez que el servidor esté bien configurado para soportarlo.
    miércoles, 22 de mayo de 2019 5:58
  • de acuerdo....

    una consulta...  en la aplicación uso  <add key="UrlServices" value="http://api.varfonsa.com" /> 

    para llamar al servicio.

    En el servicio tengo que cambiar todos los localhost por ese valor ??

    el proveedor del host me indica que la dirección es  http://api.varfonsa.com:8172

    agradezco tu valioso tiempo

    me respondo  a  mi mismo si, tenia que cambiar los localhost

    de nuevo gracias por el tiempo y la ayuda..!!!

    • Editado Serolando jueves, 23 de mayo de 2019 2:52
    • Marcado como respuesta Serolando jueves, 23 de mayo de 2019 3:05
    jueves, 23 de mayo de 2019 2:07