PDA

Ver la Versión Completa : WSDL webservice con SSL


agustibaldo
17-05-2018, 16:40:44
Hola gente de ClubDelphi.
Les escribo porque tengo una consulta respecto a como tengo que configurar un webservice desarrollado en Delphi (y corriendo en IIS) para que, al levantar el WSDL del servicio me genere correctamente el link dependiendo si la llamada es HTTP o HTTPS.

Concretamente, tengo un webservice en producción conectandose por HTTP y debido a una reorganización en los servidores web comenzamos a utilizar HTTPS para conectarnos.
Cuando levanto la URL en un navegador, al hacer clic en el link WSDL, me arma en forma incorrecta el link y no puedo ver el discovery.
Ejemplo:
Configurado como HTTPS
URL: https://miservicio.com/wsServicio/wsProductos.exe (responde)
URL WSDL: http://miservicio.com:443/wsServicio/wsProductos.exe/wsdl/IProductos (NO responde)
Actualmente IIS tiene configurado ambos puertos 80 y 443 con el dominio miservicio.com

Investigando encontré la propiedad PublisOptions -> poPublishLocationAsSecure en TWSDLHTMLPublish dentro de TWebModule generado en el proyecto y la setee en TRUE. A partir de eso, el comportamiento fue el siguiente:
URL: https://miservicio.com/wsServicio/wsProductos.exe (responde)
URL WSDL: https://miservicio.com/wsServicio/wsProductos.exe/wsdl/IProductos (responde OK)

Pero si invoco el servicio como HTTP:
URL: http://miservicio.com/wsServicio/wsProductos.exe (responde)
URL WSDL: https://miservicio.com:80/wsServicio/wsProductos.exe/wsdl/IProductos (NO responde)

Mi consulta es: como puedo hacer para configurar mi WS para que acepte ambas formas de conexión.
Desde ya, muchas gracias.
Saludos!

Alex Mireles
27-06-2018, 19:34:53
Verifica el tema de los certificados del servidor para poder usar HTTPS , hay componentes Delphi que si funcionan bien sobre HTTP pero para HTTPS es otra medicina porque utiliza algoritmos de cifrado