最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

weblogic - javax.xml.bind.JAXBException: is not a valid property on class - Stack Overflow

programmeradmin0浏览0评论

I am trying to deploy an app, that I migrate on jdk11 on my weblogic 14c server but i encounter this error when i try to deploy it :

Erreur javax.xml.bind.JAXBException: {}infoBilan is not a valid property on class fr.gipmds.pascrm.bouchon.ws.notification.generated.jaxws.RemonterBilan

I don't understand why i didn't modify the wsdl. I use jaxws-maven-plugin to generate it ( i tried with apache cxf too)

Here my pom.xml :

<project xmlns=".0.0" xmlns:xsi=";
    xsi:schemaLocation=".0.0 .xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>fr.gipmds.pascrm.bouchon</groupId>
    <artifactId>bouchon-pascrm</artifactId>
    <packaging>war</packaging>
    <name>BouchonPascrm</name>
    <description>Application web contenant les bouchons PASCRM</description>

    <parent>
        <groupId>fr.gipmds.pascrm</groupId>
        <artifactId>web</artifactId>
        <version>2025.1.0.0</version>
        <relativePath>../../web</relativePath>
    </parent>


    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    </properties>

    <dependencies>
        <dependency>
            <groupId>fr.gipmds.pascrm.service</groupId>
            <artifactId>services-jeton</artifactId>
        </dependency>
        <dependency>
            <groupId>fr.gipmds.pascrm.service</groupId>
            <artifactId>services-metier</artifactId>
        </dependency>
        <!-- WEB -->
        <dependency>
            <groupId>.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
        </dependency>
        <dependency>
            <groupId>.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
        </dependency>
        <dependency>
            <groupId>fr.gipmds.pascrm.domain</groupId>
            <artifactId>utilities-commun</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <scope>provided</scope>
        </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
    </dependency>

        <dependency>
            <groupId>.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
        </dependency>

        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>rt</artifactId>
            <version>4.0.1</version>
        </dependency>

        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-ri</artifactId>
            <version>2.3.2</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>jakarta.jws</groupId>
            <artifactId>jakarta.jws-api</artifactId>
            <version>2.1.0</version>
        </dependency>


        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0.1</version>
        </dependency>

        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.1</version>
        </dependency>

        <dependency>
            <groupId>javax.xml.ws</groupId>
            <artifactId>jaxws-api</artifactId>
            <version>2.3.1</version>
        </dependency>

        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>2.3.2</version>
        </dependency>

        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.3.2</version>
        </dependency>


        <!-- TEST -->
        <dependency>
            <groupId>fr.gipmds.pascrm</groupId>
            <artifactId>tests-deps</artifactId>
            <type>pom</type>
        </dependency>
    </dependencies>



    <build>
        <plugins>

            <plugin>
                <groupId>.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${mavenpiler.source}</source>
                    <target>${mavenpiler.source}</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
<!--            <plugin>-->
<!--                <groupId>.apache.cxf</groupId>-->
<!--                <artifactId>cxf-codegen-plugin</artifactId>-->
<!--                <version>3.3.1</version>-->
<!--                <executions>-->
<!--                    <execution>-->
<!--                        <id>generate-sources</id>-->
<!--                        <phase>generate-sources</phase>-->
<!--                        <configuration>-->
<!--                            <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>-->
<!--                            <wsdlOptions>-->
<!--                                <wsdlOption>-->
<!--                                    <wsdl>${basedir}/src/main/resources/BilanDSNServicev3.1.wsdl</wsdl>-->
<!--                                </wsdlOption>-->
<!--                            </wsdlOptions>-->
<!--                        </configuration>-->
<!--                        <goals>-->
<!--                            <goal>wsdl2java</goal>-->
<!--                        </goals>-->
<!--                    </execution>-->
<!--                </executions>-->
<!--            </plugin>-->
            <plugin>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <version>2.3.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsimport</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
<!--                    <wsdlDirectory>${project.basedir}/src/main/resources/</wsdlDirectory>-->
                    <wsdlFiles>
                        <wsdlFile>${project.basedir}/src/main/resources/BilanDSNServicev3.1.wsdl</wsdlFile>
                    </wsdlFiles>
                    <packageName>fr.gipmds.pascrm.bouchon.ws.notification.generated</packageName>
                    <sourceDestDir>${project.build.directory}/generated-sources/</sourceDestDir>
<!--                    <bindingFiles>-->
<!--                        <bindingFile>${project.basedir}/src/main/resources/jaxb-bindings.xml</bindingFile>-->
<!--                    </bindingFiles>-->
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

My wsdl :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions targetNamespace=";
    name="BilanDSNService" xmlns="/"
    xmlns:tns="; xmlns:xsd=";
    xmlns:soap="/">
    <types>
        <xsd:schema targetNamespace=";
            version="3.1">

            <xsd:element name="infoBilan" type="tns:infoBilan" />

            <xsd:element name="remonterBilan" type="tns:remonterBilan" />

            <xsd:element name="remonterBilanResponse" type="tns:remonterBilanResponse" />

            <xsd:element name="statut" type="tns:statut" />

            <xsd:complexType name="remonterBilan">
                <xsd:sequence>
                    <xsd:element ref="tns:infoBilan" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="infoBilan">
                <xsd:sequence>
                    <xsd:element name="timestamp" type="xsd:dateTime" />
                    <xsd:element name="idOps" type="xsd:string" />
                    <xsd:element name="delegataire" type="xsd:string"
                        minOccurs="0" />
                    <xsd:element name="idFlux" type="xsd:string" />
                    <xsd:element name="rang" type="xsd:positiveInteger" />
                    <xsd:element name="etape" minOccurs="0">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:int">
                                <xsd:minInclusive value="2" />
                                <xsd:maxInclusive value="3" />
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="codeRetour" type="xsd:positiveInteger"/>
                    <xsd:element name="numOrdre" type="xsd:nonNegativeInteger" />
                    <xsd:element name="statut">
                        <xsd:simpleType>
                            <xsd:restriction base="xsd:string">
                                <xsd:enumeration value="OK" />
                                <xsd:enumeration value="ANOBLOQUANTE" />
                                <xsd:enumeration value="ANOMALIE" />
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:element>
                    <xsd:element name="cleAcces" type="xsd:string"
                        minOccurs="0" />
                    <xsd:element name="compteRendu" type="xsd:base64Binary"
                        minOccurs="0" />

                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="remonterBilanResponse">
                <xsd:sequence>
                    <xsd:element name="return" type="tns:statut" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="statut">
                <xsd:sequence>
                    <xsd:element name="code" type="xsd:string" />
                    <xsd:element name="libelle" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>
        </xsd:schema>
    </types>
    <message name="remonterBilan">
        <part name="parameters" element="tns:remonterBilan" />
    </message>
    <message name="remonterBilanResponse">
        <part name="parameters" element="tns:remonterBilanResponse" />
    </message>
    <portType name="BilanDSNService">
        <operation name="remonterBilan">
            <input message="tns:remonterBilan" />
            <output message="tns:remonterBilanResponse" />
        </operation>
    </portType>
    <binding name="BilanDSNPortBinding" type="tns:BilanDSNService">
        <soap:binding transport=";
            style="document" />
        <operation name="remonterBilan">
            <soap:operation soapAction="; />
            <input>
                <soap:body use="literal" />
            </input>
            <output>
                <soap:body use="literal" />
            </output>
        </operation>
    </binding>
    <service name="BilanDSNService">
        <port name="BilanDSNPort" binding="tns:BilanDSNPortBinding">
            <soap:address location="http://localhost:8080" />
        </port>
    </service>
</definitions>

My class RemonterBilan :

package fr.gipmds.pascrm.bouchon.ws.notification.generated;

import javax.xml.bind.annotation.*;


/**
 * <p>Java class for remonterBilan complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="remonterBilan">
 *   &lt;complexContent>
 *     &lt;restriction base="{}anyType">
 *       &lt;sequence>
 *         &lt;element ref="{}infoBilan"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlRootElement(name = "remonterBilanResponse", namespace = ";)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "remonterBilan", propOrder = {
    "infoBilan"
})
public class RemonterBilan {

    @XmlElement(namespace = ";, required = true)
    protected InfoBilan infoBilan;

    /**
     * Gets the value of the infoBilan property.
     * 
     * @return
     *     possible object is
     *     {@link InfoBilan }
     *     
     */
    public InfoBilan getInfoBilan() {
        return infoBilan;
    }

    /**
     * Sets the value of the infoBilan property.
     * 
     * @param value
     *     allowed object is
     *     {@link InfoBilan }
     *     
     */
    public void setInfoBilan(InfoBilan value) {
        this.infoBilan = value;
    }

}

My class InfoBilan :

package fr.gipmds.pascrm.bouchon.ws.notification.generated;

import java.math.BigInteger;
import javax.xml.bind.annotation.*;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for infoBilan complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="infoBilan">
 *   &lt;complexContent>
 *     &lt;restriction base="{}anyType">
 *       &lt;sequence>
 *         &lt;element name="timestamp" type="{}dateTime"/>
 *         &lt;element name="idOps" type="{}string"/>
 *         &lt;element name="delegataire" type="{}string" minOccurs="0"/>
 *         &lt;element name="idFlux" type="{}string"/>
 *         &lt;element name="rang" type="{}positiveInteger"/>
 *         &lt;element name="etape" minOccurs="0">
 *           &lt;simpleType>
 *             &lt;restriction base="{}int">
 *               &lt;minInclusive value="2"/>
 *               &lt;maxInclusive value="3"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="codeRetour" type="{}positiveInteger"/>
 *         &lt;element name="numOrdre" type="{}nonNegativeInteger"/>
 *         &lt;element name="statut">
 *           &lt;simpleType>
 *             &lt;restriction base="{}string">
 *               &lt;enumeration value="OK"/>
 *               &lt;enumeration value="ANOBLOQUANTE"/>
 *               &lt;enumeration value="ANOMALIE"/>
 *             &lt;/restriction>
 *           &lt;/simpleType>
 *         &lt;/element>
 *         &lt;element name="cleAcces" type="{}string" minOccurs="0"/>
 *         &lt;element name="compteRendu" type="{}base64Binary" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */

@XmlRootElement(name = "infoBilan", namespace = ";)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "infoBilan", propOrder = {
    "timestamp",
    "idOps",
    "delegataire",
    "idFlux",
    "rang",
    "etape",
    "codeRetour",
    "numOrdre",
    "statut",
    "cleAcces",
    "compteRendu"
})
public class InfoBilan {

    @XmlElement(required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar timestamp;
    @XmlElement(required = true)
    protected String idOps;
    protected String delegataire;
    @XmlElement(required = true)
    protected String idFlux;
    @XmlElement(required = true)
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger rang;
    protected Integer etape;
    @XmlElement(required = true)
    @XmlSchemaType(name = "positiveInteger")
    protected BigInteger codeRetour;
    @XmlElement(required = true)
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger numOrdre;
    @XmlElement(required = true)
    protected String statut;
    protected String cleAcces;
    protected byte[] compteRendu;

    /**
     * Gets the value of the timestamp property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getTimestamp() {
        return timestamp;
    }

    /**
     * Sets the value of the timestamp property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setTimestamp(XMLGregorianCalendar value) {
        this.timestamp = value;
    }

    /**
     * Gets the value of the idOps property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIdOps() {
        return idOps;
    }

    /**
     * Sets the value of the idOps property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIdOps(String value) {
        this.idOps = value;
    }

    /**
     * Gets the value of the delegataire property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDelegataire() {
        return delegataire;
    }

    /**
     * Sets the value of the delegataire property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDelegataire(String value) {
        this.delegataire = value;
    }

    /**
     * Gets the value of the idFlux property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIdFlux() {
        return idFlux;
    }

    /**
     * Sets the value of the idFlux property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIdFlux(String value) {
        this.idFlux = value;
    }

    /**
     * Gets the value of the rang property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getRang() {
        return rang;
    }

    /**
     * Sets the value of the rang property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setRang(BigInteger value) {
        this.rang = value;
    }

    /**
     * Gets the value of the etape property.
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getEtape() {
        return etape;
    }

    /**
     * Sets the value of the etape property.
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setEtape(Integer value) {
        this.etape = value;
    }

    /**
     * Gets the value of the codeRetour property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getCodeRetour() {
        return codeRetour;
    }

    /**
     * Sets the value of the codeRetour property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setCodeRetour(BigInteger value) {
        this.codeRetour = value;
    }

    /**
     * Gets the value of the numOrdre property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getNumOrdre() {
        return numOrdre;
    }

    /**
     * Sets the value of the numOrdre property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setNumOrdre(BigInteger value) {
        this.numOrdre = value;
    }

    /**
     * Gets the value of the statut property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getStatut() {
        return statut;
    }

    /**
     * Sets the value of the statut property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStatut(String value) {
        this.statut = value;
    }

    /**
     * Gets the value of the cleAcces property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCleAcces() {
        return cleAcces;
    }

    /**
     * Sets the value of the cleAcces property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCleAcces(String value) {
        this.cleAcces = value;
    }

    /**
     * Gets the value of the compteRendu property.
     * 
     * @return
     *     possible object is
     *     byte[]
     */
    public byte[] getCompteRendu() {
        return compteRendu;
    }

    /**
     * Sets the value of the compteRendu property.
     * 
     * @param value
     *     allowed object is
     *     byte[]
     */
    public void setCompteRendu(byte[] value) {
        thispteRendu = ((byte[]) value);
    }

}
发布评论

评论列表(0)

  1. 暂无评论