
WebService funciona en IIS 7, pero no en IIS 6
#1
Escrito 15 junio 2012 - 12:52
He creado un WebService, compilado como aplicación CGI, que me funciona correctamente en mi Windows 2008 Server con IIS 7, pero en cambio el mismo binario parece no funcionar en el servidor de producción final, con Windows 2003 Server con IIS 6.
He escrito una pequeña aplicación cliente de pruebas, que me funciona perfectamente cuando conecto al Servidor IIS 7, pero que da error al no poder recuperar el WDSL cuando quiero usar el WebService en el IIS 6.
En el IIS 6 cuando entro en navegador a su URL, veo la interfaz del WebService, pero si intento por ejemplo acceder al WDSL no me lo devuelve.
Enlace :
http://79.148.227.58...wsdl/ISolfaPort
¿ Que creeis que puede ocurrir ?.
Gracias.
#2
Escrito 15 junio 2012 - 01:37

Saludos
#3
Escrito 15 junio 2012 - 01:58
Vaya, si que está raro, no puedo acceder al WS, incluso con soapUI
Saludos
¿ Verdad que es raro ?, puesto que el CGI que proporciona el WebService se ejecuta, dado que en caso contrario no se vería la interfaz del WebService en el navegador. Y resulta que ese mismo CGI en otro equipo no me da ningún problema.
¿ Puede ser que en ese servidor falten librerías de soporte para generación de los archivos XML del WebService, o alguna otra tontería por el estilo ?.
La verdad es que no sé ni por donde empezar a mirar

¿ Hay alguna alternativa para servir los WebServices (como instalar Apache, ..., en ese servidor) ?, ¿ funcionaría mejor ?.
La verdad es que estoy llegando a odiar esta tecnología, la cantidad de cosas raras a las que te tienes que enfrentar es abrumadora.
#4
Escrito 15 junio 2012 - 06:58
podría ser alguna restricción o parametrización de los "bindings" en el archivo de configuración, es cuestión de investigar
Saludos a todos
#5
Escrito 16 junio 2012 - 02:51
Hola,
podría ser alguna restricción o parametrización de los "bindings" en el archivo de configuración, es cuestión de investigar
Saludos a todos
No conozco ningún archivo de configuración que este relacionado con este tema. ¿ Me puedes pasar algún enlace que de información adicional referente a estos "bindings" y a ese archivo de configuración ?.
Gracias.
#6
Escrito 17 junio 2012 - 12:08
Prueba agregando la extensión del archivo WSDL al II6 para que lo acepte.
Ayuda:
http://forums.iis.ne...23/1745984.aspx
Saludos a todos
#7
Escrito 17 junio 2012 - 01:36
Hola,
Prueba agregando la extensión del archivo WSDL al II6 para que lo acepte.
Ayuda:
http://forums.iis.ne...23/1745984.aspx
Saludos a todos
Ese hilo trata de un WebService que funcionaba bien en IIS 6 y que no podían configurarlo en IIS 7. Mi problema es exactamente al revés, me funciona perfectamente en IIS 7 (después de pelearme mucho con la configuración) y en cambio no parece activo en IIS 6 (donde supuestamente no hay que configurar absolutamente nada, excepto activar las WebService Extensions, cosa que ya he hecho).
Saludos.
#8
Escrito 17 junio 2012 - 10:50
Saludos
#9
Escrito 18 junio 2012 - 02:41
He hecho la prueba en un IIS 7 y me da el mismo error que en IIS 5 y 6, a mi me parece que hay algo que no está bien definido en tu web service.
Saludos
He abierto un puerto en mi router, aquí puedes acceder al servicio en marcha en IIS 7. A mi se me ejecutan bien sus llamadas (he programado un cliente, y las llamadas devuelven lo que se espera de ellas).
http://idata.homeip....wsdl/ISolfaPort
Aquí se puede descargar el binario, por si es de alguna utilidad.
www.idata.com.es/tmp/SolfaPort.exe
Voy a intentar hacer alguna prueba más, pero la verdad es que no sé donde empezar a mirar.
Saludos.
#10
Escrito 18 junio 2012 - 06:51
He abierto un puerto en mi router, aquí puedes acceder al servicio en marcha en IIS 7. A mi se me ejecutan bien sus llamadas (he programado un cliente, y las llamadas devuelven lo que se espera de ellas).
http://idata.homeip....wsdl/ISolfaPort
Ahora si he podido acceder al wsdl, ésto en IIS 7, más tarde haré la prueba con IIS menores.
Saludos
#11
Escrito 18 junio 2012 - 10:37
En IIS 7 me funciona tanto el WebService como CGI y como DLL. Pero en IIS 6 no logro que cargue la DLL.
¿ Hay que hacer algo especial, aparte de activar las WebService Extensions ?.
Saludos.
#12
Escrito 18 junio 2012 - 10:41
Una cosa que no entiendo es porqué no puedo poner el WebService como DLL en IIS 6.
En IIS 7 me funciona tanto el WebService como CGI y como DLL. Pero en IIS 6 no logro que cargue la DLL.
¿ Hay que hacer algo especial, aparte de activar las WebService Extensions ?.
Saludos.
Hola Marc
Ya no entendí, tu problema es que quieres instalar la DLL en diferentes máquinas ?
Pensé que el problema era consumirlo, en IIS 6 o menor, solo se configura lo básico, no hay nada de extensiones.
Saludos
#13
Escrito 18 junio 2012 - 12:15
Una cosa que no entiendo es porqué no puedo poner el WebService como DLL en IIS 6.
En IIS 7 me funciona tanto el WebService como CGI y como DLL. Pero en IIS 6 no logro que cargue la DLL.
¿ Hay que hacer algo especial, aparte de activar las WebService Extensions ?.
Saludos.
Hola Marc
Ya no entendí, tu problema es que quieres instalar la DLL en diferentes máquinas ?
Pensé que el problema era consumirlo, en IIS 6 o menor, solo se configura lo básico, no hay nada de extensiones.
Saludos
En Delphi el WebService lo puedes implementar o bien como un ejecutable CGI o bien como una DLL ISAPI. Lo he compilado de las dos formas, y en IIS 7 me ejecuta correctamente el WebService tanto como ejecutable CGI y como DLL.
El problema está en IIS 6, donde da un error de página inaccesible si intento acceder al WebService mediante su DLL ISAPI, y en cambio como CGI sí que ejecuta algo (mostrando la interfaz del servicio en el navegador), pero sin devolver la WSDL ni correr los Webservices.
¿ Si te proporciono unas credenciales de conexión a escritorio remoto al Servidor de producción, tendrías unos minutos para comprovar si ves algún error en la configuración del IIS 6 o del directorio virtual para el Webservice ?.
Gracias por el interés en mi problema.
#14
Escrito 18 junio 2012 - 12:35
El código fuente está compartido en dos proyectos, para poder compilarlo tanto como DLL ISAPI y como ejecutable CGI.
Pero la verdad es que no creo que pueda haber mucho mal en ese webservice, puesto que en estos momentos solo es el esqueleto de código que genera Delphi. Lo único que he añadido son unas lineas para guardar un registro de las llamadas recibidas al WebService, y así poder comprobar que las comunicaciones funcionan bien y recibimos la información que se nos envía.
Está hecho en Delphi 2010 (trabajo habitualmente en Delphi 7 y 2010, y en este caso concreto, preferí compilarlo en Delphi 2010 para que Delphi compilara sus últimas librerías respecto a WebServices).
#15
Escrito 18 junio 2012 - 12:46

Saludos
#16
Escrito 18 junio 2012 - 12:48
No puedo abrirlo con mi Delphi2007
---------------------------
Error
---------------------------
The project can not be loaded because the required personality Delphi.Personality.12 is not available.
Unable to create project F:\marc\SolfaDLL.dproj. This project will be removed from the project group.
---------------------------
OK
---------------------------

Saludos
#17
Escrito 18 junio 2012 - 08:48
¿Los permisos sobre las carpetas que tiene la DLL están habilitados?
¿La ejecución de "scripts and executables" está seteada?
Ayuda:
http://forums.esri.c...f=1312&t=136681
#18
Escrito 18 junio 2012 - 10:47
Dos cosas.
1. La dll es considerada por mi AV como un virus, supongo que es un Falso-Positivo. Tal vez eso tiene que ver algo.
2. Otra cuestión y me parece que por ahí va el asunto es la definición del WSDL que haces
defWSDL = '.\OperacioPracticWS.WSDL';
Yo le paso las url desde un archivo INI y funciona en IIS 5.1 sin problema
[CONFIGURA]
WSDL = http://movil/SolfaDL...wsdl/ISolfaPort (defWSDL)
URL = http://movil/SolfaDL...soap/ISolfaPort (defURL)
Saludos
Archivos adjuntos
#19
Escrito 18 junio 2012 - 10:57
Saludos
#20
Escrito 19 junio 2012 - 09:14
Preguntas sobre IIS 6:
¿Los permisos sobre las carpetas que tiene la DLL están habilitados?
¿ Te refieres a los permisos sobre el sistema de archivo de Windows Server ?. Sí, he asignado derechos de lectura/ejecución para el grupo Todos.
¿La ejecución de "scripts and executables" está seteada?
Sí, lo he configurado en IIS 6, en el directorio virtual.
Saludos.