Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2008
azulin azulin is offline
Miembro
 
Registrado: sep 2008
Posts: 13
Poder: 0
azulin Va por buen camino
Problema consumiendo un webservice

Hola a todos

Estoy tratando de hacer una aplicación Delphi para consumir un servicio web. Este tiene excepciones customizadas y no soy capaz de capturarlas.

El código que me genera Delphi para la execpción customizada es la siguiente:

Código:
ExceptionCustomizada = class(ERemotableException)
  private
    F_code: Integer;
    F_description: WideString;
  published
    property _code: Integer read F_code write F_code;
    property _description: WideString read F_description write F_description;
  end;
Por otra parte, usando la aplicación soapUI obtengo la siguiente respuesta para una petición que devuelve excepción:

Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         
 [....]
      </soapenv:Fault>
      <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:ExceptionCustomizada" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="http://......">
         <_code xsi:type="xsd:int">503</_code>
         <_description xsi:type="soapenc:string">No existe ningun codigo = 11111111</_description>
      </multiRef>
   </soapenv:Body>
</soapenv:Envelope>
En mi aplicación Delphi tengo el siguiente código para capturar la excepción:

Código:
  except
    On E : ERemotableException do
      begin
        Memo1.Lines.Add('Excepción!'); //<-- Entra por aqui
      end;
    Else
      ShowMessage('Unknown error');
  end;
El problema que tengo es que necesito capturar los valores de _code y _description (que usando el soapUI lo veo sin problemas). Si en vez del código anterior uso el siguiente..

Código:
  except
    On E : ExceptionCustomizada do
      begin
        Memo1.Lines.Add('Excepción!'); 
      end;
    Else
      ShowMessage('Unknown error'); //<-- Entra por aqui
  end;
.. no me reconoce la execpción y no puedo acceder a esos dos campos que antes he indicado.

¿Qué estoy haciendo mal?

Un saludo y muchisimas gracias por vuestra ayuda
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Nuevo en WebService CARSOFT_AR Internet 0 27-06-2006 21:00:56
ProcessMessage en un WebService nicohug Internet 12 24-10-2005 23:36:12
WebService y D4 Nose Internet 1 02-08-2005 23:18:23
PHP en Linux consumiendo componente Delphi en Windows utncs Providers 1 14-10-2004 01:43:35
Problema al consumir un Webservice netcigos Varios 0 08-03-2004 16:09:30


La franja horaria es GMT +2. Ahora son las 13:44:14.


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
Copyright 1996-2007 Club Delphi