Ver Mensaje Individual
  #1  
Antiguo 22-12-2010
josemmerida josemmerida is offline
Miembro
 
Registrado: nov 2003
Ubicación: Málaga(España)
Posts: 60
Reputación: 21
josemmerida Va por buen camino
Consumir WebService. Ayuda con XML,WSDL,XSD,SOAP

Buenas a todos.

Resulta que yo era muy feliz tratando con la Agencia Tributaria con una DLL con la que le enviaba textos planos(Mensajes EDI) y ahora me imponen trabajar con Web Services. Realmente no tengo ni la más mínima idea de como afrontar este tema y resulta imprescindible para mi empresa

Me explico. Los principios teóricos son literalmente:

"Estructura de los mensajes será descrita sobre la base de la creación de esquemas XML con recomendación W3C"

"Con relación a SOAP se utilizará SOAP V1.1... NOTA W3C "

" SOAP-1.1 estilo modo “document” no "rpc...(style=”document”) sin ningún tipo de codificación (use=”literal”)"

" descripción de los servicios utilizaremos WSDL 1.1 como NOTA W3C "


Les explico las piezas con las que tengo que montar el proyecto(este es uno de los servicios hay un monton más):

Servicio WEB

https://www1.agenciatributaria.gob.e...ns.IE315P2SOAP

Servicio Implementado en

https://www2.agenciatributaria.gob.e...s/IE315V3.wsdl

Los "Esquemas comunes a todos los esquemas" son:

Common schemas.

Documentation (doc.xsd): Documentation Elements.

https://www2.agenciatributaria.gob.e.../ensws/doc.xsd

Simple Types XSD: ICS Simple Types (simple_types_ics.xsd) and Interdomain Simple Types (simple_types.xsd) .

https://www2.agenciatributaria.gob.e..._types_ics.xsd

https://www2.agenciatributaria.gob.e...mple_types.xsd

Technical Codelists XSD: ICS Technical Code Lists (tcl_ics.xsd) and Interdomain Codelists (tcl.xsd).

https://www2.agenciatributaria.gob.e...ws/tcl_ics.xsd

https://www2.agenciatributaria.gob.e.../ensws/tcl.xsd
Common Complex Types XSD (Complex_types_ics.xsd): ICS Common Simple Data Groups.

https://www2.agenciatributaria.gob.e..._types_ics.xsd

ConsENSV2Dat.xsd. Applicable to Entry Summary Declaration Information Request service.

https://www2.agenciatributaria.gob.e...nsENSV2Dat.xsd


El diseño del esquema de entrada se puede consultar en la dirección:

https://www2.agenciatributaria.gob.e...IE315V3Ent.xsd

El diseño del esquema de salida IE328V3Sal.xsd se puede consultar en la dirección

https://www2.agenciatributaria.gob.e...IE328V3Sal.xsd

Vaya plomo estoy soltando

Esquematizando creo que debo hacer:

1- Crear un archivo XML segun la definicion del archivo IE315V3Ent.xsd
2- Firmar el archivo XML generado con un certificado de FNMT.
3- Enviar el archivo+firma al servicio WEB IE315P2SOAP implementado por IE315V3.wsdl
4- Recepcionar el archivo XML de vuelta segun la definicion del archivo IE328V3Sal.xsd

Hasta aquí el rollo teórico. Hasta hace 5 días todo esto me sonaba más o menos a chino (si me sacais de mi Firebird y mi delphi básico me pierdo...). Por favor si me estoy equivocando os rogaría que me lo indicarais.

Gracias a la ayuda de delphi y a la busqueda en los foros he hecho unos avances:

Voy a File->New->Others->WEb Services->WSDL Importer, allí me sale un Wizard donde introduzco la direccion de la implementación del WEB Service (IE315V3.wsdl) y casi magicamente se crea una unit de más de 4000 lineas que define clases TRemotable, con la que toricamente se atacará al servicio.
Esta unidad no compila por hace referencia a unos tipos de datos desconocidos por la unidad.Por ejemplo "Alphanumeric_Max14"

Voy a File->New->Others->XML->XML Data Binding y empiezo a importar los archivos XSD de esquemas comunes. Allí vuelve a salir un wizard para hacerlo, pero este no es tan mágico.

Pongo la direccion de uno de los archivos XSD(https://www2.agenciatributaria.gob.e...mple_types.xsd), y la cosa promete ya me ofrece para importar tipos del estilo "Alphanumeric_Maxnn" que intentará convertir en Widestring. Pero al darle a siguiente salta el error: "No bindable Datatypes found or selected".
El sistema no me ofrece alternativas, todos los Datatypes los intenta convertir a Widestring... No se que pasa.

¿Alguien me puede ayudar?

El camino va a ser largo pero parece que esta tecnología se va a imponer en las relaciones con agencia tributaria, ya que son consensuadas a nivel de la Unión Europea y no creo que delphi me vaya a dejar tirado. Solo haría falta que me tuviera que pasar a VB o como se llame...


Muchas gracias

Ahhh, uso delphi 2007 (lo he intentado con mi delphi 7 antiguo y da más errores)
Responder Con Cita