Web services is loading spring schema resources from spring web site (after update spring to osgi)


start idempiere without network break web service report on group and same issue report at IDEMPIERE-949

reason: services.xml, rest-context.xml on org.idempiere.webservices refere to schema on remote server

spring have method to mapping resource from remote to local by use file spring.schemas

almost resource mapping is done on spring library and cxf framework, but on Osgi environment, with multiple classload, it get issue.

PluggableSchemaResolver is class to handle this mapping and load schema
DelegatingEntityResolver.schemaResolver is reference to PluggableSchemaResolver instance to load schema loaded by spring

1. it don't see META-INF/spring.schemas on other bundle, so create one on org.idempiere.webservices and concate all content of META-INF/spring.schemas to it
org.apache.servicemix.bundles.spring-beans, org.apache.cxf.cxf-core, org.apache.cxf.cxf-rt-frontend-jaxws, org.apache.cxf.cxf-rt-frontend-jaxrs, org.apache.cxf.cxf-rt-bindings-soap, org.apache.cxf.cxf-rt-frontend-simple, org.apache.cxf.cxf-rt-transports-http, org.apache.cxf.cxf-rt-transports-http-jetty, org.apache.cxf.cxf-rt-ws-addr, org.apache.cxf.cxf-rt-ws-policy, org.apache.servicemix.bundles.spring-aop, org.apache.servicemix.bundles.spring-context

2. it can load schema from original bunlde (example schema from org.apache.servicemix.bundles.spring-context)
but some bundle has split package issue for schema file, so need to copy some schema file to org.idempiere.webservices
example org.apache.cxf.cxf-rt-frontend-jaxws place schema on /schemas folder and org.apache.cxf.cxf-rt-frontend-jaxrs, org.apache.cxf.cxf-rt-frontend-simple, org.apache.cxf.cxf-rt-ws-policy,.. also place same folder
so just see schema file from first lookup bundle

3. don't need to change thread class loader on com.trekglobal.ws.ContextLoaderListener anymore, but need to test side effect, so i not yet remove it on this patch

thanks for sponsored




Carlos Ruiz
February 20, 2020, 12:07 PM

, the changes on this ticket is causing maven to fail.

Please check:

Please advise if is something easy to fix, or we must backout to keep the build stable.


Carlos Ruiz

Hiep Lq
February 20, 2020, 2:48 PM

sorry by forget test with maven. please apply patch

Carlos Ruiz
February 20, 2020, 3:14 PM

Thanks , committed


Hiep Lq


Hiep Lq


Tested By