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 27-06-2018
alejozd alejozd is offline
Miembro
 
Registrado: jul 2010
Posts: 16
Poder: 0
alejozd Va por buen camino
Respuesta multipart de Web Service SOAP

Hola, tengo un problema al consumir un servicioweb SOAP, el servicio utiliza WS-Security y credenciales utilizando el modelo Username Token. Hasta esta parte ya logre armar el request de manera correcta.
El mensaje de error es este: El documento XML debe tener un elemento de nivel superior.
El problema esta en la respuesta del Web Service, en el evento (OnBeforeExecute y OnAfterExecute) del objeto HTTPRIO puedo ver la trama que se envía al servicio web y en el after puedo ver la trama que retorna el servicio. Al parecer la respuesta no es un XML, porque viene con un identificador que inicia y al final después del XML vuelve a cerrar.

Código Delphi [-]
--uuid:8b0f2641-d514-475c-91a2-3a5e7c39856e
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: message@cxf.apache.org>

 --Aqui todo el XML bien formado....
--uuid:8b0f2641-d514-475c-91a2-3a5e7c39856e--

Haciendo las pruebas con el programa SOAPUI, la trama enviada retorna bien la respuesta y muestra el XML.

Ahora bien, estoy haciendo la prueba con Delphi Berlin, utilizo el componente HTTPRIO.
Primero cargo el objeto HTTPRIO en el metodo de la interfaz que me crea el WSDL.
Código Delphi [-]
WService.GetinvoiceService(False,Trim(edtUrl.Text),HTTPRIO1);
Luego lleno los datos de cabecera, luego le paso el objeto de cabecera a HTTPRIO
Código Delphi [-]
HTTPRIO1.SOAPHeaders.Send(vheadSeguridad);
Luego lleno los datos que requiere el metodo y por ultimo hago el envio.
Código Delphi [-]
vFolios := (HTTPRIO1 as WServiceCarvajal.invoiceService).CheckAvailableDocuments(vFoliosE);
donde las variables de vfolios y vFoliosE están definidas de la siguiente manera.
Código Delphi [-]
  vFolios : CheckAvailableDocumentsResponse;
  vFoliosE : CheckAvailableDocumentsRequest;

Haciendo un paso a paso, el error esta cuando intenta cargar la respuesta en el procedure
Código Delphi [-]
procedure TXMLDocument.LoadData;

Agradezco cualquier aporte.
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
Leer Archivo XML de respuesta de webServices SOAP en un ClientDataSet Matias_ Internet 6 06-06-2018 10:40:13
Web Service SOAP con Delphi 5 socger Internet 7 26-07-2012 23:25:51
SOAP Web Service foetus JAVA 3 19-02-2009 17:50:44
cliente Web service SOAP php papulo PHP 0 13-02-2009 12:41:16
Version SOAP en Web Service D7 Luis Heriberto Internet 0 06-09-2006 01:07:16


La franja horaria es GMT +2. Ahora son las 19:55:28.


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