Si ya leyó como empezar y siguió los pasos ahi resumidos ya debe tener:
La interfaz WSAFIPFE instalada en un equipo con windows.
El certificado fiscal PFX de ARCA ex AFIP (prueba o real).
El archivo de licencia (si es para el modo real) provisorio o definitivo.
La documentación y ejemplo del servicio a usar.
La interfaz referenciada en un proyecto en su compilador o lenguaje. Ya sea como control activeX OCX o COM.
Tomando como base el ejemplo WSFEv1 en visual basic 6 (se aplica para cualquier lenguaje o compilador que acepte la tecnologia activeX OCX o interfaz COM como veremos más adelante) para consumir un servicios debe guiarse por estos conceptos generales:
La interfaz replica todos los métodos y campos del servicio original agregandoles un prefijo característico ("f1" en el caso del servicio WSFEv1) por lo que puede usar los manuales originales de ARCA para cada servicio.
Por simplicidad agrega métodos (y/o propiedades) propios o comunes como "ultimomensajeerror" que luego de cada método puede servir para ubicar rápidamente el motivo del error. El método "iniciar" que vemos en el siguiente punto. Y los métodos para obtener ticket de acceso (en este caso f1obtenerticketacceso) ya que como figura en este tutorial de WSAA para consumir un servicio de ARCA primero se debe obtener un token de acceso (y que debe ser renovado cada cierto tiempo).
El metodo iniciar es el primero que se debe ejecutar ya que inicia la interfaz y recibe los 4to argumentos necesarios para conectar a los servidores de ARCA: el modo (0=servidor prueba u homologación,1=servidor real o producción) el CUIT emisor del comprobante, el certificado PFX tramitado para el mismo modo indicado en el parámetro 1, y opcionalmente como 4to argumento el archivo de licencia, también para el mismo CUIT emisor, si se está conectando al modo real. Puede dejarlo en blanco si es en el modo prueba.
Comos se ve en el ejemplo las únicas opciones posibles desde la interfaz son: llamar a un método con o sin argumentos, cargar el valor de una propiedad o leer el valor de una propiedad. En el caso de propiedades indexadas (tablas con varias filas como las alícuotas de una factura) se usa un mecanismo "indiceitem" para conservar los mismos nombre del servicio original y esa propiedad extra para indicar a que fila de la tabla corresponde el valor de la propiedad.
Y muy importante como se ve en el código luego de cada método se valida y recupera el mensaje de error (si lo hay) y en el caso que se llegue a ejecutar el método autorizador se validan y leen todos y cada uno de los campos que devuelve el servidor. Esta información permitirá ubicar rápidamente el motivo y solución del error como figura en la guia de errores comunes y también en los manuales de ARCA ahorrando muchos costos de horas de soporte.
En cuanto a otros lenguajes o compiladores puede tomar como referencia el ejemplo de visual basic 6 ya que en el solo se ejecutan 3 acciones: llamar a un método, cargar una propiedad o leerla. Y solo debe indentificar en su compilador como referenciar la interfaz y cual es la sintaxis para esas 3 acciones. Los ejemplos básicos del WSFEv1 para cada lenguaje le serán de ayuda y también esta tabla de equivalencias de sintaxis en cada lenguaje de como se realizan esas 3 acciones de llamar a un método, cargar el valor de una propiedad o leerar.
En cuanto a otros servicios tiene una mecánica similar. Y en el caso de de los más complejos (servicios con muchos métodos y propiedades como el WSCPE de carta de porte) los campos del servicio original no son replicados uno a uno sino que un método general llamado cargarpopiedad (en este caso cpecargarpropiedad) recibe como argumento del nombre del campo (y su grupo o estructura a la que pertenece) y el valor que se intenta cargar. Un método similar llamado leerpopiedad permite recuperar el valor. De igual forma para servicios complejos que han sido actualizados por ARCA (publicando otro servidor o URL) una propiedad llamada "version" (como xversion, cpeversion, etc.) permitiendo conservar los nombres de métodos y propiedades y código originales pero indicando en el valor de esta propiedad a que versión del servicio nos estamos conectando.