Este ejemplo preliminar usa el instalador 99.83 (o superior) para conectar a la nueva API de senasa para obtener una lista de provincias y sus códigos. Conecta a la API de test de senasa para poder ejecutar debe antes estar adherido al servicio y gestionar un usuario/contraseña.
El nombre y tipo de método (/Obtener_Provincia) con sus campos de entrada y salida deben ser consultados en el manual PDF de SENASA El código deja en archivoXMLRecibido el texto recibido desde el servidor donde figura los datos con ubicación y nombre de campos ("lista.diccionario.provinceName") tal como son devueltos por el servidor.
En la mayoria de los métodos el servidor devuelve una lista que contiene en cada item un diccionario con los datos de ese item (en este caso código y nombre de la provincia). Pero si hay errores el servidor devuelve una lista donde cada item es un texto con el/los detalles de error. Por eso en el código se hace un validación para verificar que tipo de datos devolvió el servidor.
Si se usa la interfaz en forma de OCX el código es igual teniendo en cuenta que en el formulario debe ser insertado el OCX WSPAMIOCX (no WSAFIPFEOCX que corresponde a servicios AFIP).
Dim fe As New WSAFIPFE.pami
Dim bresultado As Boolean
bresultado = True
If fe.iniciar(0, "CUIT", "contraesña", "archivo de licencia si para el modo 1= real") Then
fe.tls = 12
bresultado = fe.senasaCargarPropiedad("LIMPIAR", "", 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("URLSERVIDOR", "AGROTRAZA", 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("URLMETODO", "/Obtener_Provincia", 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("TIPOMETODO", "GET", 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("PARAMETROS.authUser", "usuario, 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("PARAMETROS.authPass", "00000", 0, 0)
bresultado = bresultado And fe.senasaCargarPropiedad("PARAMETROS.userTaxId", "CUIT", 0, 0)
If bresultado Then
fe.ArchivoXMLEnviado = "d:\esenasa.xml"
fe.ArchivoXMLRecibido = "d:\rsenana.xml"
bresultado = fe.senasaEjecutar()
If bresultado Then
MsgBox("resultado verdadero")
Else
MsgBox("resultado falso")
End If
If fe.UltimoMensajeError = "" Then
Dim nCantidad As Integer
nCantidad = fe.senasaLeerPropiedad("", "lista.itemcantidad", "", 0, 0)
If nCantidad = 0 Then
MsgBox("sin datos " + fe.UltimoMensajeError)
Else
If mio.senasaLeerPropiedad("", "lista.esdiccionario", "", 1, 0) = "SI" Then
MsgBox("segunda provincia recibida " + fe.senasaLeerPropiedad("", "lista.diccionario.provinceName", "", 1, 0) + fe.UltimoMensajeError)
else
MsgBox("error recibido " + mio.senasaLeerPropiedad("", "lista", "", 0, 0))
end if
End If
Else
MsgBox("error " + fe.UltimoMensajeError)
End If
Else
MsgBox("error en carga de datos" + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo iniciar " + fe.UltimoMensajeError)
End If