Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Acceder a version antigua de un WebService

Estas en el tema de Acceder a version antigua de un WebService en el foro de Java en Foros del Web. Hola He conseguido instalar varias versiones de mi webservice empleando la nomenclatura al generar el war myWebService##2.war myWebService##3.war Pero siempre que accedo mediante URL , ...
  #1 (permalink)  
Antiguo 23/09/2015, 03:54
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Acceder a version antigua de un WebService

Hola

He conseguido instalar varias versiones de mi webservice empleando la nomenclatura al generar el war

myWebService##2.war
myWebService##3.war

Pero siempre que accedo mediante URL , accedo a la versión 3 . ¿Hay alguna manera de acceder a la versión 2 , sin parara el Tomcat?

He leído que es mediante variables sesión ¿Como se ponen?¿Se puede poner en la URL del cliente?¿Cual debería poner?

Es para acceder mediante un cliente java o C# , o de mantener la sesión en el cliente

Saludos

Última edición por javierRumbo; 23/09/2015 a las 04:36
  #2 (permalink)  
Antiguo 23/09/2015, 05:02
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Acceder a version antigua de un WebService

Si has desplegado dos war, deberías tener dos aplicaciones cada una de ellas con su propia url

http:\\ip:puerto\nombreDeWar\rutaAlServicio

Pero claro, eso sería así si has desplegado correctamente.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 23/09/2015, 05:25
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Acceder a version antigua de un WebService

Cita:
Iniciado por Xerelo Ver Mensaje
Si has desplegado dos war, deberías tener dos aplicaciones cada una de ellas con su propia url

http:\\ip:puerto\nombreDeWar\rutaAlServicio

Pero claro, eso sería así si has desplegado correctamente.
Hola

He seguido las instrucciones de https://tomcat.apache.org/tomcat-7.0-doc/config/context.html en cuento a la nomenclatura de la versión

Ambas parecen tener la misma URL , tomcat solo accede a la antigua por variables de sesión

Lo que tengo es lo que adjunto en la imagen , donde 2 y 8 es la versión , pero como se ve no están paradas



No se ve , intenta con http://subefotos.com/ver/?46309e71ea2b9d5a8d9f4853037a00a8o.jpg
Saludos
  #4 (permalink)  
Antiguo 23/09/2015, 08:07
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Acceder a version antigua de un WebService

Buenas,

Cita:
He leído que es mediante variables sesión ¿Como se ponen?¿Se puede poner en la URL del cliente?¿Cual debería poner?
No. Lo que has leido es esto:
Cita:
Parallel deployment
You may deploy multiple versions of a web application with the same context path at the same time. The rules used to match requests to a context version are as follows:

If no session information is present in the request, use the latest version.
If session information is present in the request, check the session manager of each version for a matching session and if one is found, use that version.
If session information is present in the request but no matching session can be found, use the latest version.
The Host may be configured (via the undeployOldVersions) to remove old versions deployed in this way once they are no longer in use.
Con el objeto de facilitar la actualizacion de las aplicaciones, Tomcat permite tener varios war que apunten al mismo context path pero con diferente version. El objetivo es que la aplicacion no deje de funcionar en ningun momento y se pueda actualizar en caliente y de forma transparente para los usuarios.

Por tanto, si tenemos una aplicacion /myApp v1 y le aniadimor una v2.
-Todas las sesiones ya existentes e iniciadas en la v1, seguiran utilizando la v1 hasta que sean destruidas.
-Todas las nuevas sesiones se iniciaran sobre la v2.
-Si tenemos el parametro undeployOldVersions establecido a true, en el momento en que no quede ninguna sesion corriendo sobre la v1, el war de la v1 sera automaticamente eliminado.

En cuanto a la pregunta sobre si es posible acceder a una version especifica sin reiniciar, en teoria (no lo he probado nunca) podrias acceder mediante el context path /myWebService##2

En cualquier caso, si lo que quieres es tener dos versiones del web service que convivan, no deberias utilizar las versiones por contexto. Lo que debes hacer (y lo que hacemos todo el mundo) es mantener dos context path diferentes. Por ejemplo /myWebServiceV1 y /myWebServiceV2.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 23/09/2015, 15:07
 
Fecha de Ingreso: noviembre-2014
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Acceder a version antigua de un WebService

Hola

Tienes que mantener la sesion

En la clase que hereda de Stub.En el constructor pon setMaintainSession (true) en el cliente

Con esto si se conecta a la version 2 seguira conectado hasta que muera el cliente aun instalando la version 3

Saludos

Etiquetas: webservice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:23.