Problemas con un WS y tratamiento de excepciones

02/12/2004 - 18:00 por Tako | Informe spam
Hola grupo

Tengo un problemilla que me está haciendo pensar muy seriamente en el
retiro de la informática, no se si es un error mío, del SPS, de los
Webservices o un bug del Framework, pero como en el fondo está el SPS lo
mando aquí de momento a ver si entre sufridos programadores del SPS
encontramos una solución.

Explico la situación:

Cliente (C) que llama a un Webservice (WS)
WS que llama a una dll (DLL)
DLL que hace trabajos contra el SPS, uno de estos trabajos es crear
un sitio nuevo

El problema se da cuando el usuario no tiene permisos para crear un
sitio, entonces debería de suceder

La DLL casca por que no tiene permisos, la DLL captura la excepción,
deja constancia en un fichero de logs y la relanza.
El WS captura esa excepción relanzada y devuelve el string "error"
El cliente recibe la cadena "error" y hace lo que deba de hacer.

El problema es que el cliente en lugar de recibir la cadena recibe un
error 401 de acceso no autorizado a la página en lugar de "error", el
problema es que el WS SI que trata bien la excepción y devuelve "error".

He estado mirando el código depurándolo y a base de logs y sucede esto:

try
llamada a la dll
catch ex as exception
aquí entra
finally
aquí también
end try

aquí ya no llega


Vamos, que parece que no llega a salir nunca del try.

La verdad es que no le veo sentido.

A ver si alguien me puede echar una mano.

Graciassss
 

Leer las respuestas

#1 Gustavo
02/12/2004 - 21:35 | Informe spam
Hola amigo,
Algo no entiendo bien: el try/catch que cuentas al final es el try/catch del
dll? Yo creo que ese es el unico que te puede dar un 401 (asumiendo que no
tienes alguna autenticacion rara en el WebService).
Recuerda que SPS cuando comete un error muchas veces no devuelve
directamente una exception, sino que te manda a una pagina error.aspx, que es
lo que puede estar pasando aqui (directamente desde el finally hacia el
error.aspx con una redireccion, de tal forma que nunca vas mas alla en el
codigo).
Es una idea...
Saludos,
Gustavo


"Tako" wrote:


Hola grupo

Tengo un problemilla que me está haciendo pensar muy seriamente en el
retiro de la informática, no se si es un error mío, del SPS, de los
Webservices o un bug del Framework, pero como en el fondo está el SPS lo
mando aquí de momento a ver si entre sufridos programadores del SPS
encontramos una solución.

Explico la situación:

Cliente (C) que llama a un Webservice (WS)
WS que llama a una dll (DLL)
DLL que hace trabajos contra el SPS, uno de estos trabajos es crear
un sitio nuevo

El problema se da cuando el usuario no tiene permisos para crear un
sitio, entonces debería de suceder

La DLL casca por que no tiene permisos, la DLL captura la excepción,
deja constancia en un fichero de logs y la relanza.
El WS captura esa excepción relanzada y devuelve el string "error"
El cliente recibe la cadena "error" y hace lo que deba de hacer.

El problema es que el cliente en lugar de recibir la cadena recibe un
error 401 de acceso no autorizado a la página en lugar de "error", el
problema es que el WS SI que trata bien la excepción y devuelve "error".

He estado mirando el código depurándolo y a base de logs y sucede esto:

try
llamada a la dll
catch ex as exception
aquí entra
finally
aquí también
end try

aquí ya no llega


Vamos, que parece que no llega a salir nunca del try.

La verdad es que no le veo sentido.

A ver si alguien me puede echar una mano.

Graciassss




Preguntas similares