You are on page 1of 6

DOCUMENTACION WEB SERVICE PARA IMPORTACIN DE PERSONAL

El presente documento desglosa las instrucciones tcnicas para el uso del web service que
permite la importacin al maestro de personal de Payrollweb.
URL de servicio
La URL del servicio depende de la ruta del servidor de IIS donde sea implementado, debido a que
es necesario que este se encuentre en el mismo servidor donde se encuentra el sistema de
nmina.
El formato de la URL es:
http://nombreServidor/importador.asmx

Descripcin general del servicio


El servicio realiza la importacin de los datos del maestro de personal.
Listado de operaciones:

UnificaPersonal Realiza el alta o actualizacin de los empleados en maestro de personal.


Cuando el empleado no existe se crea un nuevo registro, cuando este registro cuenta con
todos los datos necesarios para el alta se crea directamente en la tabla de personal,
cuando los datos sin incompletos estos se guardan en la tabla de datos preliminares de
personal.
Cuando el empleado ya existe en el maestro de personal se realiza la actualizacin de los
datos enviados.

Caractersticas tcnicas de funciones


String UnificaPersonal(String psJsonPersonal, String psCorreo, String psPasswd, Int piEmpresa,
Int piTipoNom)
Parametros:

psJsonPersonal: Cadena Json con la informacin de los campos del empleado


El formato de la cadena Json es el siguiente
[{Campo1:Valor1,Campo2:Valor2 CampoN:ValorN},
{ Campo1:Valor1,Campo2:Valor2 CampoN:ValorN}]
Ejemplo de cadena Json:
[{"PERD000":"2","PERD001":"10000","PERD002":"NOMBRE1","PERD003":"APELLIDOP1"
,"PERD004":"APELLIDOM2","PERD205":"0","PERD005":"RFCD800215D32"},

{"PERD000":"2","PERD001":"10001","PERD002":"NOMBRE2","PERD003":"APELLIDOP2",
"PERD004":"APELLIDOM2","PERD205":"0","PERD005":"RFCD800215D32"}]

psCorreo: Correo del usuario de nmina que realizar la modificacin.


psPasswd: Contrasea del usuario de nmina que realizar la modificacin.
piEmpresa: Empresa de nmina en la que se encuentran los empleados.
piTipoNom: Tipo de nmina a la que pertenecen los empleados (se recomienda usar la
nmina maestro).

Ejemplo de consumo de web service importacin


Dim Lo_Binding As System.ServiceModel.BasicHttpBinding
Dim loRequest As wsImportador.UnificaPersonalRequest
Dim loBody As wsImportador.UnificaPersonalRequestBody
Dim loResponse As wsImportador.UnificaPersonalResponse
Dim loEndpointAddress As System.ServiceModel.EndpointAddress
Dim psJsonEmpleados As String
Dim psCorreo As String
Dim psPasswd As String
Dim piEmpresa As Integer
Dim piTipoNomina As Integer
Lo_Binding = New System.ServiceModel.BasicHttpBinding()
Lo_Binding.MaxBufferSize = Integer.MaxValue
Lo_Binding.MaxReceivedMessageSize = Integer.MaxValue
loEndpointAddress = New
System.ServiceModel.EndpointAddress("http://nombreServidor/importador.asmx")
Me.Co_ImportadorWs = New wsImportador.Service1SoapClient(Lo_Binding, loEndpointAddress)
Try
loBody = New wsImportador.UnificaPersonalRequestBody(psJsonEmpleados, psCorreo,
psPasswd, piEmpresa, piTipoNomina)
loRequest = New wsImportador.UnificaPersonalRequest(loBody)
loResponse = Co_ImportadorWs.UnificaPersonal(loRequest)
Return loResponse.Body.UnificaPersonalResult
Catch ex As Exception
Return ex.Message
End Try

Para el manejo de esta funcionalidad se cre una clase la cual podr usarse en un ambiente con
.NET, esta clase permite facilitar el uso los servicios antes mencionados. A continuacin se
muestran algunas de las funciones que contiene esta librera.

Manejador de Web Service de importacin


ManejadorSol
Clase:ManejadorImportador

Constructor
o New(String psURLServicio)
Parmetros
psURLServicio: Se especifica la URL del servicio web.
Retorno
Void

Funciones
o String GeneraJsonDeDataSet(DataSet pdsEmpleados)
Parmetros
pdsEmpleados: DataSet con los datos de los empleados, este deber
contener los encabezados de los campos de acuerdo al maestro de personal
de Solucionic.
Retorno
Valor de tipo String con la cadena Json lista para enviarse al Web Service
o String GeneraJsonDeDataView(DataSet pdsEmpleados)
Parmetros
pdsEmpleados: DataView con los datos de los empleados, este deber
contener los encabezados de los campos de acuerdo al maestro de personal
de Solucionic.
Retorno
Valor de tipo String con la cadena Json lista para enviarse al Web Service
o String GeneraJsonDeDataTable(DataSet pdsEmpleados)
Parmetros
pdsEmpleados: DataTable con los datos de los empleados, este deber
contener los encabezados de los campos de acuerdo al maestro de personal
de Solucionic.
Retorno
Valor de tipo String con la cadena Json lista para enviarse al Web Service

o String ProcesaEmpleados(String psJsonPersonal, String psCorreo, String


psPasswd, Int piEmpresa, Int piTipoNom)
Parmetros
psJsonPersonal: Cadena Json con la informacin de los empleados
psCorreo: Correo del usuario de nmina que realizar la modificacin.
psPasswd: Contrasea del usuario de nmina que realizar la modificacin.

piEmpresa: Empresa de nmina en la que se encuentran los empleados.


piTipoNom: Tipo de nmina a la que pertenecen los empleados (se
recomienda usar la nmina maestro).
Retorno
Valor de tipo String con el detalle de los errores generados al realizar el
proceso, si la cadena no trae contenido se determina que todo fue
satisfactorio.
o String ProcesaEmpleados(DataView pdvPersonal, String psCorreo, String
psPasswd, Int piEmpresa, Int piTipoNom)
Parmetros
pdvPersonal: Contenedor de tipo DataView con la informacin de los
empleados a procesar, este deber contener los encabezados de los campos
de acuerdo al maestro de personal de Solucionic.
psCorreo: Correo del usuario de nmina que realizar la modificacin.
psPasswd: Contrasea del usuario de nmina que realizar la modificacin.
piEmpresa: Empresa de nmina en la que se encuentran los empleados.
piTipoNom: Tipo de nmina a la que pertenecen los empleados (se
recomienda usar la nmina maestro).
Retorno
Valor de tipo String con el detalle de los errores generados al realizar el
proceso, si la cadena no trae contenido se determina que todo fue
satisfactorio.
o String ProcesaEmpleados(DataSet pdsPersonal, String psCorreo, String psPasswd,
Int piEmpresa, Int piTipoNom)
Parmetros
pdsPersonal: Contenedor de tipo DataSet con la informacin de los
empleados a procesar, este deber contener los encabezados de los campos
de acuerdo al maestro de personal de Solucionic.
psCorreo: Correo del usuario de nmina que realizar la modificacin.
psPasswd: Contrasea del usuario de nmina que realizar la modificacin.
piEmpresa: Empresa de nmina en la que se encuentran los empleados.
piTipoNom: Tipo de nmina a la que pertenecen los empleados (se
recomienda usar la nmina maestro).
Retorno
Valor de tipo String con el detalle de los errores generados al realizar el
proceso, si la cadena no trae contenido se determina que todo fue
satisfactorio.
o String ProcesaEmpleados(DataTable pdtPersonal, String psCorreo, String
psPasswd, Int piEmpresa, Int piTipoNom)
Parmetros
pdtPersonal: Contenedor de tipo DataTable con la informacin de los
empleados a procesar, este deber contener los encabezados de los campos
de acuerdo al maestro de personal de Solucionic.
psCorreo: Correo del usuario de nmina que realizar la modificacin.
psPasswd: Contrasea del usuario de nmina que realizar la modificacin.

piEmpresa: Empresa de nmina en la que se encuentran los empleados.


piTipoNom: Tipo de nmina a la que pertenecen los empleados (se
recomienda usar la nmina maestro).
Retorno
Valor de tipo String con el detalle de los errores generados al realizar el
proceso, si la cadena no trae contenido se determina que todo fue
satisfactorio.

Ejemplo de uso de manejador de importacin


Dim
Dim
Dim
Dim

lsJson As String
ldvPersonal As DataView
lsQuery As String
loPrueba As ManejadorImportador

loPrueba = New ManejadorImportador("http://localhost:64150/Importador.asmx")


lsQuery = "Consulta de datos a enviar"
ldvPersonal = oManejador.Conexion.RegresaDataView(lsQuery, "Personal")
lsJson = loPrueba.GeneraJsonDeDataView(ldvPersonal)
loPrueba.ProcesaEmpleados(lsJson, "ejemplo@solucionic.com", "passwd", 2, 6)
'Aqui se pueden usar las otras funciones dependiendo del contenedor de los datos
'se puede mandar directamente el DataView, DataSet o DataTable
'loPrueba.ProcesaEmpleados(DataView, "ejemplo@solucionic.com", "passwd", 2, 6)
'loPrueba.ProcesaEmpleados(DataSet, "ejemplo@solucionic.com", "passwd", 2, 6)
'loPrueba.ProcesaEmpleados(DataTable, "ejemplo@solucionic.com", "passwd", 2, 6)

You might also like