Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ayuda con SOAP. Requisitos en el cliente? (https://www.clubdelphi.com/foros/showthread.php?t=60960)

rolandoj 20-10-2008 21:15:25

Ayuda con SOAP. Requisitos en el cliente?
 
Hola,

Por cierto, que requesitos debe tener un equipo cliente para usar una aplicación Delphi que llame un Web Service ?.

Ahora que me están forzando a trabajar con SOAP, el tema me preocupa porque, al leer las ayudas de Delphi, tengo la impresión de que es necesario registrar clases en el equipo cliente. El usuario final no siempre dispone de permisos para hacerlo y de ser requerido sería un handicap fuerte para mi aplicación; en particular considerando que la versión actual de la misma (que funciona muy bien sin usar Web Service) puede ejecutarse desde cualquier equipo sin ninguna restricción

Muchas gracias por cualquier aclaración que pudieran hacer

jt.logosoft 26-10-2008 12:51:21

Re: requisitos en el cliente
 
Hola Rolando,
en nuestra empresa hemos incursionado algo con SOAP, y si bien mi experiencia no es muy grande lo que puedo decirte es que no hemos necesitado instalar nada en el equipo cliente, es más, considero a SOAP como la tecnología menos intrusiva que conozco, ya que ni siquiera debo instalar un cliente de base de datos, y todo el acceso es por el puerto 80 (siempre que no necesites cambiarlo).

rolandoj 26-10-2008 15:54:38

Estoy en pruebas
 
Cita:

Empezado por jt.logosoft (Mensaje 322402)
Hola Rolando,
en nuestra empresa hemos incursionado algo con SOAP, y si bien mi experiencia no es muy grande lo que puedo decirte es que no hemos necesitado instalar nada en el equipo cliente, es más, considero a SOAP como la tecnología menos intrusiva que conozco, ya que ni siquiera debo instalar un cliente de base de datos, y todo el acceso es por el puerto 80 (siempre que no necesites cambiarlo).

Hola,

Gracias por los comentarios.

Hoy estoy en pruebas.

Espero terminar un ejemplo con SOAP para verificar si se necesita la instalación que mencioné. Una pregunta respecto a eso, cuando dices que SOAP no requirió instalación en los clientes, significa eso que un usuario normal, sin privilegios de actualización sobre HKEY_CLASS_ROOT pudo ejecutar el programa sin que previamente en ese equipo lo hubiera ejecutado un usuario que si tenía esos privilegios ?. La pregunta es porque, de acuerdo al código que he visto, si debería modificar a HKEY_CLASS_ROOT; en ese orden de ideas, una posible explicación de que a ustedes les haya funcionado sin problemas es que los usuarios de ustedes sean usuarios avanzados de esos equipos.

Por otra parte, te comento lo siguiente:

La tecnología que uso actualmente es una capa inferior de SOAP, No requiere instalar nada diferente del ejecutable en el equipo cliente, incluyendo por supuesto clientes de la Base de Datos, ya que estos solo quedan en el servidor; no modifica el registro de Windows y puede ser ejecutada directamente por cualquier usuario sin requerir de instalación previa por parte de un Administrador: lo máximo que pudiera ocurrir, en cuanto a intervención de un administrador es la posible necesidad de permitir que el ejecutable acceda al puerto 80.

Ya les contaré el resultado de mis pruebas

Saludos

rolandoj 27-10-2008 04:21:32

Las pruebas no van muy bien. Hay problemas
 
Hola,

Les comento que no he podido lograr que me funcione el Web Service. Parece una combinación de problemas de permisos, (esta tecnología al parecer requiere más privilegios que la que yo estoy usando), con incompatibilidades con las herramientas que uso.

Les explico:

Tengo Delphi 2007 en mi equipo y uso Omnisecure (No tengo IIS). Mi servidor tiene IIS 6.

Una vez escrito el Web Service, el problema me ocurre al crear la aplicación cliente, y concretamente cuando, en el hechicero de importación de WSDL debo darle el URL del WSDL.

Según la explicación dada en http://eliseogn.wordpress.com/2008/08/02/6/ , desde cualquier navegador se invoca al DLL del Web Service y el debe mostrarnos una página Service Info Page. En mi equipo, con Internet Explorer no he logrado que me funcione, y con Mozilla FireFox, a veces sí y a veces no; pero las veces que sí, falla en el segundo paso (o sea cuando hago el click sobre el WSDL indicado en un ovalo rojo en la página de donde estoy tomando las explicaciones).

Como parece incompatibilidad con Omnisecure, me conecté a mi servidor y repetí los pasos con IIS 6. Funcionó lo del explorador; pero, cuando en el hechicero indico la dirección remota, saca un error "no encuentra el camino en la red". He creado manualmente los subdirectorios que el debería generar automáticamente; pero, sigue el mismo errror. Es como si los permisos de directorios no se heredaran bajo IIS 6; pero, me consta que si se heredan porque mi aplicación actual los usa sin problemas.

Traté de darle permisos a los subdirectorios; pero, no encontré una forma de hacerlo en IIS 6, la parametrización parece estar solo sobre el directorio raíz.

Mi último intento fué crear en mi equipo el XML que muestra el navegador (supongo que es el del WSDL) y cargarlo al hechicero. Resultado ?, Un mensaje de "Invalid at the Top level of the document" indicando error en la línea 1. La línea 1 es :

<?xml version="1.0" encoding="utf-8" ?>

Agradezco cualquier sugerencia, y en especial si alguién puede indicar otra fuente donde leer acerca de todo esto de la creación de Web Service

Por cierto, para los que tengan curiosidad, la razón de no usar IIS en mi equipo (no está ni instalado), es que Omnisecure es muchísimo más fácil de usar para depuración, así que IIS lo uso solo para producción

jt.logosoft 27-10-2008 17:39:13

Hola Rolando,
en http://delphiallimite.blogspot.com podrás encontrar una serie de artículos muy buena, referida al desarrollo de una aplicación en n capas con SOAP. A mí me resultó muy útil. De hecho, tengo un servidor en mi red, y una aplicación que sirve páginas a la red interna, lo abro desde cualquier equipo con un navegador Web y funciona bien, no hizo falta instalar nada en los equipos clientes. Si te puedo ser de ayuda con esto, estoy a tu disposición en lo que necesites.

rolandoj 27-10-2008 18:41:12

Gracias. Seguiremos en contacto
 
Cita:

Empezado por jt.logosoft (Mensaje 322665)
Hola Rolando,
en http://delphiallimite.blogspot.com podrás encontrar una serie de artículos muy buena, referida al desarrollo de una aplicación en n capas con SOAP. A mí me resultó muy útil. De hecho, tengo un servidor en mi red, y una aplicación que sirve páginas a la red interna, lo abro desde cualquier equipo con un navegador Web y funciona bien, no hizo falta instalar nada en los equipos clientes. Si te puedo ser de ayuda con esto, estoy a tu disposición en lo que necesites.

Hola,

Muchas gracias por el dato. Voy a revisar a ver si consigo que trabaje el ejemplo.

Lo que si me intriga mucho, y ahí quizás lo expliquen, es lo del registro de la clase, ya que el código generado indica claramente que debe registrarse la clase, y esto no lo puede hacer un usuario que no tenga privilegios. Lo único que se me ocurren es que utilicen un usuario automático del sistema, como el LocalSystem; pero de ser así sería una falla de seguridad porque el Registro de Windows no lo debería alterar un programa sin que el usuario estuviera enterado. en fin, mejor no especular, vamos a ver que puedo averiguar.

Muchos saludos


La franja horaria es GMT +2. Ahora son las 01:32:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi