Saltar al contenido

.xsd no es parte de esta compilación. ¿Es esto un error para .xjb?

Después de de una larga recopilación de información pudimos solucionar este rompecabezas que pueden tener algunos los lectores. Te brindamos la solución y deseamos servirte de mucha apoyo.

Solución:

En mi entorno (versión 2.2) solo funcionaba cuando los archivos estaban en carpetas dedicadas (esquema en src/main/xsd/schema.xsd y enlace ind src/main/xsb/binding.xsb) y el archivo de enlace hacía referencia al esquema relativamente : esquemaUbicación=”../xsd/esquema.xsd”

Realmente parece ser frágil.

Comienza a funcionar después de agregar mi xsd en el archivo pom en la configuración de un complemento, como este:

                
                    src/main/resources/binding
                

                
                    bindings.xjb
                    ../xsd/egrul.xsd
                    ../xsd/arrays.xsd
                

Mientras miro el problema, puedo sugerir los siguientes pasos:

Primero, suponiendo que está utilizando algún complemento para generar sus stubs. Uso cxf-codegen-plugin (puedes usar cualquiera), el paso importante es definir la ubicación de tu archivo de enlace, digamos que está dentro de resourceswsdl
Aquí está el fragmento:


    org.apache.cxf
    cxf-codegen-plugin
    $cxf.version
    
        UTF-8
    
    
        
            generate-sources
            generate-sources
            
                
                    
                        $basedir/src/main/resources/wsdl/YOUR_WSDL_NAME.wsdl
                        classpath:wsdl/YOUR_WSDL_NAME.wsdl
                        
                            -xjc-Xts
                        
                        
                            $basedir/src/main/resources/wsdl/binding.xml
                        
                    
                
            
            
                wsdl2java
            
        
    

    
        
            org.apache.cxf.xjcplugins
            cxf-xjc-ts
            $cxf.version
        
    

A continuación, ahora, mientras ejecuta “mvn generate-sources”, puede tener una idea de dónde buscar su archivo de enlace. Supongamos que también está colocando su archivo xsd en la carpeta resourceswsdl (puede tener cualquier ruta)
Veamos el fragmento de binding.xml


        .....

Dado que ya definió la ruta del archivo de enlace en el complemento maven, y su xsd también está en esa ruta, no necesita definir esta ruta nuevamente en schemaLocation de su archivo de enlace.

Aquí puedes ver las reseñas y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *