package com.fp.webservices.snap.ruc.impl;

import com.fp.webservices.snap.recursos.MsgSnap;
import com.fp.webservices.snap.ruc.RucServicio;
import com.fp.webservices.snap.seguridad.DatosHeader;
import com.fp.webservices.snap.seguridad.HeaderHandlerResolver;
import com.fp.webservices.snap.seguridad.PermissionClient;
import ec.gov.sri.wsconsultacontribuyente.ContribuyenteCompleto;
import ec.gov.sri.wsconsultacontribuyente.WebServiceContribuyenteService;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.handler.HandlerResolver;

@WebService(endpointInterface = "com.fp.webservices.snap.ruc.RucServicio", serviceName = "RucServicio")
public class RucServicioImpl implements RucServicio {

    public ContribuyenteCompleto consultarRuc(@WebParam(name = "ruc") String ruc) {
        DatosHeader headers = new DatosHeader();
        PermissionClient permissionClient = new PermissionClient(MsgSnap.getString("url_consulta_ruc"));
        headers = permissionClient.generaToken();
        WebServiceContribuyenteService service = new WebServiceContribuyenteService();
        HeaderHandlerResolver handlerResolver = new HeaderHandlerResolver(headers);
        service.setHandlerResolver((HandlerResolver) handlerResolver);
        ContribuyenteCompleto contribuyente = service.getWsConsultaContribuyentePort().obtenerCompleto(ruc, "");
        return contribuyente;
    }

    public static void main(String[] args) {
        com.fp.webservices.snap.ruc.impl.RucServicioImpl ruc = new com.fp.webservices.snap.ruc.impl.RucServicioImpl();
        ruc.consultarRuc("1715060073001");
    }
}
