Todos los derechos reservados para XM S.A. ESP Detalles técnicos Web Service. Reporte de información de interrupciones. interrupciones Gerencia Centro Nacional de Despacho Dirección Transacciones del Mercado Mayo, 2010 Todos los derechos reservados XM S.A. E.S.P. Contenido Objetivo 1 Descripción del Servicio Web wsCargaEventosOr 1 Métodos del servicio 1 Reporte diario 1 Reporte trimestral 3 Consumo del Web Service 4 Configuración del cliente .NET 3.0 o superior 4 Peticiones al servicio 5 Cargar Reporte Diario 5 Carga Trimestral Eventos Causas 6 Respuesta del servicio 6 Cargar Reporte Diario 6 Carga Trimestral Eventos Causas 7 Consideraciones técnicas 7 Requisitos tecnológicos 7 Objetivo El presente documento da a conocer los métodos expuestos por el Servicio Web wsCargaEventosOr, para que los agentes puedan reportar información de eventos de interrupciones de transformadores y/o circuitos, de los Sistemas de Distribución Local. Lo anterior, para dar cumplimiento al artículo 17 de la Resolución CREG 043 de 2010. Se explican los métodos expuestos por el Servicio Web wsCargaEventosOr, se definen los métodos expuestos por el Servicio Web wsCargaEventosOr, sus parámetros y los valores de retorno. Todos los derechos reservados XM S.A. E.S.P. Descripción del Servicio Web wsCargaEventosOr El servicio Web wsCargaEventosOr se crea con el fin de proveer a aplicaciones externas la posibilidad de cargar los eventos de indisponibilidad de interrupciones de transformadores y/o circuitos de los Sistemas de Distribución Local, teniendo como base lo definido en las Resoluciones CREG 097 de 2008 y 043 de 2010. Métodos del servicio Reporte diario Permite cargar un reporte diario con los eventos de indisponibilidad de los activos del SDL. Parámetros: ArchivoCarga: El archivo debe ser en formato .csv, separado por comas, comprimido en .zip y convertido a un arreglo de bytes (bytes[]). El tamaño máximo del arreglo de bytes por petición es de 4096 kb. Este tamaño se establece para asegurar que todos los agentes tengan la posibilidad de entregar la información. Si el archivo convertido al arreglo de bytes supera esta cantidad, el archivo deberá particionarse de manera que cumpla con esta restricción, y enviarse en varias peticiones. Columnas: Las columnas definidas para el archivo son: CodigoEvento, FechaInicial, FechaFinal, CodigoElemento, TipoElemento y EventoContinua. Detalles técnicos – Servicio Web reporte SDL 2 CodigoEvento: Código del evento de interrupción. Debe ser único durante todo el transcurso del evento de interrupción. Si el evento a reportar no es de interrupción, es decir para los transformadores y/o circuitos no afectados por interrupciones, el código del evento debe ser “NA”. FechaInicial: Fecha y hora de inicio del evento. Si el evento a reportar no es de interrupción es decir para los transformadores y/o circuitos no afectados por interrupciones, se debe reportar este campo nulo. Si el evento a reportar viene de un día anterior, este campo debe ir nulo. FechaFinal: Fecha y hora de fin del evento. Si el evento a reportar no es de interrupción es decir para los transformadores y/o circuitos no afectados por interrupciones, se debe reportar este campo nulo. Si el evento a reportar no termina el día del reporte, este campo debe ir nulo. CodigoElemento: El código del transformador o circuito a reportar TipoElemento: Dependiendo del elemento a reportar se debe colocar “T” si es un transformador y Todos los derechos reservados XM S.A. E.S.P. “P” si es un circuito EventoContinua: Dependiendo si el evento continúa o no, se debe indicar con una letra “S” si continúa y con la letra “N” si no. A continuación se muestra un ejemplo del archivo a reportar: CodigoEvento FechaInicial FechaFinal CodigoElemento TipoElemento EventoContinua E0000000006 14/04/2010 11:16:04 14/04/2010 12:16:35 05416 T N E0000000007 14/04/2010 11:19:08 14/04/2010 11:35:47 CK546 P N E0000000008 14/04/2010 15:16:43 Nulo 05422 T S E0000000002 Nulo 14/04/2010 14:35:23 CK986 P N NA Nulo Nulo 731TR1 T N Para los transformadores y circuitos que no tuvieron interrupciones, se reporta un evento “NA”, es decir, no aplica y adicionalmente los campos fecha inicial y fecha final van en Nulo. En caso que un evento no finalice antes de la fecha de reporte, el campo fecha final va en Nulo y en la columna EventoContinua, la letra S. Cuando el evento finalice, se reporta el mismo código de evento con fecha inicial Nulo y la fecha fin correspondiente. Detalles técnicos – Servicio Web reporte SDL 3 Para un mismo evento, los transformadores y/o circuitos afectados, tendrán la misma fecha inicial y pueden tener fecha final diferente para cada elemento. PeriodoCarga: Indica si la información a verificar es diaria o mensual. 0 para diaria, 1 para mensual. TipoCarga: Indica si la información a cargar adiciona o sobrescribe información enviada. 0 para adicionar, 1 para sobrescribir. Ejemplo: Si se carga información diaria y se le da adicionar, el servicio cargará los eventos como nuevos para el periodo seleccionado. Si se le da sobrescribir, borrará la información reportada bajo la misma fecha y mismo periodo y adicionará la nueva. Valor Retornado: Objeto con el campo “Estado” indicando el estado de la carga. “Correcto” si la carga fue correcta, “Fallo” si la carga falló. Si la carga falló, se devolverá una lista de objetos con el código del evento y el código del elemento en el cual falló la carga. Todos los derechos reservados XM S.A. E.S.P. Reporte trimestral Permite cargar las causas de los eventos que son publicados en el Reporte Oficial publicado por el LAC y marcar como eliminados los eventos que así lo ameriten. Parámetros: ArchivoCarga: El archivo debe ser en formato .csv, separado por comas y convertido a un arreglo de bytes (bytes[]). El tamaño máximo del arreglo de bytes por petición es de 4096 kb. Este tamaño se establece para asegurar que todos los agentes tengan la posibilidad de entregar la información. Si el archivo convertido al arreglo de bytes supera esta cantidad, el archivo deberá particionarse de manera que cumpla con esta restricción, y enviarse en varias peticiones. Columnas: Las columnas definidas para el archivo son: CodigoEvento, Causa, DescripcionCausa, y DebeEliminarse. CodigoEvento: Código del evento de indisponibilidad. Causa: Código de la causa del evento de acuerdo con la codificación definida por el LAC. DescripcionCausa: Descripción detallada de la causa del evento. Tamaño maximo del campo: 150 caracteres. DebeEliminarse: Corresponde a una letra. Si el evento debe eliminarse se debe indicar la letra “S” y si no es así se debe indicar la letra “N” Detalles técnicos – Servicio Web reporte SDL 4 A continuación se muestra un ejemplo del archivo a reportar: CodigoEvento Causa DescripcionCausa DebeEliminarse E0000000001 Cau0001 Mantenimiento N E0000000002 Cau0002 Terrorismo S E0000000003 Cau0003 Mantenimiento N TipoCarga: Indica si la información a cargar adiciona o sobrescribe información enviada. 0 para adicionar, 1 para sobrescribir. Ejemplo: Si se carga información diaria y se le da adicionar, el servicio cargará los eventos Todos los derechos reservados XM S.A. E.S.P. como nuevos para el periodo seleccionado. Si se le da sobrescribir, borrará la información reportada bajo la misma fecha y mismo periodo y adicionará la nueva. Valor Retornado: Objeto con el campo “Estado” indicando el estado de la carga. “Correcto” si la carga fue correcta, “Fallo” si la carga falló. Si la carga falló, se devolverá una lista de objetos con el código del evento en el cual falló la carga. Consumo del Web Service Las aplicaciones que van a consumir el web service deberán usar la siguiente URL vía SOAP: http://xm.com.co/wsCargaEventosOr/wsCargaEventosOr.svc?wsdl Nota: La ruta definitiva y la configuración del cliente están sujetos a cambios. Configuración del cliente .NET 3.0 o superior <?xml version="1.0" encoding="utf-8"?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_ICargaEventosOrService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" Todos los derechos reservados XM S.A. E.S.P. Detalles técnicos – Servicio Web reporte SDL 5 hostNameComparisonMode="StrongWildcard" maxBufferSize="65536000" maxBufferPoolSize="524288" maxReceivedMessageSize="65536000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="http://xm.com.co/wsCargaEventosOr/wsCargaEventosOr.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICargaEventosOrService" contract="ICargaEventosOrService" name="BasicHttpBinding_ICargaEventosOrService" /> </client> </system.serviceModel> </configuration> La ruta del servicio es sujeta a cambios y debe cambiarse dependiendo de la ruta final expuesta. Peticiones al servicio Cargar Reporte Diario <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"> http://XM.Reso097SDL.Core.Publicacion/ICargaEventosOrService/CargarReporteDiario</Action> </s:Header> <s:Body> <CargarReporteDiario xmlns="http://XM.Reso097SDL.Core.Publicacion"> <archivoCargar>array[]</archivoCargar> <PeriodoCarga>0</PeriodoCarga> <TipoCarga>0</TipoCarga> </CargarReporteDiario> </s:Body> </s:Envelope> Detalles técnicos – Servicio Web reporte SDL 6 Carga Trimestral Eventos Causas Todos los derechos reservados XM S.A. E.S.P. <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none"> http://XM.Reso097SDL.Core.Publicacion/ICargaEventosOrService/CargaTrimestralEventosCausas</ Action> </s:Header> <s:Body> <CargaTrimestralEventosCausas xmlns="http://XM.Reso097SDL.Core.Publicacion"> <archivoCargar>array[]</archivoCargar> <TipoCarga>0</TipoCarga> </ CargaTrimestralEventosCausas> </s:Body> </s:Envelope> Respuesta del servicio Cargar Reporte Diario <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header /> <s:Body> <CargarReporteDiarioResponse xmlns="http://XM.Reso097SDL.Core.Publicacion"> <CargarReporteDiarioResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Reportes> <Estado>estado</Estado> <RegistroReporte> <Evento>E0000001</Evento> <Elemento>TRF0001</Elemento> </RegistroReporte> </Reportes> </CargarReporteDiarioResult> </CargarReporteDiarioResponse> </s:Body> </s:Envelope> En el campo Estado en vez de lo marcado en rojo irá el estado de la carga. “Correcto” si cargo el archivo. “Fallo” si fallo la carga. En el objeto RegistroReporte van dos campos: Detalles técnicos – Servicio Web reporte SDL 7 En el campo Linea irá el número de la línea que falló en la carga. En el mensaje irá el mensaje describiendo el error. Todos los derechos reservados XM S.A. E.S.P. Carga Trimestral Eventos Causas <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header /> <s:Body> <CargaTrimestralEventosCausasResponse xmlns="http://XM.Reso097SDL.Core.Publicacion"> <CargaTrimestralEventosCausasResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Reportes> <Estado>estado</Estado> <RegistroReporte> <Evento>0</Evento> </RegistroReporte> </Reportes> </CargaTrimestralEventosCausasResult> </CargaTrimestralEventosCausasResponse> </s:Body> </s:Envelope> En el campo Estado en vez de lo marcado en rojo irá el estado de la carga. “Correcto” si cargo el archivo. “Fallo” si fallo la carga. En el objeto RegistroReporte van dos campos: En el campo Linea irá el número de la línea que falló en la carga. En el mensaje irá el mensaje describiendo el error. Consideraciones técnicas Como el Web Service se utilizará para carga de eventos de indisponibilidad de todos los circuitos y transformadores de los distintos agentes y se ha observado que los archivos a reportar pueden ser bastante grandes, el archivo .csv debe ser comprimido en .zip y no puede superar 4086 kb de tamaño. Si el archivo comprimido supera este tamaño, debe particionarse el archivo original de manera que cumpla esta restricción. Además, en la configuración del servicio se recomienda tener los valores maxBufferSize = "65536000” y maxReceivedMessageSize = "65536000". Requisitos tecnológicos Requisitos del Sistema Detalles técnicos – Servicio Web reporte SDL 8 La descripción de hardware y software contenido en este documento se presenta como recomendaciones genéricas. Factores individuales que pueden influenciar estos requisitos incluyen: • • • Desempeño de la red local donde la computadora cliente de trabajo está instalada. Acceso a Internet que la computadora cliente esté utilizando para el acceso al sistema. Configuración de hardware de la computadora cliente. La siguiente tabla presenta recomendaciones generales sobre los requisitos de hardware y software para utilizar el Sistema de Información para el reporte de la información de las interrupciones: Todos los derechos reservados XM S.A. E.S.P. Requisito Recomendado Computador/procesador Intel Pentium o superior o equivalente de otros fabricante Memoria (RAM) 1 GB RAM o más Tarjeta de red 100 Mbps FastEthernet o superior Sistema operativo Windows XP SP2 con todas las actualizaciones disponibles Explorador de Internet Internet Explorer 7.0 o superior Conexión a Internet Banda Ancha Conexión de red local 100 Mbps o superior