Dear All, thanks for your reply, so as far as I've understood this problem is related to the **integration** between GWC (embedded) and geoserver.
GWC do not have any knowledge about the workspaces this is why it works only if the workspace is selected using the path and not the layername. What do you think if we configure the integrated gwc to leverage on the path rather than on the workspace:layername? If this is acceptable for you, do you think that a patch is possible? I haven't seen the code so I don't really know the effort needed, if it's not so complicated, maybe I can help. Regards, Carlo GWC services, like WMTS and TMS, try to look up the cached layers by their > ID, but if the workspace they belong too its isolated, that lookup will > only succeed if done in the context of the isolated workspace virtual > end-point. > Example of global access and an workspace virtual en-point access (in that > order): > > > - http://localhost:8080/geoserver/gwc/service/wmts?*layer=topp:states* > > &style=&tilematrixset=EPSG:4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/png&TileMatrix=EPSG:4326:5&TileCol=15&TileRow=8 > - http://localhost:8080/geoserver/*topp*/gwc/service/wmts? > *layer=states* > > &style=&tilematrixset=EPSG:4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image/png&TileMatrix=EPSG:4326:5&TileCol=15&TileRow=8 > > > This where the access of the layer its checked [1] by the isolated > workspaces code. > > I identified the following issue; Looks like both WMTS and TDMS when > building their capabilities document get all the layers by their ID's and > assume that they should be available, if not then its because the GWC > configuration got out of sync. > Their code needs to be updated and recognize the situation where certain > layers are not available because they belong to an isolated workspace and > the GetCapabilities request being answer was issued globally or in a > different workspace end-point. > > Hope this helps, > Nuno Oliveira > > [1] > https://github.com/geoserver/geoserver/blob/732e7b4bfacdf7fe7180c3d7ba2868ea3650c24c/src/main/src/main/java/org/geoserver/catalog/impl/IsolatedCatalogFacade.java#L188-L190 > > On Thu, 2020-04-30 at 16:34 -0700, Jody Garnett wrote: > > I am sharing some initial thoughts, just to share my understanding: > > - GWC does not have a built-in concept of namespace, if you look you can > see it generates something like prefix_layer_name which works well in many > cases :) > - XML namespaces (and prefix) is used to make sure we are specific when > talking about what a data means, allowing us to locate the schema used for > validation > - isolated namespaces are intended to be used when the schema is defined > externally, and when there is no "global service" so the content is only > available via a workspace specific WFS endpoint > > So I think this setup, has been focused on publishing XML content without > conflict, and has not deeply considered WCS/WMS (which is possible) or WMTS > (which may not even offer a virtual service for unambiguous access). Right > now we "run" an emended GWC for publishing tileset, think to support your > use case we would need to run one per virtual workspace. So possible but > not included in the present design. > > I did not work directly on this integration so I would need to dive into > the code to confirm the above speculation. > -- > Jody Garnett > > > On Wed, 29 Apr 2020 at 23:31, carlo cancellieri < > geo.ccancelli...@gmail.com> wrote: > > Jody, > > Do you have a stack trace or anything else to go on Carlo? I have not used > isolated workspaces yet > > > Yep, fwding the message may have hidden the end of the mail, please see > below. > > myself, does it work if the workspace is not isolated? > > > Yes, disabling isolation ‘solved’ > > Carlo > > -- > Jody Garnett > > > On Wed, 29 Apr 2020 at 13:13, carlo cancellieri < > geo.ccancelli...@gmail.com> wrote: > > > Dear List, > I'm trying to use extensively isolated workspace and I've found a > possible issue which I'm going to share with you before we open a ticket: > Steps: > Use geoserver 2.17.0 > create an isolated workspace > add a jndi store > load a layer (I'm using gadm level0) > install VectorTyle extension > enable the vector tyle 'format' over that layer > > now I'm having problem to use embedded GWC, fe I'm not able to see the: > https://xxxxxxxxxx/xxxxx/gwc/service/tms/1.0.0 > > trying to retrieve that or other requests I got errors like: > DEBUG [util.ResponseUtils] - Could not locate a layer or layer group with > id LayerInfoImpl-3bba14cf:1711882e14e:-11bb within GeoServer configuration, > the GWC configuration seems to be out of synch > 2020-04-29 16:37:14,813 ERROR [geowebcache.GeoWebCacheDispatcher] - > Request failed > java.lang.IllegalStateException: Could not locate a layer or layer group > with id LayerInfoImpl-3bba14cf:1711882e14e:-11bb within GeoServer > configuration, the GWC configuration seems to be out of synch > at > org.geoserver.gwc.layer.GeoServerTileLayer.lambda$getPublishedInfo$0(GeoServerTileLayer.java:396) > at > java.base/java.util.concurrent.atomic.AtomicReference.accumulateAndGet(AtomicReference.java:263) > at > org.geoserver.gwc.layer.GeoServerTileLayer.getPublishedInfo(GeoServerTileLayer.java:386) > at > org.geoserver.gwc.layer.GeoServerTileLayer.isEnabled(GeoServerTileLayer.java:307) > at > org.geowebcache.service.tms.TMSDocumentFactory.getTileMapServiceDoc(TMSDocumentFactory.java:138) > at > org.geowebcache.service.tms.TMSService.handleRequest(TMSService.java:251) > at > org.geowebcache.service.tms.TMSService$$FastClassBySpringCGLIB$$34b3521.invoke(<generated>) > at > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) > at > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) > at > org.geoserver.gwc.config.GWCServiceEnablementInterceptor.invoke(GWCServiceEnablementInterceptor.java:58) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) > at > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) > at > org.geowebcache.service.tms.TMSService$$EnhancerBySpringCGLIB$$136fc4fa.handleRequest(<generated>) > at > org.geowebcache.GeoWebCacheDispatcher.handleServiceRequest(GeoWebCacheDispatcher.java:406) > at > org.geowebcache.GeoWebCacheDispatcher.handleRequestInternal(GeoWebCacheDispatcher.java:268) > at > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) > at > org.geoserver.gwc.dispatch.GwcServiceProxy.dispatch(GwcServiceProxy.java:80) > at jdk.internal.reflect.GeneratedMethodAccessor853.invoke(Unknown > Source) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.base/java.lang.reflect.Method.invoke(Method.java:566) > ... > > Note that I've also deleted that file multiple times recreating it with > the UI with no success. > > It started working once workspace isolation has been disabled. > > Could you confirm? May I need to open a ticket? > > Thanks > C. > > -- > Mr. Carlo Cancellieri > *skype*: ccancellieri > *Twitter*: @cancellieric > *LinkedIn*: http://it.linkedin.com/in/ccancellieri/ > > _______________________________________________ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to > this list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > > Geoserver-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geoserver-users > > > -- > Mr. Carlo Cancellieri > *skype*: ccancellieri > *Twitter*: @cancellieric > *LinkedIn*: http://it.linkedin.com/in/ccancellieri/ > > _______________________________________________ > Geoserver-users mailing list > > Please make sure you read the following two resources before posting to this > list: > - Earning your support instead of buying it, but Ian Turton: > http://www.ianturton.com/talks/foss4g.html#/ > - The GeoServer user list posting guidelines: > http://geoserver.org/comm/userlist-guidelines.html > > If you want to request a feature or an improvement, also see this: > https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer > > Geoserver-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/geoserver-users > > -- > Regards, > Nuno Oliveira > == > GeoServer Professional Services from the > experts! > Visit http://goo.gl/it488V for more information. > == > > Nuno Miguel Carvalho Oliveira > @nmcoliveira > Software Engineer > > GeoSolutions S.A.S. > Via di Montramito 3/A > 55054 Massarosa (LU) > Italy > phone: +39 0584 962313 > fax: +39 0584 1660272 > http://www.geo-solutions.ithttp://twitter.com/geosolutions_it > > ------------------------------------------------------- > > Con riferimento alla normativa sul trattamento dei dati > personali (Reg. UE 2016/679 - Regolamento generale sulla > protezione dei dati “GDPR”), si precisa che ogni > circostanza inerente alla presente email (il suo contenuto, > gli eventuali allegati, etc.) è un dato la cui conoscenza > è riservata al/i solo/i destinatario/i indicati dallo > scrivente. Se il messaggio Le è giunto per errore, è > tenuta/o a cancellarlo, ogni altra operazione è illecita. > Le sarei comunque grato se potesse darmene notizia. > > This email is intended only for the person or entity to > which it is addressed and may contain information that > is privileged, confidential or otherwise protected from > disclosure. We remind that - as provided by European > Regulation 2016/679 “GDPR” - copying, dissemination or > use of this e-mail or the information herein by anyone > other than the intended recipient is prohibited. If you > have received this email by mistake, please notify > us immediately by telephone or e-mail. > > -- Mr. Carlo Cancellieri *skype*: ccancellieri *Twitter*: @cancellieric *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
_______________________________________________ Geoserver-users mailing list Please make sure you read the following two resources before posting to this list: - Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/ - The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer Geoserver-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-users