Servicio común de consulta por CSV para aplicaciones productoras Servicio común de consulta por CSV Documento de Integración Sistemas Desarrollo Versión 010 Fecha de revisión 20/05/2016 Realizado por Sistemas Desarrollo Servicio común de consulta por CSV v1.0 / 1 ÍNDICE 1 Control de modificaciones ..................................................................................................................... 3 2 Objetivo del documento ........................................................................................................................ 4 3 Descripción funcional ............................................................................................................................ 5 4 Especificación ........................................................................................................................................ 6 5 Estructuras de datos .............................................................................................................................. 7 6 5.1 WSCredential ........................................................................................................................................... 7 5.2 CSVQueryDocumentRequest ................................................................................................................... 7 5.3 CSVQueryDocumentResponse ................................................................................................................. 8 5.4 CSVQueryDocumentException................................................................................................................. 9 5.5 documentResponse ................................................................................................................................. 9 5.6 waitResponse .......................................................................................................................................... 9 Ejemplo de peticiones SOAP ................................................................................................................ 10 6.1 CSV encontrado y documento disponible en el momento ..................................................................... 10 Petición ........................................................................................................................................ 10 Respuesta ................................................................................................................................... 10 6.2 CSV encontrado y documento no disponible en el momento ................................................................ 11 Petición ........................................................................................................................................ 11 Respuesta ................................................................................................................................... 11 6.3 CSV no encontrado ................................................................................................................................ 12 Petición ........................................................................................................................................ 12 Respuesta ................................................................................................................................... 12 6.4 Error en el servidor ................................................................................................................................ 13 Petición ........................................................................................................................................ 13 Respuesta ................................................................................................................................... 13 7 Definición del servicio ........................................................................................................................... 14 7.1 WSDL ...................................................................................................................................................... 14 7.2 WSDL + XSD ............................................................................................................................................ 16 Servicio común de consulta por CSV v1.0 / 2 1 Control de modificaciones Revisión Actual: Fecha: Autor: Descripción: - 010 20/05/2016 Sistemas Desarrollo Actualización del punto 7.2 para corregir la definición de los xsd. Revisión Anterior: Fecha: Autor: Descripción: - 009 06/05/2016 Sistemas Desarrollo Actualización del punto 7 para corregir la definición del CSVQueryDocumentException. Revisión Anterior: Fecha: Autor: Descripción: - 005 09/02/2016 Sistemas Desarrollo Actualización del punto 7 para detallar mejor el wsdl a implementar. Revisión Anterior: Fecha: Autor: Descripción: - 004 13/01/2016 Sistemas Desarrollo Corrección del punto 6 de los ejemplos de peticiones SOAP. Revisión Anterior: Fecha: Autor: Descripción: Se define un atributo descripción para los códigos de respuesta del servicio y los textos de cada uno de ellos. Revisión Anterior: Fecha: Autor: Descripción: 003 01/07/2015 Sistemas Desarrollo 002 30/06/2015 Sistemas Desarrollo Se incluye el objeto con las credenciales para la autenticación en el servicio. Modificaciones en estructuras de datos y espacios de nombres. Servicio común de consulta por CSV v1.0 / 3 Revisión Anterior: Fecha: Autor: Descripción: 001 11/02/2015 Sistemas Desarrollo Versión inicial del documento. Especificación y guía del servicio de consulta de documentos. Servicio común de consulta por CSV v1.0 / 4 2 Objetivo del documento El objetivo del presente documento es hacer una descripción funcional del servicio de consulta de documentos por medio del CSV, que deben implementar las aplicaciones denominadas productoras (aplicaciones a las que debe acudir el CSV Broker para poder recuperar el documento en cuestión), además de una descripción de la especificación del mismo. Servicio común de consulta por CSV v1.0 / 5 3 Descripción funcional El servicio de consulta por CSV debe devolver el documento asociado a un CSV concreto. Servicio común de consulta por CSV v1.0 / 6 4 Especificación El servicio CSVQueryDocumentService_Rev010 tendrá una sola operación, csvQueryDocument, que recibirá como entrada un elemento de tipo csvQueryDocumentRequest y devolverá un elemento de tipo csvQueryDocumentResponse. Servicio común de consulta por CSV v1.0 / 7 5 Estructuras de datos 5.1 WSCredential A continuación, se explica la estructura del tipo: <xs:complexType name="WSCredential"> <xs:sequence> <xs:element name="idaplicacion" type="xs:string" /> <xs:element name="password" type="xs:string" /> </xs:sequence> </xs:complexType> 5.2 CSVQueryDocumentRequest A continuación, se explica la estructura del tipo: <xs:complexType name="CSVQueryDocumentRequest"> <xs:sequence> <xs:element name="csv" type="xs:string" /> <xs:element name="dir3" type="xs:string" /> </xs:sequence> </xs:complexType> Contiene dos elementos: csv: Código CSV. Obligatorio. Dir3: Código dir3. Opcional Servicio común de consulta por CSV v1.0 / 8 5.3 CSVQueryDocumentResponse A continuación, se explica la estructura del tipo: <xs:complexType name="CSVQueryDocumentResponse"> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="documentResponse" type="tns:documentResponse" /> <xs:element minOccurs="0" name="waitResponse" type="tns:waitResponse" /> </xs:sequence> </xs:complexType> El tipo se compone de los siguientes elementos: code: Código para indicar el resultado de la operación. Los valores que se deben devolver en de este código son: 0: La operación se ha realizado con éxito, es decir, se devuelve el documento asociado al CSV. 1: El documento no puede recuperarse, pero puede consultarse pasados unos segundos. 2: CSV no encontrado. description: Breve descripción del resultado según el código de respuesta: 0: “La operación se ha realizado con éxito.” 1: “El documento no puede recuperarse. Puede consultarse pasado un tiempo.” 2: “CSV no encontrado.” documentResponse: Elemento utilizado para devolver el documento. Se describe con detalle en el apartado 5.5. En caso de devolver este elemento, el elemento code deberá tener el valor 0. Elemento opcional. waitResponse: Elemento utilizado para indicar el número de segundos a esperar para tener disponible el documento. Se describe en detalle en el apartado 5.6. En caso de devolver este elemento, el elemento code deberá tener el valor 1. Elemento opcional. Servicio común de consulta por CSV v1.0 / 9 5.4 CSVQueryDocumentException Excepción que se levantará cuando se produzca algún error. <xs:element name="CSVQueryDocumentException" nillable="true"> <xs:complexType> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> Contiene los siguientes elementos: code: Código del mensaje de error. description: Descripción del mensaje de error. 5.5 documentResponse Este elemento sirve para contener tanto el documento asociado a un CSV como información de este documento. <xs:complexType name="documentResponse"> <xs:sequence> <xs:element name="content" type="xs:base64Binary" /> <xs:element name="name" type="xs:string" /> <xs:element name="mime" type="xs:string" /> </xs:sequence> </xs:complexType> Se compone de los siguientes elementos: content: Contenido en Base64 del documento. name: Nombre del documento. mime: Tipo mime del documento. 5.6 waitResponse Este elemento sirve para informar al consumidor de que el documento estará disponible en un tiempo especificado en segundos. <xs:complexType name="waitResponse"> <xs:sequence> <xs:element name="secondsToWait" type="xs:long" /> </xs:sequence> </xs:complexType> Se compone de los siguientes elementos: secondsToWait: Segundos a esperar para volver a intentar recuperar el documento. Servicio común de consulta por CSV v1.0 / 10 6 Ejemplo de peticiones SOAP En este apartado se enumeran ejemplos de peticiones y respuestas SOAP para cada uno de los casos: 6.1 CSV encontrado y documento disponible en el momento Petición <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0"> <soapenv:Header/> <soapenv:Body> <urn:csvQueryDocument> <credential> <idaplicacion>prueba</idaplicacion> <password>test</password> </credential> <queryDocumentRequest> <csv>123456abcdef987654zwyvijk</csv> <dir3>A0001112</dir3> </queryDocumentRequest> </urn:csvQueryDocument> </soapenv:Body> </soapenv:Envelope> Respuesta <soap:Body> <ns2:csvQueryDocumentResponse xmlns:ns2="urn:es:gob:aapp:pgecsv:query:v1.0" xmlns:ns3="urn:es:gob:aapp:pgecsv:query:type:v1.0"> <csvQueryDocumentResponse> <code>0</code> <documentResponse> <content>JVBER...base64...</content> <name>fichero.pdf</name> <mime>application/pdf</mime> </documentResponse> </csvQueryDocumentResponse> </ns2:csvQueryDocumentResponse> </soap:Body> Servicio común de consulta por CSV v1.0 / 11 6.2 CSV encontrado y documento no disponible en el momento Petición <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0"> <soapenv:Header/> <soapenv:Body> <urn:csvQueryDocument> <credential> <idaplicacion>prueba</idaplicacion> <password>test</password> </credential> <queryDocumentRequest> <csv>123456abcdef987654zwyvijk</csv> <dir3>A0001112</dir3> </queryDocumentRequest> </urn:csvQueryDocument> </soapenv:Body> </soapenv:Envelope> Respuesta <soap:Body> <ns2:csvQueryDocumentResponse xmlns:ns2="urn:es:gob:aapp:pgecsv:query:v1.0" xmlns:ns3="urn:es:gob:aapp:pgecsv:query:type:v1.0"> <csvQueryDocumentResponse> <code>1</code> <waitResponse> <secondsToWait>3600</secondsToWait> </waitResponse> </csvQueryDocumentResponse> </ns2:csvQueryDocumentResponse> </soap:Body> Servicio común de consulta por CSV v1.0 / 12 6.3 CSV no encontrado Petición <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0"> <soapenv:Header/> <soapenv:Body> <urn:csvQueryDocument> <credential> <idaplicacion>prueba</idaplicacion> <password>test</password> </credential> <queryDocumentRequest> <csv>123456abcdef987654zwyvijk</csv> <dir3>A0001112</dir3> </queryDocumentRequest> </urn:csvQueryDocument> </soapenv:Body> </soapenv:Envelope> Respuesta <soap:Body> <ns2:csvQueryDocumentResponse xmlns:ns2="urn:es:gob:aapp:pgecsv:query:v1.0" xmlns:ns3="urn:es:gob:aapp:pgecsv:query:type:v1.0"> <csvQueryDocumentResponse> <code>2</code> </csvQueryDocumentResponse> </ns2:csvQueryDocumentResponse> </soap:Body> Servicio común de consulta por CSV v1.0 / 13 6.4 Error en el servidor Petición <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0"> <soapenv:Header/> <soapenv:Body> <urn:csvQueryDocument> <credential> <idaplicacion>prueba</idaplicacion> <password>test</password> </credential> <queryDocumentRequest> <csv>123456abcdef987654zwyvijk</csv> <dir3>A0001112</dir3> </queryDocumentRequest> </urn:csvQueryDocument> </soapenv:Body> </soapenv:Envelope> Respuesta <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Error Interno</faultstring> <detail> <ns3:ErrorInfo xmlns:ns2="urn:es:gob:aapp:pgecsv:query:v1.0" xmlns:ns3="urn:es:gob:aapp:pgecsv:query:type:v1.0"> <code>500</code> <description>Error interno en el servidor</description> </ns3:ErrorInfo> </detail> </soap:Fault> </soap:Body> Servicio común de consulta por CSV v1.0 / 14 7 Definición del servicio En este punto se muestran 2 formas de definir del endpoint que deben implementar las aplicaciones productoras. Nota: Es importante que en la definición del servicio CSVQueryDocumentService el name y el targetNamespace sean los indicados en este punto para que CSV Broker funcione correctamente al llamar al endpoint definido. 7.1 WSDL <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="CSVQueryDocumentService" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0"> <wsdl:types> <xs:schema elementFormDefault="unqualified" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" /> <xs:element name="csvQueryDocument" type="tns:csvQueryDocument" /> <xs:element name="csvQueryDocumentResponse" type="tns:csvQueryDocumentResponse" /> <xs:complexType name="csvQueryDocument"> <xs:sequence> <xs:element name="credential" type="ns1:WSCredential" /> <xs:element name="queryDocumentRequest" type="ns1:CSVQueryDocumentRequest" /> </xs:sequence> </xs:complexType> <xs:complexType name="csvQueryDocumentResponse"> <xs:sequence> <xs:element minOccurs="0" ref="ns1:CSVQueryDocumentResponse" /> </xs:sequence> </xs:complexType> </xs:schema> <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0"> <xs:element name="CSVQueryDocumentException" nillable="true"> <xs:complexType> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="CSVQueryDocumentResponse" type="tns:CSVQueryDocumentResponse" /> Servicio común de consulta por CSV v1.0 / 15 <xs:complexType name="WSCredential"> <xs:sequence> <xs:element name="idaplicacion" type="xs:string" /> <xs:element name="password" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="CSVQueryDocumentRequest"> <xs:sequence> <xs:element name="csv" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="CSVQueryDocumentResponse"> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="documentResponse" type="tns:documentResponse" /> <xs:element minOccurs="0" name="waitResponse" type="tns:waitResponse" /> </xs:sequence> </xs:complexType> <xs:complexType name="documentResponse"> <xs:sequence> <xs:element name="content" type="xs:base64Binary" /> <xs:element name="name" type="xs:string" /> <xs:element name="mime" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="waitResponse"> <xs:sequence> <xs:element name="secondsToWait" type="xs:long" /> </xs:sequence> </xs:complexType> <xs:complexType name="ExceptionInfo"> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:element name="errorInfo" nillable="true" type="tns:ExceptionInfo" /> </xs:schema> </wsdl:types> <wsdl:message name="csvQueryDocument"> <wsdl:part element="tns:csvQueryDocument" name="parameters" /> </wsdl:message> <wsdl:message name="csvQueryDocumentResponse"> <wsdl:part element="tns:csvQueryDocumentResponse" name="parameters" /> </wsdl:message> <wsdl:message name=" CSVQueryDocumentException "> <wsdl:part element="ns1:errorInfo" name="CSVQueryDocumentException" /> </wsdl:message> <wsdl:portType name="CSVQueryDocumentService"> <wsdl:operation name="csvQueryDocument"> <wsdl:input message="tns:csvQueryDocument" name="csvQueryDocument" /> <wsdl:output message="tns:csvQueryDocumentResponse" name="csvQueryDocumentResponse" /> <wsdl:fault message="tns:CSVQueryDocumentException" name="CSVQueryDocumentException" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="CSVQueryDocumentServiceSoapBinding" type="tns:CSVQueryDocumentService"> <soap:binding style="document" Servicio común de consulta por CSV v1.0 / 16 transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="csvQueryDocument"> <soap:operation soapAction="urn:csvQueryDocument" style="document" /> <wsdl:input name="csvQueryDocument"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="csvQueryDocumentResponse"> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="CSVQueryDocumentException"> <soap:fault name="CSVQueryDocumentException" use="literal" /> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="CSVQueryDocumentService"> <wsdl:port binding="tns:CSVQueryDocumentServiceSoapBinding" name="CSVQueryDocumentServicePort"> <soap:address location="http://se-csvbroker.redsara.es/csvbroker/services/CSVQueryDocumentService" /> </wsdl:port> </wsdl:service> </wsdl:definitions> 7.2 WSDL + XSD WSDL <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" xmlns:ns1="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" name="CSVQueryDocumentService"> <types> <xsd:schema> <xsd:import namespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" schemaLocation="CSVQueryDocumentService1.xsd" /> </xsd:schema> <xsd:schema> <xsd:import namespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" schemaLocation="CSVQueryDocumentService2.xsd" /> </xsd:schema> </types> <message name="csvQueryDocument"> <part name="parameters" element="tns:csvQueryDocument" /> </message> <message name="csvQueryDocumentResponse"> <part name="parameters" element="tns:csvQueryDocumentResponse" /> </message> <message name="CSVQueryDocumentException"> <part name="fault" element="ns1:errorInfo" /> </message> Servicio común de consulta por CSV v1.0 / 17 <portType name="CSVQueryDocumentService"> <operation name="csvQueryDocument"> <input message="tns:csvQueryDocument" name="csvQueryDocument" /> <output message="tns:csvQueryDocumentResponse" name="csvQueryDocumentResponse" /> <fault message="tns:CSVQueryDocumentException" name="CSVQueryDocumentException" /> </operation> </portType> <binding name="CSVQueryDocumentServicePortBinding" type="tns:CSVQueryDocumentService"> <soap:binding transport=http://schemas.xmlsoap.org/soap/http style="document" /> <operation name="csvQueryDocument"> <soap:operation soapAction="" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="CSVQueryDocumentException"> <soap:fault name="CSVQueryDocumentException" use="literal" /> </fault> </operation> </binding> <service name="CSVQueryDocumentService"> <port name="CSVQueryDocumentServicePort" binding="tns:CSVQueryDocumentServicePortBinding"> <soap:address location="http://se- csvbroker.redsara.es/csvbroker/services/CSVQueryDocumentService" /> </port> </service> </definitions> XSD 1 (CSVQueryDocumentService1.xsd) <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:tns="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" xmlns:ns1="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0"> <xs:import namespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" schemaLocation="CSVQueryDocumentService2.xsd" /> <xs:element name="csvQueryDocument" type="tns:csvQueryDocument" /> <xs:element name="csvQueryDocumentResponse" type="tns:csvQueryDocumentResponse" /> <xs:complexType name="csvQueryDocument"> <xs:sequence> <xs:element name="credential" type="ns1:WSCredential" minOccurs="0" /> <xs:element name="queryDocumentRequest" type="ns1:CSVQueryDocumentRequest" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="csvQueryDocumentResponse"> <xs:sequence> <xs:element ref="ns1:CSVQueryDocumentResponse" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:schema> Servicio común de consulta por CSV v1.0 / 18 XSD 2 (CSVQueryDocumentService2.xsd) <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:ns1="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" xmlns:tns="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:model:v1.0"> <xs:import namespace="urn:es:gob:aapp:csvbroker:webservices:querydocument:v1.0" schemaLocation="CSVQueryDocumentService1.xsd" /> <xs:element name="CSVQueryDocumentResponse" type="tns:CSVQueryDocumentResponse" /> <xs:element name="errorInfo" nillable="true" type="tns:csvQueryDocumentException" /> <xs:complexType name="CSVQueryDocumentResponse"> <xs:sequence> <xs:element name="code" type="xs:string" /> <xs:element name="description" type="xs:string" /> <xs:element name="documentResponse" type="tns:documentResponse" minOccurs="0" /> <xs:element name="waitResponse" type="tns:waitResponse" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="documentResponse"> <xs:sequence> <xs:element name="content" type="xs:base64Binary" /> <xs:element name="name" type="xs:string" /> <xs:element name="mime" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="waitResponse"> <xs:sequence> <xs:element name="secondsToWait" type="xs:long" /> </xs:sequence> </xs:complexType> <xs:complexType name="csvQueryDocumentException"> <xs:sequence> <xs:element name="code" type="xs:string" minOccurs="0" /> <xs:element name="description" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="WSCredential"> <xs:sequence> <xs:element name="idaplicacion" type="xs:string" /> <xs:element name="password" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="CSVQueryDocumentRequest"> <xs:sequence> <xs:element name="csv" type="xs:string" /> <xs:element name="dir3" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:schema> Servicio común de consulta por CSV v1.0 / 19 Servicio común de consulta por CSV v1.0 / 20