Compilation error of generated JAXB class

I get the following error after creating the next class. Do I need to run xjc differently?

Error (261.30): interface foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType.FaultType is already defined as a class or interface covering this area

class file:

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference   Implementation, v1.0.2-b15-fcs 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2011.03.03 at 04:15:50 PST 
//


package foo.bbs.tbi.firstresponse;


/**
 * Java content class for anonymous complex type.
 * <p>The following schema fragment specifies the expected content contained within   this java content object. (defined at file:/D:/tools/trang/trang-  20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 11)
 * <p>
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Header">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="rule">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema} anyType">
 *                           &lt;sequence>
 *                             &lt;element name="customer"  type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *                             &lt;element name="schemaName" type="{http://www.w3.org/2001/XMLSchema}NCName"/>
 *                             &lt;element name="schemaVersion" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *         &lt;element name="Body">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;choice>
 *                   &lt;element name="RTVL_RQST_ID"  type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *                   &lt;element name="Fault">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="fault">
 *                               &lt;complexType>
 *                                 &lt;complexContent>
 *                                   &lt;restriction  base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                                     &lt;sequence>
 *                                       &lt;element name="faultcode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *                                       &lt;element name="faultstring" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                                     &lt;/sequence>
 *                                   &lt;/restriction>
 *                                 &lt;/complexContent>
 *                               &lt;/complexType>
 *                             &lt;/element>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/choice>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
*/
public interface EnvelopeType {


/**
 * 
 * @return
 *     possible object is
 *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType}
 */
foo.bbs.tbi.firstresponse.EnvelopeType.BodyType getBody();

/**
 * 
 * @param value
 *     allowed object is
 *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType}
 */
void setBody(foo.bbs.tbi.firstresponse.EnvelopeType.BodyType value);

/**
 * 
 * @return
 *     possible object is
 *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType}
 */
foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType getHeader();

/**
 * 
 * @param value
 *     allowed object is
 *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType}
 */
void setHeader(foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType value);


/**
 * Java content class for anonymous complex type.
 * <p>The following schema fragment specifies the expected content contained within  this java content object. (defined at file:/D:/tools/trang/trang- 20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 29)
 * <p>
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;choice>
 *         &lt;element name="RTVL_RQST_ID" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *         &lt;element name="Fault">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="fault">
 *                     &lt;complexType>
 *                       &lt;complexContent>
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                           &lt;sequence>
 *                             &lt;element name="faultcode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *                             &lt;element name="faultstring" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *                           &lt;/sequence>
 *                         &lt;/restriction>
 *                       &lt;/complexContent>
 *                     &lt;/complexType>
 *                   &lt;/element>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/choice>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 */
public interface BodyType {


    /**
     * 
     * @return
     *     possible object is
     *     {@link java.math.BigInteger}
     */
    java.math.BigInteger getRTVLRQSTID();

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link java.math.BigInteger}
     */
    void setRTVLRQSTID(java.math.BigInteger value);

    /**
     * 
     * @return
     *     possible object is
     *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType}
     */
    foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType getFault();

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType}
     */
    void setFault(foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType value);


    /**
     * Java content class for anonymous complex type.
     * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/D:/tools/trang/trang-20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 33)
     * <p>
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="fault">
     *           &lt;complexType>
     *             &lt;complexContent>
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *                 &lt;sequence>
     *                   &lt;element name="faultcode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
     *                   &lt;element name="faultstring" type="{http://www.w3.org/2001/XMLSchema}string"/>
     *                 &lt;/sequence>
     *               &lt;/restriction>
     *             &lt;/complexContent>
     *           &lt;/complexType>
     *         &lt;/element>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     */
    public interface FaultType {


        /**
         * 
         * @return
         *     possible object is
         *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType.FaultType}
         */
        foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType.FaultType getFault();

        /**
         * 
         * @param value
         *     allowed object is
         *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType.FaultType}
         */
        void setFault(foo.bbs.tbi.firstresponse.EnvelopeType.BodyType.FaultType.FaultType value);


        /**
         * Java content class for anonymous complex type.
         * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/D:/tools/trang/trang-20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 36)
         * <p>
         * <pre>
         * &lt;complexType>
         *   &lt;complexContent>
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
         *       &lt;sequence>
         *         &lt;element name="faultcode" type="{http://www.w3.org/2001/XMLSchema}integer"/>
         *         &lt;element name="faultstring" type="{http://www.w3.org/2001/XMLSchema}string"/>
         *       &lt;/sequence>
         *     &lt;/restriction>
         *   &lt;/complexContent>
         * &lt;/complexType>
         * </pre>
         * 
         */
        public interface FaultType {


            /**
             * 
             * @return
             *     possible object is
             *     {@link java.math.BigInteger}
             */
            java.math.BigInteger getFaultcode();

            /**
             * 
             * @param value
             *     allowed object is
             *     {@link java.math.BigInteger}
             */
            void setFaultcode(java.math.BigInteger value);

            /**
             * 
             * @return
             *     possible object is
             *     {@link java.lang.String}
             */
            java.lang.String getFaultstring();

            /**
             * 
             * @param value
             *     allowed object is
             *     {@link java.lang.String}
             */
            void setFaultstring(java.lang.String value);

        }

    }

}


/**
 * Java content class for anonymous complex type.
 * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/D:/tools/trang/trang-20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 14)
 * <p>
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="rule">
 *           &lt;complexType>
 *             &lt;complexContent>
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 &lt;sequence>
 *                   &lt;element name="customer" type="{http://www.w3.org/2001/XMLSchema}integer"/>
 *                   &lt;element name="schemaName" type="{http://www.w3.org/2001/XMLSchema}NCName"/>
 *                   &lt;element name="schemaVersion" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
 *                 &lt;/sequence>
 *               &lt;/restriction>
 *             &lt;/complexContent>
 *           &lt;/complexType>
 *         &lt;/element>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 */
public interface HeaderType {


    /**
     * 
     * @return
     *     possible object is
     *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType.RuleType}
     */
    foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType.RuleType getRule();

    /**
     * 
     * @param value
     *     allowed object is
     *     {@link foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType.RuleType}
     */
    void setRule(foo.bbs.tbi.firstresponse.EnvelopeType.HeaderType.RuleType value);


    /**
     * Java content class for anonymous complex type.
     * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/D:/tools/trang/trang-20091111/tbi/firstResponseOnly/jaxb2/firstCombined.xsd line 17)
     * <p>
     * <pre>
     * &lt;complexType>
     *   &lt;complexContent>
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       &lt;sequence>
     *         &lt;element name="customer" type="{http://www.w3.org/2001/XMLSchema}integer"/>
     *         &lt;element name="schemaName" type="{http://www.w3.org/2001/XMLSchema}NCName"/>
     *         &lt;element name="schemaVersion" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
     *       &lt;/sequence>
     *     &lt;/restriction>
     *   &lt;/complexContent>
     * &lt;/complexType>
     * </pre>
     * 
     */
    public interface RuleType {


        /**
         * 
         * @return
         *     possible object is
         *     {@link java.math.BigDecimal}
         */
        java.math.BigDecimal getSchemaVersion();

        /**
         * 
         * @param value
         *     allowed object is
         *     {@link java.math.BigDecimal}
         */
        void setSchemaVersion(java.math.BigDecimal value);

        /**
         * 
         * @return
         *     possible object is
         *     {@link java.lang.String}
         */
        java.lang.String getSchemaName();

        /**
         * 
         * @param value
         *     allowed object is
         *     {@link java.lang.String}
         */
        void setSchemaName(java.lang.String value);

        /**
         * 
         * @return
         *     possible object is
         *     {@link java.math.BigInteger}
         */
        java.math.BigInteger getCustomer();

        /**
         * 
         * @param value
         *     allowed object is
         *     {@link java.math.BigInteger}
         */
        void setCustomer(java.math.BigInteger value);

    }

}

}
+3
source share
2 answers

The problem you are facing is that Java does not allow you to declare an inner class with the same simple name as the outer class. You have a class FaultTypein a class FaultTypethat is prohibited and caused by the presence of a fault element inside a Fault element.

, JAXB, . , XSD, JAXB .

+2

. , JAXB , ( , (.xjb)). . , :

:

  • <jxb:bindings node="//xs:complexType[@name=’TypeName’]">, XPath :
  • <jxb:class name="CustomizedClassName"> .

, , ( , ):

  • <jxb:bindings node=".//xs:element[@name=’elementName’]">, ( XPath) :
  • <jxb:property name="customizedPropertyName"/> .
+2

Source: https://habr.com/ru/post/1796366/


All Articles