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.