eblondel / geosapi Goto Github PK
View Code? Open in Web Editor NEWR interface to GeoServer REST API
Home Page: https://github.com/eblondel/geosapi/wiki
License: Other
R interface to GeoServer REST API
Home Page: https://github.com/eblondel/geosapi/wiki
License: Other
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The error reports a magic number issue.
I suspect the previous code was working because of typo in "Content-Type" ("Content-type") header that was ignoring the header. But the header has been fixed with 8aa7c00 breaking the upload of shapefile where a empty Content-Type was set.
First of all, big thanks for this wonderful R library.
Some details on the versions:
Geoserver vesion 2.17.0
R version 4.0.2
geosapi version 0.5-1
I encountered error (http status 500) when creating GSManager
through running GSManager$new
. Upon looking at the code, found that this line would add a trailing slash, i.e. https://[GEOSERVER HOST]/geoserver/rest/
when creating the connection and this would return error in my case. Managed to solve this issue by hacking through removing the trailing slash via nginx rewriting rule.
I am not certain if this is only my geoserver setting and would like to share this out for your information.
Thanks a lot.
To support:
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I am trying to upload a bunch of styles to the geoserver and followed the description from here .
I tried to upload the style as a .sld file and with some xml as sldBody.
gsman$createStyle(file = "C:/day130718.sld", name = "day130718")
gsman$createStyle(sldBody = sldStyle, name = "day130718")
In both cases the style on the geoserver looks like this:
<?xml version="1.0" encoding="UTF-8"?><sld:StyledLayerDescriptor xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:se="http://www.opengis.net/se" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:sld="http://www.opengis.net/sld">org.geotools.styling.StyledLayerDescriptorImpl@767735dc</sld:StyledLayerDescriptor>
Although it is an xml, it doesnt seem to be valid. I am getting these erros:
line 1: cvc-complex-type.4: Attribute 'version' must appear on element 'sld:StyledLayerDescriptor'.
line 1: cvc-complex-type.2.3: Element 'sld:StyledLayerDescriptor' cannot have character [children], because the type's content type is element-only.
And the whole style-logic of the .sld file does not appear in the geoserver. This should be the uploaded style:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://www.opengis.net/se" version="1.1.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd">
<NamedLayer>
<se:Name>fcd_analyse:day130718</se:Name>
<UserStyle>
<se:Name>fcd_analyse:day130718</se:Name>
<se:FeatureTypeStyle>
<se:Rule>
<se:Name> 60 - 100 </se:Name>
<se:Description>
<se:Title> 60 - 100 </se:Title>
</se:Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>60</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#d7191c</se:SvgParameter>
<se:SvgParameter name="stroke-width">1</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
</se:LineSymbolizer>
</se:Rule>
<se:Rule>
<se:Name> 100 - 200 </se:Name>
<se:Description>
<se:Title> 100 - 200 </se:Title>
</se:Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>100</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#fdae61</se:SvgParameter>
<se:SvgParameter name="stroke-width">1</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
</se:LineSymbolizer>
</se:Rule>
<se:Rule>
<se:Name> 200 - 300 </se:Name>
<se:Description>
<se:Title> 200 - 300 </se:Title>
</se:Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>200</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#ffffc0</se:SvgParameter>
<se:SvgParameter name="stroke-width">1</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
</se:LineSymbolizer>
</se:Rule>
<se:Rule>
<se:Name> 300 - 400 </se:Name>
<se:Description>
<se:Title> 300 - 400 </se:Title>
</se:Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>300</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#a6d96a</se:SvgParameter>
<se:SvgParameter name="stroke-width">1</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
</se:LineSymbolizer>
</se:Rule>
<se:Rule>
<se:Name> 400 - 480 </se:Name>
<se:Description>
<se:Title> 400 - 480 </se:Title>
</se:Description>
<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
<ogc:And>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>400</ogc:Literal>
</ogc:PropertyIsGreaterThan>
<ogc:PropertyIsLessThanOrEqualTo>
<ogc:PropertyName>day130718</ogc:PropertyName>
<ogc:Literal>480</ogc:Literal>
</ogc:PropertyIsLessThanOrEqualTo>
</ogc:And>
</ogc:Filter>
<se:LineSymbolizer>
<se:Stroke>
<se:SvgParameter name="stroke">#1a9641</se:SvgParameter>
<se:SvgParameter name="stroke-width">1</se:SvgParameter>
<se:SvgParameter name="stroke-linejoin">bevel</se:SvgParameter>
<se:SvgParameter name="stroke-linecap">square</se:SvgParameter>
</se:Stroke>
</se:LineSymbolizer>
</se:Rule>
</se:FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Geoserver-Version: 2.12.1
geosapi-Version: 0.2-0
With keyring
package version 1.2.0, we get message The 'system' keyring does not exist, enter a keyring password to create it
when instantiating the GSManager
. This relates to this change r-lib/keyring#95 where file
backend is now set by default on Linux OS (env
is kept by default on other OS).
For the time being, geosapi will keep using the env
backend for storing GS user/passwords. This could be refined later depending on needs.
Hi,
There is a typo in doc version 0.3-0
. For unpublishLayer
, it gives us 4 parameters, but the function takes only 3.
code:
gsman$unpublishLayer
function (ws, ds, lyr)
{
self$INFO(sprintf("Unpublishing layer '%s'", lyr))
unpublished <- FALSE
(...)
return(unpublished)
}
doc:
‘unpublishLayer(ws, ds, featureType, layer)’ Unpublish a web-layer (including the featureType and 'layer' resources), given a workspace, a datastore, and a layer name
As I am here, is there a way to enable services by workspace ? Example, WMS but not WCS or only WMS ? The API seems to give us something like that with /workspaces/<ws>/settings
, but what would be the strategy from geosapi
?
Thanks !
2 different XML implementations
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Basic support of featureType
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
bad usage of If statements.
All docker images tested work, but no sample data configured. To investigate if there is a way to configure basic sample data in Geoserver, otherwise all tests will need to be revised.
Known docker geoserver images
https://github.com/oscarfonts/docker-geoserver - question sent to owner (oscarfonts/docker-geoserver#6)
https://github.com/kartoza/docker-geoserver
https://github.com/thinkWhere/GeoServer-Docker
https://bitbucket.org/ololoteam/geoserver-docker
Hi @eblondel,
Hope you started well this year !
I have encountered a small glitch. Maybe it's an misunderstanding of mine :
# Update service : disable it
setting <- GSServiceSettings$new( service = 'WMS' )
setting$setEnabled( FALSE )
gsman$updateServiceSettings(setting, service = 'wms', ws = 'foo')
Should have disabled it, but apparently it doesn't:
Thanks for looking at this.
CC: @PierreLacroix
Tested with a SQL view params having backslash escaping of field and table names
Hi,
Is there a reason why updateServiceSettings
converts workspace names to lowercase, while others methods seem to accept camelcased name ?
Is this a general rule in geoserver to have lowercased workspace names ? I do this for pg tables to avoid case issues, but I was not aware of this in geoserver.
Beside, the api seems to accept character such as @
for names, which is nice, while such characters make the UI unresponsive. This could be reported in GeoServer repo, but maybe you can enlighten me on that issue.
Geosapi version : 0.4-0
Geoserver version : 2.14.1
R version 3.5.2
Thanks !
F
Workspace settings CRUD operations, excepted the management of settings contact.
Development sponsored by UNEP GRID-Geneva
Support:
2 different XML implementations
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
org.geoserver.rest.RestException 500 INTERNAL_SERVER_ERROR: Error while storing uploaded file:
at org.geoserver.rest.catalog.AbstractStoreUploadController.handleFileUpload(AbstractStoreUploadController.java:93)
at org.geoserver.rest.catalog.DataStoreFileController.doFileUpload(DataStoreFileController.java:595)
at org.geoserver.rest.catalog.DataStoreFileController.dataStorePut(DataStoreFileController.java:278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:73)
at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:51)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:141)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.http.InvalidMediaTypeException: Invalid mime type "application/zip, application/zip": Invalid token character ',' in token "zip, application/zip"
at org.springframework.http.MediaType.parseMediaType(MediaType.java:462)
at org.springframework.http.MediaType.valueOf(MediaType.java:447)
at org.geoserver.rest.util.RESTUtils.handleBinUpload(RESTUtils.java:101)
at org.geoserver.rest.catalog.AbstractStoreUploadController.handleFileUpload(AbstractStoreUploadController.java:73)
... 105 more
Caused by: org.springframework.util.InvalidMimeTypeException: Invalid mime type "application/zip, application/zip": Invalid token character ',' in token "zip, application/zip"
at org.springframework.util.MimeTypeUtils.parseMimeType(MimeTypeUtils.java:307)
at org.springframework.http.MediaType.parseMediaType(MediaType.java:459)
... 108 more
VirtualTable
/ VirtualTableGeometry
VirtualTableParameter
)Hi, again.
Using the functions gsman$publishLayer and gsman$unpublishLayer
there is a small issue, maybe related to geoserver cache or something.
If I publish a layer, then unpublish it, the re-publish it with the same name, I've got an error :
2018-12-20 14:27:25,190 ERROR [geoserver.rest] - Resource named '<name>' already exists in store: '<my_pg_store>'
No layer names are returned.
> gsman$getLayerNames()
list()
But if I remove the geoserver from my docker stack, the re-add it, I'm able to republish my layer.
Is that a glitch in unpublishLayer
or is it a bug in GeoServer ? Or am I missing something ?
Thanks,
F
I think there is a minor typo in the wiki.
md1 <- GSMetadataLink$new(type = "text/xml", metadataType = "ISO19115:2003", content = "http://somelink.org/xml")
featureType$addMetadataLink(md)
Where featureType$addMetadataLink(md)
should be featureType$addMetadataLink(md1)
requires some postgis or oracle store
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
CRUD operations for OGC service settings, including activating/disable OGC service.
Excluded from the timebeing: contact management, parameters specific to OGC services
Development sponsored by UNEP GRID-Geneva
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
when applying GET operation on datastore, such as getDataStores
and getDataStore
, at now geosapi retrieves instances of generic GSDataStore
, it should decode retrieve the particular instance instead (e.g. shapefile, directory of shapefiles, postgis, etc)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.