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

Description

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

Environment

None

Assignee

Hiep Lq

Reporter

Hiep Lq

Labels

Tested By

None

Priority

Major
Configure