
package consultaResponse;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;


/**
 * <p>Clase Java para anonymous complex type.
 * 
 * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="SignonRs">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="CustId">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                   &lt;element name="ServerDt" type="{}ServerDt_Type"/>
 *                   &lt;element name="ClientDt" type="{}ClientDt_Type"/>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="PresSvcRs">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="BillInqRs">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="Status">
 *                               &lt;complexType>
 *                                 &lt;complexContent>
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                     &lt;sequence>
 *                                       &lt;element name="StatusCode" type="{}StatusCode_Type"/>
 *                                       &lt;element name="Severity" type="{}Severity_Type"/>
 *                                       &lt;element name="StatusDesc" type="{}StatusDesc_Type"/>
 *                                     &lt;/sequence>
 *                                   &lt;/restriction>
 *                                 &lt;/complexContent>
 *                               &lt;/complexType>
 *                             &lt;/element>
 *                             &lt;element name="BillRec">
 *                               &lt;complexType>
 *                                 &lt;complexContent>
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                     &lt;sequence>
 *                                       &lt;element name="BillInfo">
 *                                         &lt;complexType>
 *                                           &lt;complexContent>
 *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                               &lt;sequence>
 *                                                 &lt;element name="BillSummAmt">
 *                                                   &lt;complexType>
 *                                                     &lt;complexContent>
 *                                                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                                         &lt;sequence>
 *                                                           &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
 *                                                           &lt;element name="CurAmt" type="{}CurAmt_Type"/>
 *                                                         &lt;/sequence>
 *                                                       &lt;/restriction>
 *                                                     &lt;/complexContent>
 *                                                   &lt;/complexType>
 *                                                 &lt;/element>
 *                                                 &lt;element name="DueDt" type="{}DueDt_Type"/>
 *                                                 &lt;element name="BillRefInfo1" type="{}BillRefInfo1_Type"/>
 *                                                 &lt;element name="BillRefInfo2" type="{}BillRefInfo2_Type"/>
 *                                                 &lt;element name="BillRefInfo3" type="{}BillRefInfo3_Type"/>
 *                                                 &lt;element name="BillRefInfo4" type="{}BillRefInfo3_Type"/>
 *                                                 &lt;element name="BillRefInfo5" type="{}BillRefInfo3_Type"/>
 *                                               &lt;/sequence>
 *                                             &lt;/restriction>
 *                                           &lt;/complexContent>
 *                                         &lt;/complexType>
 *                                       &lt;/element>
 *                                     &lt;/sequence>
 *                                   &lt;/restriction>
 *                                 &lt;/complexContent>
 *                               &lt;/complexType>
 *                             &lt;/element>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="SignoffRs">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="CustId">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="SPName" type="{}SPName_Type"/>
 *                             &lt;element name="CustPermId" type="{}CustPermId_Type"/>
 *                             &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "signonRs",
    "presSvcRs",
    "signoffRs"
})
@XmlRootElement(name = "IFX")
public class IFX {

    @XmlElement(name = "SignonRs", required = true)
    protected IFX.SignonRs signonRs;
    @XmlElement(name = "PresSvcRs", required = true)
    protected IFX.PresSvcRs presSvcRs;
    @XmlElement(name = "SignoffRs", required = true)
    protected IFX.SignoffRs signoffRs;

    /**
     * Obtiene el valor de la propiedad signonRs.
     * 
     * @return
     *     possible object is
     *     {@link IFX.SignonRs }
     *     
     */
    
    
    
    public IFX() {

        this.setPresSvcRs(new PresSvcRs());
        this.setSignoffRs(new SignoffRs());
        this.setSignonRs(new SignonRs());
    }

    public Document string2DOM(String s) {
        Document tmpX = null;
        DocumentBuilder builder = null;
        try {
            builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        } catch (javax.xml.parsers.ParserConfigurationException error) {
            int coderror = 10;
            String msgerror = "Error crando factory String2DOM " + error.getMessage();
            System.out.println(msgerror);
            return null;
        }
        try {
            tmpX = (Document) builder.parse(new ByteArrayInputStream(s.getBytes()));
        } catch (org.xml.sax.SAXException error) {
            int coderror = 10;
            String msgerror = "Error parseo SAX String2DOM " + error.getMessage();
            System.out.println(msgerror);
            return null;
        } catch (IOException error) {
            int coderror = 10;
            String msgerror = "Error generando Bytes String2DOM " + error.getMessage();
            System.out.println(msgerror);
            return null;
        }
        return tmpX;
    }
    String name = "";

    public void leerNodos(Element docEle) {
        NodeList hijos = docEle.getChildNodes();

        for (int i = 0; i < hijos.getLength(); i++) {
            Node nodo = hijos.item(i);

            if (nodo instanceof Element) {

                name = nodo.getNodeName();

                if (nodo.hasChildNodes()) {
                    leerNodos((Element) nodo);
                }
            } else {
                if (nodo.getTextContent().trim().length() > 0) {
                    System.out.println(name + "= " + nodo.getTextContent());
                    try {
                        datos.put(name, nodo.getTextContent());
                    } catch (Exception e) {
                        //e.printStackTrace();
                    }
                }
            }
        }
    }
    
    HashMap datos = new HashMap();

    public IFX(String xml) {

        System.out.println("-------------->OUT");

        Document doc = string2DOM(xml);
        Element docEle = doc.getDocumentElement();

        this.leerNodos(docEle);
        Iterator it = datos.entrySet().iterator();

        while (it.hasNext()) {
            Map.Entry e = (Map.Entry) it.next();
            System.out.println(e.getKey() + " - " + e.getValue());
        }
        
        
      this.signoffRs= new SignoffRs();
      this.signonRs = new SignonRs();
      this.presSvcRs = new PresSvcRs();
        
      this.signonRs.setCustId(new consultaResponse.IFX.SignonRs.CustId());
      this.signonRs.custId.setCustLoginId(datos.get("CustLoginId").toString());
      this.signonRs.setServerDt(datos.get("ServerDt").toString());
//      this.signonRs.setClientDt(datos.get("ClientDt").toString());
      
      
      this.presSvcRs.setBillInqRs(new consultaResponse.IFX.PresSvcRs.BillInqRs());
      this.presSvcRs.billInqRs.setStatus(new consultaResponse.IFX.PresSvcRs.BillInqRs.Status());
      this.presSvcRs.billInqRs.status.setStatusCode(datos.get("StatusCode").toString());
      this.presSvcRs.billInqRs.status.setSeverity(datos.get("Severity").toString());
      this.presSvcRs.billInqRs.status.setStatusDesc(datos.get("StatusDesc").toString());
      
      this.presSvcRs.billInqRs.setBillRec(new consultaResponse.IFX.PresSvcRs.BillInqRs.BillRec());
      this.presSvcRs.billInqRs.billRec.setBillInfo(new consultaResponse.IFX.PresSvcRs.BillInqRs.BillRec.BillInfo());
      this.presSvcRs.billInqRs.billRec.billInfo.setBillSummAmt(new consultaResponse.IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt());
      
      this.presSvcRs.billInqRs.billRec.billInfo.setDueDt(datos.get("DueDt").toString());
      this.presSvcRs.billInqRs.billRec.billInfo.setBillRefInfo1(datos.get("BillRefInfo1").toString());
      
      this.presSvcRs.billInqRs.billRec.billInfo.billSummAmt.setBillSummAmtCode(datos.get("BillSummAmtCode").toString());
      this.presSvcRs.billInqRs.billRec.billInfo.billSummAmt.setCurAmt(datos.get("CurAmt").toString());
        
      this.signoffRs.setCustId(new consultaResponse.IFX.SignoffRs.CustId());
      this.signoffRs.custId.setSPName(datos.get("SPName").toString());
      this.signoffRs.custId.setCustPermId(datos.get("CustPermId").toString());
      this.signoffRs.custId.setCustLoginId(datos.get("CustLoginId").toString());
      
 
        
    }
    public IFX.SignonRs getSignonRs() {
        return signonRs;
    }

    /**
     * Define el valor de la propiedad signonRs.
     * 
     * @param value
     *     allowed object is
     *     {@link IFX.SignonRs }
     *     
     */
    public void setSignonRs(IFX.SignonRs value) {
        this.signonRs = value;
    }

    /**
     * Obtiene el valor de la propiedad presSvcRs.
     * 
     * @return
     *     possible object is
     *     {@link IFX.PresSvcRs }
     *     
     */
    public IFX.PresSvcRs getPresSvcRs() {
        return presSvcRs;
    }

    /**
     * Define el valor de la propiedad presSvcRs.
     * 
     * @param value
     *     allowed object is
     *     {@link IFX.PresSvcRs }
     *     
     */
    public void setPresSvcRs(IFX.PresSvcRs value) {
        this.presSvcRs = value;
    }

    /**
     * Obtiene el valor de la propiedad signoffRs.
     * 
     * @return
     *     possible object is
     *     {@link IFX.SignoffRs }
     *     
     */
    public IFX.SignoffRs getSignoffRs() {
        return signoffRs;
    }

    /**
     * Define el valor de la propiedad signoffRs.
     * 
     * @param value
     *     allowed object is
     *     {@link IFX.SignoffRs }
     *     
     */
    public void setSignoffRs(IFX.SignoffRs value) {
        this.signoffRs = value;
    }


    /**
     * <p>Clase Java para anonymous complex type.
     * 
     * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="BillInqRs">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="Status">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                             &lt;element name="StatusCode" type="{}StatusCode_Type"/>
     *                             &lt;element name="Severity" type="{}Severity_Type"/>
     *                             &lt;element name="StatusDesc" type="{}StatusDesc_Type"/>
     *                           &lt;/sequence>
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                   &lt;element name="BillRec">
     *                     &lt;complexType>
     *                       &lt;complexContent>
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                           &lt;sequence>
     *                             &lt;element name="BillInfo">
     *                               &lt;complexType>
     *                                 &lt;complexContent>
     *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                     &lt;sequence>
     *                                       &lt;element name="BillSummAmt">
     *                                         &lt;complexType>
     *                                           &lt;complexContent>
     *                                             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                                               &lt;sequence>
     *                                                 &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
     *                                                 &lt;element name="CurAmt" type="{}CurAmt_Type"/>
     *                                               &lt;/sequence>
     *                                             &lt;/restriction>
     *                                           &lt;/complexContent>
     *                                         &lt;/complexType>
     *                                       &lt;/element>
     *                                       &lt;element name="DueDt" type="{}DueDt_Type"/>
     *                                       &lt;element name="BillRefInfo1" type="{}BillRefInfo1_Type"/>
     *                                       &lt;element name="BillRefInfo2" type="{}BillRefInfo2_Type"/>
     *                                       &lt;element name="BillRefInfo3" type="{}BillRefInfo3_Type"/>
     *                                       &lt;element name="BillRefInfo4" type="{}BillRefInfo3_Type"/>
     *                                       &lt;element name="BillRefInfo5" type="{}BillRefInfo3_Type"/>
     *                                     &lt;/sequence>
     *                                   &lt;/restriction>
     *                                 &lt;/complexContent>
     *                               &lt;/complexType>
     *                             &lt;/element>
     *                           &lt;/sequence>
     *                         &lt;/restriction>
     *                       &lt;/complexContent>
     *                     &lt;/complexType>
     *                   &lt;/element>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "billInqRs"
    })
    public static class PresSvcRs {

        @XmlElement(name = "BillInqRs", required = true)
        protected IFX.PresSvcRs.BillInqRs billInqRs;

        /**
         * Obtiene el valor de la propiedad billInqRs.
         * 
         * @return
         *     possible object is
         *     {@link IFX.PresSvcRs.BillInqRs }
         *     
         */
        public IFX.PresSvcRs.BillInqRs getBillInqRs() {
            return billInqRs;
        }

        /**
         * Define el valor de la propiedad billInqRs.
         * 
         * @param value
         *     allowed object is
         *     {@link IFX.PresSvcRs.BillInqRs }
         *     
         */
        public void setBillInqRs(IFX.PresSvcRs.BillInqRs value) {
            this.billInqRs = value;
        }


        /**
         * <p>Clase Java para anonymous complex type.
         * 
         * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="Status">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                   &lt;element name="StatusCode" type="{}StatusCode_Type"/>
         *                   &lt;element name="Severity" type="{}Severity_Type"/>
         *                   &lt;element name="StatusDesc" type="{}StatusDesc_Type"/>
         *                 &lt;/sequence>
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *         &lt;element name="BillRec">
         *           &lt;complexType>
         *             &lt;complexContent>
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                 &lt;sequence>
         *                   &lt;element name="BillInfo">
         *                     &lt;complexType>
         *                       &lt;complexContent>
         *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                           &lt;sequence>
         *                             &lt;element name="BillSummAmt">
         *                               &lt;complexType>
         *                                 &lt;complexContent>
         *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *                                     &lt;sequence>
         *                                       &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
         *                                       &lt;element name="CurAmt" type="{}CurAmt_Type"/>
         *                                     &lt;/sequence>
         *                                   &lt;/restriction>
         *                                 &lt;/complexContent>
         *                               &lt;/complexType>
         *                             &lt;/element>
         *                             &lt;element name="DueDt" type="{}DueDt_Type"/>
         *                             &lt;element name="BillRefInfo1" type="{}BillRefInfo1_Type"/>
         *                             &lt;element name="BillRefInfo2" type="{}BillRefInfo2_Type"/>
         *                             &lt;element name="BillRefInfo3" type="{}BillRefInfo3_Type"/>
         *                             &lt;element name="BillRefInfo4" type="{}BillRefInfo3_Type"/>
         *                             &lt;element name="BillRefInfo5" type="{}BillRefInfo3_Type"/>
         *                           &lt;/sequence>
         *                         &lt;/restriction>
         *                       &lt;/complexContent>
         *                     &lt;/complexType>
         *                   &lt;/element>
         *                 &lt;/sequence>
         *               &lt;/restriction>
         *             &lt;/complexContent>
         *           &lt;/complexType>
         *         &lt;/element>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "status",
            "billRec"
        })
        public static class BillInqRs {

            @XmlElement(name = "Status", required = true)
            protected IFX.PresSvcRs.BillInqRs.Status status;
            @XmlElement(name = "BillRec", required = true)
            protected IFX.PresSvcRs.BillInqRs.BillRec billRec;

            /**
             * Obtiene el valor de la propiedad status.
             * 
             * @return
             *     possible object is
             *     {@link IFX.PresSvcRs.BillInqRs.Status }
             *     
             */
            public IFX.PresSvcRs.BillInqRs.Status getStatus() {
                return status;
            }

            /**
             * Define el valor de la propiedad status.
             * 
             * @param value
             *     allowed object is
             *     {@link IFX.PresSvcRs.BillInqRs.Status }
             *     
             */
            public void setStatus(IFX.PresSvcRs.BillInqRs.Status value) {
                this.status = value;
            }

            /**
             * Obtiene el valor de la propiedad billRec.
             * 
             * @return
             *     possible object is
             *     {@link IFX.PresSvcRs.BillInqRs.BillRec }
             *     
             */
            public IFX.PresSvcRs.BillInqRs.BillRec getBillRec() {
                return billRec;
            }

            /**
             * Define el valor de la propiedad billRec.
             * 
             * @param value
             *     allowed object is
             *     {@link IFX.PresSvcRs.BillInqRs.BillRec }
             *     
             */
            public void setBillRec(IFX.PresSvcRs.BillInqRs.BillRec value) {
                this.billRec = value;
            }


            /**
             * <p>Clase Java para anonymous complex type.
             * 
             * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *         &lt;element name="BillInfo">
             *           &lt;complexType>
             *             &lt;complexContent>
             *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                 &lt;sequence>
             *                   &lt;element name="BillSummAmt">
             *                     &lt;complexType>
             *                       &lt;complexContent>
             *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *                           &lt;sequence>
             *                             &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
             *                             &lt;element name="CurAmt" type="{}CurAmt_Type"/>
             *                           &lt;/sequence>
             *                         &lt;/restriction>
             *                       &lt;/complexContent>
             *                     &lt;/complexType>
             *                   &lt;/element>
             *                   &lt;element name="DueDt" type="{}DueDt_Type"/>
             *                   &lt;element name="BillRefInfo1" type="{}BillRefInfo1_Type"/>
             *                   &lt;element name="BillRefInfo2" type="{}BillRefInfo2_Type"/>
             *                   &lt;element name="BillRefInfo3" type="{}BillRefInfo3_Type"/>
             *                   &lt;element name="BillRefInfo4" type="{}BillRefInfo3_Type"/>
             *                   &lt;element name="BillRefInfo5" type="{}BillRefInfo3_Type"/>
             *                 &lt;/sequence>
             *               &lt;/restriction>
             *             &lt;/complexContent>
             *           &lt;/complexType>
             *         &lt;/element>
             *       &lt;/sequence>
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "billInfo"
            })
            public static class BillRec {

                @XmlElement(name = "BillInfo", required = true)
                protected IFX.PresSvcRs.BillInqRs.BillRec.BillInfo billInfo;

                /**
                 * Obtiene el valor de la propiedad billInfo.
                 * 
                 * @return
                 *     possible object is
                 *     {@link IFX.PresSvcRs.BillInqRs.BillRec.BillInfo }
                 *     
                 */
                public IFX.PresSvcRs.BillInqRs.BillRec.BillInfo getBillInfo() {
                    return billInfo;
                }

                /**
                 * Define el valor de la propiedad billInfo.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link IFX.PresSvcRs.BillInqRs.BillRec.BillInfo }
                 *     
                 */
                public void setBillInfo(IFX.PresSvcRs.BillInqRs.BillRec.BillInfo value) {
                    this.billInfo = value;
                }


                /**
                 * <p>Clase Java para anonymous complex type.
                 * 
                 * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
                 * 
                 * <pre>
                 * &lt;complexType>
                 *   &lt;complexContent>
                 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *       &lt;sequence>
                 *         &lt;element name="BillSummAmt">
                 *           &lt;complexType>
                 *             &lt;complexContent>
                 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                 *                 &lt;sequence>
                 *                   &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
                 *                   &lt;element name="CurAmt" type="{}CurAmt_Type"/>
                 *                 &lt;/sequence>
                 *               &lt;/restriction>
                 *             &lt;/complexContent>
                 *           &lt;/complexType>
                 *         &lt;/element>
                 *         &lt;element name="DueDt" type="{}DueDt_Type"/>
                 *         &lt;element name="BillRefInfo1" type="{}BillRefInfo1_Type"/>
                 *         &lt;element name="BillRefInfo2" type="{}BillRefInfo2_Type"/>
                 *         &lt;element name="BillRefInfo3" type="{}BillRefInfo3_Type"/>
                 *         &lt;element name="BillRefInfo4" type="{}BillRefInfo3_Type"/>
                 *         &lt;element name="BillRefInfo5" type="{}BillRefInfo3_Type"/>
                 *       &lt;/sequence>
                 *     &lt;/restriction>
                 *   &lt;/complexContent>
                 * &lt;/complexType>
                 * </pre>
                 * 
                 * 
                 */
                @XmlAccessorType(XmlAccessType.FIELD)
                @XmlType(name = "", propOrder = {
                    "billSummAmt",
                    "dueDt",
                    "billRefInfo1",
                    "billRefInfo2",
                    "billRefInfo3",
                    "billRefInfo4",
                    "billRefInfo5"
                })
                public static class BillInfo {

                    @XmlElement(name = "BillSummAmt", required = true)
                    protected IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt billSummAmt;
                    @XmlElement(name = "DueDt", required = true)
                    protected String dueDt;
                    @XmlElement(name = "BillRefInfo1", required = true, nillable = true)
                    protected String billRefInfo1;
                    @XmlElement(name = "BillRefInfo2", required = true, nillable = true)
                    protected String billRefInfo2;
                    @XmlElement(name = "BillRefInfo3", required = true, nillable = true)
                    protected String billRefInfo3;
                    @XmlElement(name = "BillRefInfo4", required = true, nillable = true)
                    protected String billRefInfo4;
                    @XmlElement(name = "BillRefInfo5", required = true, nillable = true)
                    protected String billRefInfo5;

                    /**
                     * Obtiene el valor de la propiedad billSummAmt.
                     * 
                     * @return
                     *     possible object is
                     *     {@link IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt }
                     *     
                     */
                    public IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt getBillSummAmt() {
                        return billSummAmt;
                    }

                    /**
                     * Define el valor de la propiedad billSummAmt.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt }
                     *     
                     */
                    public void setBillSummAmt(IFX.PresSvcRs.BillInqRs.BillRec.BillInfo.BillSummAmt value) {
                        this.billSummAmt = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad dueDt.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getDueDt() {
                        return dueDt;
                    }

                    /**
                     * Define el valor de la propiedad dueDt.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setDueDt(String value) {
                        this.dueDt = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad billRefInfo1.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getBillRefInfo1() {
                        return billRefInfo1;
                    }

                    /**
                     * Define el valor de la propiedad billRefInfo1.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setBillRefInfo1(String value) {
                        this.billRefInfo1 = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad billRefInfo2.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getBillRefInfo2() {
                        return billRefInfo2;
                    }

                    /**
                     * Define el valor de la propiedad billRefInfo2.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setBillRefInfo2(String value) {
                        this.billRefInfo2 = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad billRefInfo3.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getBillRefInfo3() {
                        return billRefInfo3;
                    }

                    /**
                     * Define el valor de la propiedad billRefInfo3.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setBillRefInfo3(String value) {
                        this.billRefInfo3 = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad billRefInfo4.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getBillRefInfo4() {
                        return billRefInfo4;
                    }

                    /**
                     * Define el valor de la propiedad billRefInfo4.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setBillRefInfo4(String value) {
                        this.billRefInfo4 = value;
                    }

                    /**
                     * Obtiene el valor de la propiedad billRefInfo5.
                     * 
                     * @return
                     *     possible object is
                     *     {@link String }
                     *     
                     */
                    public String getBillRefInfo5() {
                        return billRefInfo5;
                    }

                    /**
                     * Define el valor de la propiedad billRefInfo5.
                     * 
                     * @param value
                     *     allowed object is
                     *     {@link String }
                     *     
                     */
                    public void setBillRefInfo5(String value) {
                        this.billRefInfo5 = value;
                    }


                    /**
                     * <p>Clase Java para anonymous complex type.
                     * 
                     * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
                     * 
                     * <pre>
                     * &lt;complexType>
                     *   &lt;complexContent>
                     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
                     *       &lt;sequence>
                     *         &lt;element name="BillSummAmtCode" type="{}BillSummAmtCode_Type"/>
                     *         &lt;element name="CurAmt" type="{}CurAmt_Type"/>
                     *       &lt;/sequence>
                     *     &lt;/restriction>
                     *   &lt;/complexContent>
                     * &lt;/complexType>
                     * </pre>
                     * 
                     * 
                     */
                    @XmlAccessorType(XmlAccessType.FIELD)
                    @XmlType(name = "", propOrder = {
                        "billSummAmtCode",
                        "curAmt"
                    })
                    public static class BillSummAmt {

                        @XmlElement(name = "BillSummAmtCode", required = true)
                        protected String billSummAmtCode;
                        @XmlElement(name = "CurAmt", required = true)
                        protected String curAmt;

                        /**
                         * Obtiene el valor de la propiedad billSummAmtCode.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getBillSummAmtCode() {
                            return billSummAmtCode;
                        }

                        /**
                         * Define el valor de la propiedad billSummAmtCode.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setBillSummAmtCode(String value) {
                            this.billSummAmtCode = value;
                        }

                        /**
                         * Obtiene el valor de la propiedad curAmt.
                         * 
                         * @return
                         *     possible object is
                         *     {@link String }
                         *     
                         */
                        public String getCurAmt() {
                            return curAmt;
                        }

                        /**
                         * Define el valor de la propiedad curAmt.
                         * 
                         * @param value
                         *     allowed object is
                         *     {@link String }
                         *     
                         */
                        public void setCurAmt(String value) {
                            this.curAmt = value;
                        }

                    }

                }

            }


            /**
             * <p>Clase Java para anonymous complex type.
             * 
             * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
             * 
             * <pre>
             * &lt;complexType>
             *   &lt;complexContent>
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
             *       &lt;sequence>
             *         &lt;element name="StatusCode" type="{}StatusCode_Type"/>
             *         &lt;element name="Severity" type="{}Severity_Type"/>
             *         &lt;element name="StatusDesc" type="{}StatusDesc_Type"/>
             *       &lt;/sequence>
             *     &lt;/restriction>
             *   &lt;/complexContent>
             * &lt;/complexType>
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "statusCode",
                "severity",
                "statusDesc"
            })
            public static class Status {

                @XmlElement(name = "StatusCode", required = true)
                protected String statusCode;
                @XmlElement(name = "Severity", required = true)
                protected String severity;
                @XmlElement(name = "StatusDesc", required = true)
                protected String statusDesc;

                /**
                 * Obtiene el valor de la propiedad statusCode.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getStatusCode() {
                    return statusCode;
                }

                /**
                 * Define el valor de la propiedad statusCode.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setStatusCode(String value) {
                    this.statusCode = value;
                }

                /**
                 * Obtiene el valor de la propiedad severity.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getSeverity() {
                    return severity;
                }

                /**
                 * Define el valor de la propiedad severity.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setSeverity(String value) {
                    this.severity = value;
                }

                /**
                 * Obtiene el valor de la propiedad statusDesc.
                 * 
                 * @return
                 *     possible object is
                 *     {@link String }
                 *     
                 */
                public String getStatusDesc() {
                    return statusDesc;
                }

                /**
                 * Define el valor de la propiedad statusDesc.
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link String }
                 *     
                 */
                public void setStatusDesc(String value) {
                    this.statusDesc = value;
                }

            }

        }

    }


    /**
     * <p>Clase Java para anonymous complex type.
     * 
     * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="CustId">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="SPName" type="{}SPName_Type"/>
     *                   &lt;element name="CustPermId" type="{}CustPermId_Type"/>
     *                   &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "custId"
    })
    public static class SignoffRs {

        @XmlElement(name = "CustId", required = true)
        protected IFX.SignoffRs.CustId custId;

        /**
         * Obtiene el valor de la propiedad custId.
         * 
         * @return
         *     possible object is
         *     {@link IFX.SignoffRs.CustId }
         *     
         */
        public IFX.SignoffRs.CustId getCustId() {
            return custId;
        }

        /**
         * Define el valor de la propiedad custId.
         * 
         * @param value
         *     allowed object is
         *     {@link IFX.SignoffRs.CustId }
         *     
         */
        public void setCustId(IFX.SignoffRs.CustId value) {
            this.custId = value;
        }


        /**
         * <p>Clase Java para anonymous complex type.
         * 
         * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="SPName" type="{}SPName_Type"/>
         *         &lt;element name="CustPermId" type="{}CustPermId_Type"/>
         *         &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "spName",
            "custPermId",
            "custLoginId"
        })
        public static class CustId {

            @XmlElement(name = "SPName", required = true)
            protected String spName;
            @XmlElement(name = "CustPermId", required = true)
            protected String custPermId;
            @XmlElement(name = "CustLoginId", required = true)
            protected String custLoginId;

            /**
             * Obtiene el valor de la propiedad spName.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getSPName() {
                return spName;
            }

            /**
             * Define el valor de la propiedad spName.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setSPName(String value) {
                this.spName = value;
            }

            /**
             * Obtiene el valor de la propiedad custPermId.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getCustPermId() {
                return custPermId;
            }

            /**
             * Define el valor de la propiedad custPermId.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setCustPermId(String value) {
                this.custPermId = value;
            }

            /**
             * Obtiene el valor de la propiedad custLoginId.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getCustLoginId() {
                return custLoginId;
            }

            /**
             * Define el valor de la propiedad custLoginId.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setCustLoginId(String value) {
                this.custLoginId = value;
            }

        }

    }


    /**
     * <p>Clase Java para anonymous complex type.
     * 
     * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
     * 
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="CustId">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *         &lt;element name="ServerDt" type="{}ServerDt_Type"/>
     *         &lt;element name="ClientDt" type="{}ClientDt_Type"/>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "custId",
        "serverDt",
        "clientDt"
    })
    public static class SignonRs {

        @XmlElement(name = "CustId", required = true)
        protected IFX.SignonRs.CustId custId;
        @XmlElement(name = "ServerDt", required = true)
        protected String serverDt;
        @XmlElement(name = "ClientDt", required = true)
        protected String clientDt;

        /**
         * Obtiene el valor de la propiedad custId.
         * 
         * @return
         *     possible object is
         *     {@link IFX.SignonRs.CustId }
         *     
         */
        public IFX.SignonRs.CustId getCustId() {
            return custId;
        }

        /**
         * Define el valor de la propiedad custId.
         * 
         * @param value
         *     allowed object is
         *     {@link IFX.SignonRs.CustId }
         *     
         */
        public void setCustId(IFX.SignonRs.CustId value) {
            this.custId = value;
        }

        /**
         * Obtiene el valor de la propiedad serverDt.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getServerDt() {
            return serverDt;
        }

        /**
         * Define el valor de la propiedad serverDt.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setServerDt(String value) {
            this.serverDt = value;
        }

        /**
         * Obtiene el valor de la propiedad clientDt.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getClientDt() {
            return clientDt;
        }

        /**
         * Define el valor de la propiedad clientDt.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setClientDt(String value) {
            this.clientDt = value;
        }


        /**
         * <p>Clase Java para anonymous complex type.
         * 
         * <p>El siguiente fragmento de esquema especifica el contenido que se espera que haya en esta clase.
         * 
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="CustLoginId" type="{}CustLoginId_Type"/>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "custLoginId"
        })
        public static class CustId {

            @XmlElement(name = "CustLoginId", required = true)
            protected String custLoginId;

            /**
             * Obtiene el valor de la propiedad custLoginId.
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getCustLoginId() {
                return custLoginId;
            }

            /**
             * Define el valor de la propiedad custLoginId.
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setCustLoginId(String value) {
                this.custLoginId = value;
            }

        }

    }

}
