![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
webService Soap de la Administración Digital Española notific@
Descripción del WebService (WSDL y XSD): aqui
Estoy tratando de utilizar un webService Soap de la Administración Digital Española. Concretamente para recibir notificaciones electrónicas del servicio https://notificaciones.060.es, para integrar en mi aplicación la recepción de notificaciones de hacienda, Seguridad Social, etc. Utilizando el ejemplo de este hilo (post #39) de este foro, ya he conseguido autentificarme con certificado digital. Ahora estoy tratando de componer la petición para la función ConsultaMetadatos, que se describe en el wsdl que va en el zip adjunto. Código:
function ConsultaMetadatos(const peticion: PeticionConsulta): RespuestaConsulta; stdcall; Código:
{ IXMLPeticionConsultaTipo } IXMLPeticionConsultaTipo = interface(IXMLNode) ['{9C8D0AD3-2ADD-4C15-A401-F88671884764}'] { Property Accessors } function Get_ComoAutorizadoDelTitular: UnicodeString; function Get_PaginaSolicitada: Integer; function Get_ComoAutorizado: Boolean; function Get_IncluirNombreOrganismoEmisor: Boolean; function Get_IncluirDatosRecogida: Boolean; function Get_TicketID: UnicodeString; function Get_Estado: UnicodeString; function Get_FechaInicio: UnicodeString; function Get_FechaFin: UnicodeString; function Get_Emisor: UnicodeString; function Get_Notificado: UnicodeString; function Get_TipoMensaje: UnicodeString; function Get_ActoNotificado: UnicodeString; procedure Set_ComoAutorizadoDelTitular(Value: UnicodeString); procedure Set_PaginaSolicitada(Value: Integer); procedure Set_ComoAutorizado(Value: Boolean); procedure Set_IncluirNombreOrganismoEmisor(Value: Boolean); procedure Set_IncluirDatosRecogida(Value: Boolean); procedure Set_TicketID(Value: UnicodeString); procedure Set_Estado(Value: UnicodeString); procedure Set_FechaInicio(Value: UnicodeString); procedure Set_FechaFin(Value: UnicodeString); procedure Set_Emisor(Value: UnicodeString); procedure Set_Notificado(Value: UnicodeString); procedure Set_TipoMensaje(Value: UnicodeString); procedure Set_ActoNotificado(Value: UnicodeString); { Methods & Properties } property ComoAutorizadoDelTitular: UnicodeString read Get_ComoAutorizadoDelTitular write Set_ComoAutorizadoDelTitular; property PaginaSolicitada: Integer read Get_PaginaSolicitada write Set_PaginaSolicitada; property ComoAutorizado: Boolean read Get_ComoAutorizado write Set_ComoAutorizado; property IncluirNombreOrganismoEmisor: Boolean read Get_IncluirNombreOrganismoEmisor write Set_IncluirNombreOrganismoEmisor; property IncluirDatosRecogida: Boolean read Get_IncluirDatosRecogida write Set_IncluirDatosRecogida; property TicketID: UnicodeString read Get_TicketID write Set_TicketID; property Estado: UnicodeString read Get_Estado write Set_Estado; property FechaInicio: UnicodeString read Get_FechaInicio write Set_FechaInicio; property FechaFin: UnicodeString read Get_FechaFin write Set_FechaFin; property Emisor: UnicodeString read Get_Emisor write Set_Emisor; property Notificado: UnicodeString read Get_Notificado write Set_Notificado; property TipoMensaje: UnicodeString read Get_TipoMensaje write Set_TipoMensaje; property ActoNotificado: UnicodeString read Get_ActoNotificado write Set_ActoNotificado; end; Código:
result := GetAPE_SNE_BuzonWS_TipoPuerto.ConsultaMetadatos(PeticionConsulta); ¿Como puedo construirlo? Alguien me puede echar una mano. |
#2
|
|||
|
|||
Cuando importas el wsdl desde delphi este te genera en unas unidades(a modo de interface) la definiciòn de objetos, funciones y demas usar en el webservice, revisa como estan estructurados ahi.
Saludos. |
#3
|
||||
|
||||
Si. He importado el wsdl con las funciones disponibles en el WebService y los dos xsd de la descripción de tipos (Aunque uno de ellos me da error, fui sacando los interfaces manualmente).
Lo que no sé es como construirir ahora el objeto que se envía por SOAP, en el caso que pongo "PeticionConsulta". Como construyo ese objecto utilizando la interface y ¿Le paso directamente ese objecto o debo hacer con el él un xml? Todo esto es nuevo para mí y estoy muy perdido. Saludos. |
#4
|
||||
|
||||
No acabo de comprender como se construye el objeto que le tengo que pasar al soap.
He tratado de hacerlo así Código:
var LDocument : IXMLDocument; PeticionConsulta : IXMLPeticionConsultaTipo; RespuestaConsulta : IXMLRespuestaConsultaTipo; Estado : IXMLNode; TipoMensaje : IXMLNode; ..... ..... LDocument := TXMLDocument.Create(nil); LDocument.Active := True; LDocument.DocumentElement := LDocument.CreateNode('PeticionConsulta', ntElement, ''); LDocument.DocumentElement.Attributes['ComoAutorizado'] := 'false'; LDocument.DocumentElement.Attributes['IncluirNombreOrganismoEmisor'] := 'true'; LDocument.DocumentElement.Attributes['IncluirDatosRecogida'] := 'true'; Estado := LDocument.CreateNode('Estado', ntElement); LDocument.DocumentElement.ChildNodes.Add(Estado); TipoMensaje := LDocument.CreateNode('TipoMensaje', ntElement); LDocument.DocumentElement.ChildNodes.Add(TipoMensaje); Código:
<PeticionConsulta ComoAutorizado="false" IncluirNombreOrganismoEmisor="true" IncluirDatosRecogida="true"> <Estado/> <TipoMensaje/> </PeticionConsulta> ![]() Alguien puede hecharme una mano con esto?. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice | newtron | Internet | 3557 | Hace 3 Semanas 17:42:47 |
COVE. Encabezados en XML-Cliente Webservice-SOAP | ruedabeat2003 | Internet | 4 | 10-01-2012 01:11:59 |
SOAP POST - Webservice con Certificado y SSL | JXJ | Varios | 5 | 09-05-2011 20:11:08 |
Consumir WebService. Ayuda con XML,WSDL,XSD,SOAP | josemmerida | Internet | 2 | 23-12-2010 13:37:16 |
WebService y SOAP | linsua | Varios | 0 | 07-04-2004 19:27:16 |
![]() |
|