Thanks again Ben,

Here's the DescribeFeatureType response:

<xsd:schema xmlns:aoi="aoi" xmlns:gml="http://www.opengis.net/gml";
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified"
targetNamespace="aoi">
<xsd:import namespace="http://www.opengis.net/gml"; schemaLocation="
http://www.tcartadata.com:80/geoserver/schemas/gml/3.1.1/base/gml.xsd"/>
<xsd:complexType name="aoi_featuresType">
<xsd:complexContent>
<xsd:extension base="gml:AbstractFeatureType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="geom" nillable="true"
type="gml:PointPropertyType"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="aoi_features" substitutionGroup="gml:_Feature"
type="aoi:aoi_featuresType"/>
</xsd:schema>

As far as I can tell, the namespace matches, though, I'm still new at WFS-T
so I could be missing something.

It looks like I can get a GetFeature response as well (of course, there's
nothing in the database table yet):

url:
http://www.tcartadata.com/geoserver/wfs?service=wfs&version=1.1.0&request=GetFeature&typeNames=aoi:aoi_features

<wfs:FeatureCollection xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:wfs="http://www.opengis.net/wfs"; xmlns:gml="http://www.opengis.net/gml";
xmlns:aoi="aoi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
numberOfFeatures="0" timeStamp="2018-06-14T22:45:25.259Z"
xsi:schemaLocation="http://www.opengis.net/wfs
http://www.tcartadata.com:80/geoserver/schemas/wfs/1.1.0/wfs.xsd aoi
http://www.tcartadata.com:80/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=aoi%3Aaoi_features
"/>

Thanks again!

Best,
Todd

On Thu, Jun 14, 2018 at 4:33 PM, Ben Caradoc-Davies <b...@transient.nz>
wrote:

> Todd,
>
> what is the namespace of the aoi workspace? Does it match the xmlns below?
>
> Are you able to get a WFS 1.1 GetFeature response?
>
> Kind regards,
> Ben.
>
> On 15/06/18 10:29, Todd Jacobus wrote:
>
>>   Hi Ben,
>>
>> Thanks very much for the help.  I have since migrated to OpenLayers since
>> they have a function that writes the transaction GML for you, which has
>> made things much simpler.  However, I would love to ask another question.
>> I'm seeing a " Feature type 'aoi_features' is not available" error (I'll
>> paste the trace bellow).  I checked the logs on start-up and it seems that
>> WFS is enabled on the workspace.  I see two broad possibilities:
>>
>>
>>     1. The namespace is still not specified correctly in the GML as sent
>> out
>>     by OpenLayer (I'll paste the new GML request below).  My workspace =
>> aoi,
>>     data-store = aoi_store, layer = aoi_features
>>        1. my data store is a postgis database and the 'aoi_features' layer
>>        is a table with just an ID and GEOM column.
>>     2. The workspace is not configured correctly on the GeoServer side
>>        1. Other than checking the box to enable transactions, I'm not sure
>>
>>        what else to configure here.
>>
>>
>> Thanks again for your help!
>>
>> Best,
>> Todd
>>
>> my GML:
>>
>> <Transaction xmlns="http://www.opengis.net/wfs"; service="WFS"
>> version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:schemaLocation="http://www.opengis.net/wfs
>> http://schemas.opengis.net/
>> wfs/1.1.0/wfs.xsd">
>> <Insert>
>> <aoi_features xmlns="http://www.tcartadata.com/geoserver/wfs/aoi";>
>> <geometry>
>> <Polygon xmlns="http://www.opengis.net/gml"; srsName="EPSG:3857">
>> <exterior>
>> <LinearRing srsName="EPSG:3857">
>> <posList srsDimension="2">-14079089.113903182 5126784.361143341
>> -14196496.389349211 4138606.4594725836 -13413781.219709007
>> 2622095.8182946863 -12063597.552079653 2817774.6107047377
>> -11760295.423844075 4275581.614159619 -12679985.748171315
>> 5048512.844179321
>> -14079089.113903182 5126784.361143341
>> </posList>
>> </LinearRing>
>> </exterior>
>> </Polygon>
>> </geometry>
>> </aoi_features>
>> </Insert>
>> </Transaction>
>>
>> Here's the error trace from the logs:
>>
>> 2018-06-14 22:28:59,599 INFO [geoserver.wfs] -
>> Request: getServiceInfo
>> 2018-06-14 22:28:59,601 DEBUG [geotools.xml] - schemaLocation found:
>> http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd
>> 2018-06-14 22:28:59,602 DEBUG [geotools.xml] - Found override for
>> http://www.opengis.net/wfs: http://schemas.opengis.net/wfs/1.1.0/wfs.xsd
>> ==>
>> jar:file:/home/tcartada/appservers/apache-tomcat-8x/
>> webapps/geoserver/WEB-INF/lib/gs-wfs-2.13.0.jar!/org/
>> geoserver/wfs/xml/v1_1_0/wfs.xsd
>> 2018-06-14 22:28:59,603 DEBUG [geotools.xml] - Could not find declaration
>> for: {http://www.tcartadata.com/geoserver/wfs/aoi}aoi_features. Checking
>> if
>> containing type declares a single particle.
>> 2018-06-14 22:28:59,604 DEBUG [geotools.xml] - Could not find declaration
>> for: {http://www.tcartadata.com/geoserver/wfs/aoi}geometry. Checking if
>> containing type declares a single particle.
>> 2018-06-14 22:28:59,604 DEBUG [geotools.xml] - Could not find declaration
>> for: {http://www.tcartadata.com/geoserver/wfs/aoi}geometry. Performing
>> lookup by ignoring namespace
>> 2018-06-14 22:28:59,604 DEBUG [geotools.xml] - Could not find declaration
>> for: {http://www.tcartadata.com/geoserver/wfs/aoi}geometry. Creating a
>> mock
>> element declaration and parsing anyways...
>> 2018-06-14 22:28:59,610 DEBUG [geoserver.wfs] - Locating FeatureSource
>> uri:'
>> http://www.tcartadata.com/geoserver/wfs/aoi' name:'aoi_features'
>> 2018-06-14 22:28:59,610 ERROR [geoserver.ows] -
>> 2018-06-14 21:47:24,323 ERROR [geoserver.ows] -
>> org.geoserver.wfs.WFSTransactionException: Feature type 'aoi_features' is
>> not available:
>> at org.geoserver.wfs.Transaction.execute(Transaction.java:221)
>> at org.geoserver.wfs.Transaction.transaction(Transaction.java:109)
>> at org.geoserver.wfs.DefaultWebFeatureService.transaction(
>> DefaultWebFeatureService.java:172)
>> 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:497)
>> at org.springframework.aop.support.AopUtils.invokeJoinpointUsin
>> gReflection
>> (AopUtils.java:333)
>> at org.springframework.aop.framework.ReflectiveMethodInvocation.
>> invokeJoinpoint(ReflectiveMethodInvocation.java:190)
>> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
>> ReflectiveMethodInvocation.java:157)
>> at org.geoserver.ows.util.RequestObjectLogger.invoke(
>> RequestObjectLogger.java:55)
>> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
>> ReflectiveMethodInvocation.java:179)
>> at org.springframework.aop.framework.JdkDynamicAopProxy.
>> invoke(JdkDynamicAopProxy.java:213)
>> at com.sun.proxy.$Proxy95.transaction(Unknown Source)
>> 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:497)
>> at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:867)
>> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatche
>> r.java:270)
>> at org.springframework.web.servlet.mvc.AbstractController.handleRequest(
>> AbstractController.java:174)
>> at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
>> .handle(SimpleControllerHandlerAdapter.java:50)
>> at org.springframework.web.servlet.DispatcherServlet.
>> doDispatch(DispatcherServlet.java:963)
>> at org.springframework.web.servlet.DispatcherServlet.
>> doService(DispatcherServlet.java:897)
>> at org.springframework.web.servlet.FrameworkServlet.processRequest(
>> FrameworkServlet.java:970)
>> at org.springframework.web.servlet.FrameworkServlet.
>> doPost(FrameworkServlet.java:872)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
>> at org.springframework.web.servlet.FrameworkServlet.
>> service(FrameworkServlet.java:846)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>> ApplicationFilterChain.java:291)
>> 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.apache.catalina.filters.CorsFilter.handleSimpleCORS(
>> CorsFilter.java:301)
>> at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:169)
>> 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:28)
>> 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:75)
>> at org.geoserver.monitor.MonitorFilter.doFilter(MonitorFilter.java:144)
>> at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(
>> SpringDelegatingFilter.java:71)
>> at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.
>> doFilterInternal(OpenSessionInViewFilter.java:231)
>> at org.springframework.web.filter.OncePerRequestFilter.
>> doFilter(OncePerRequestFilter.java:107)
>> at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(
>> SpringDelegatingFilter.java:71)
>> at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFi
>> lter.java:71)
>> at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(
>> SpringDelegatingFilter.java:71)
>> at org.geoserver.filters.SpringDelegatingFilter.doFilter(
>> SpringDelegatingFilter.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.platform.AdvancedDispatchFilter.doFilter(
>> AdvancedDispatchFilter.java:50)
>> 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:316)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
>> at org.springframework.security.web.access.intercept.
>> FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
>> at org.springframework.security.web.access.intercept.
>> FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
>> at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(
>> GeoServerCompositeFilter.java:92)
>> at org.springframework.security.web.FilterChainProxy$
>> VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
>> at org.springframework.security.web.access.ExceptionTranslationFilter.
>> doFilter(ExceptionTranslationFilter.java:114)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
>> at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(
>> GeoServerCompositeFilter.java:92)
>> at org.springframework.security.web.FilterChainProxy$
>> VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> at org.geoserver.security.filter.GeoServerAnonymousAuthenticati
>> onFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
>> at org.springframework.security.web.FilterChainProxy$
>> VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
>> at org.springframework.security.web.context.SecurityContextPers
>> istenceFilt
>> er.doFilter(SecurityContextPersistenceFilter.java:91)
>> at org.geoserver.security.filter.GeoServerSecurityContextPersis
>> tenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
>> at org.geoserver.security.filter.GeoServerCompositeFilter$
>> NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
>> at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(
>> GeoServerCompositeFilter.java:92)
>> at org.springframework.security.web.FilterChainProxy$
>> VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> at org.springframework.security.web.FilterChainProxy.doFilterInternal(
>> FilterChainProxy.java:213)
>> at org.springframework.security.web.FilterChainProxy.doFilter(
>> FilterChainProxy.java:176)
>> at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(
>> GeoServerSecurityFilterChainProxy.java:152)
>> at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(
>> DelegatingFilterProxy.java:346)
>> at org.springframework.web.filter.DelegatingFilterProxy.doFilter(
>> DelegatingFilterProxy.java:262)
>> 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:88)
>> 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:89)
>> 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:48)
>> 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(FlushSafeFilt
>> er.java:44)
>> 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.doFil
>> terInternal(
>> 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:502)
>> at org.apache.catalina.core.StandardHostValve.invoke(
>> StandardHostValve.java:142)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(
>> ErrorReportValve.java:79)
>> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(
>> AbstractAccessLogValve.java:617)
>> at org.apache.catalina.core.StandardEngineValve.invoke(
>> StandardEngineValve.java:88)
>> at org.apache.catalina.connector.CoyoteAdapter.service(
>> CoyoteAdapter.java:518)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(
>> AbstractHttp11Processor.java:1091)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
>> process(AbstractProtocol.java:668)
>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
>> doRun(NioEndpoint.java:1521)
>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
>> run(NioEndpoint.java:1478)
>> at java.util.concurrent.ThreadPoolExecutor.runWorker(
>> ThreadPoolExecutor.java:1142)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
>> ThreadPoolExecutor.java:617)
>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
>> TaskThread.java:61)
>> at java.lang.Thread.run(Thread.java:745)
>>
>>
>> On Wed, Jun 13, 2018 at 5:06 PM, Ben Caradoc-Davies <b...@transient.nz>
>> wrote:
>>
>> Todd,
>>>
>>> secondary namespaces are only required for the app-schema data store,
>>> which does not support WFS-T.
>>>
>>> For non-app-schema data stores, namespace prefixes should be defined in
>>> the WFS-T request document. The error you see is consistent with an
>>> undefined namespace prefix. Try adding an xmlns:aoi_points attribute to
>>> the
>>> wfs:Transaction element.
>>>
>>> Kind regards,
>>> Ben.
>>>
>>>
>>> On 14/06/18 06:39, Todd Jacobus wrote:
>>>
>>> Hi all,
>>>>
>>>> Thank you for viewing this post.  I'm trying to set up a simple WFS-T
>>>> datastore on a PostGIS database table that talks to a leaflet map.  I'm
>>>> using jquery ajax to send a transaction POST request by sending the
>>>> transaction-insert xml stored as a string.  The request seems to go
>>>> through
>>>> just fine, but in the GeoServer logs I see a namespace error:
>>>>
>>>>    "2018-06-13 19:11:16,073 ERROR [geoserver.ows] -
>>>> org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 26; The
>>>> prefix
>>>> "aoi_points" for element "aoi_points:wfst_aoi" is not bound."
>>>>
>>>> Some googling directed me to the secondary namespaces
>>>> <http://docs.geoserver.org/stable/en/user/data/app-schema/
>>>> secondary-namespaces.html#when-to-configure-for-secondary-namespaces>
>>>> page in the docs, but I'm not sure what's going on here.  A couple of
>>>> things:
>>>>
>>>>
>>>>      1.  Can someone explain why (or if) a secondary namespace might be
>>>>      necessary in this case?
>>>>      2.  How can I reference a database table properly in the xml
>>>> transaction
>>>>
>>>>      request?
>>>>
>>>> Here's the full xml request I'm sending to GeoServer:
>>>>
>>>>           '<wfs:Transaction'
>>>>           '  service="WFS"\n'
>>>> '  version="1.1.0"\n'
>>>>           '  xmlns:grp="http://lab.georepublic.info"\n'
>>>> '  xmlns:wfs="http://www.opengis.net/wfs"\n'
>>>> '  xmlns:gml="http://www.opengis.net/gml"\n'
>>>> '  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n'
>>>> '  xsi:schemaLocation="http://www.opengis.net/wfs\n'
>>>> '
>>>> http://schemas.opengis.net/wfs/1.1.0/WFS-transaction.xsd\n'
>>>> '
>>>> http://www.example.com/geoserver/wfs/DescribeFeatureType?
>>>> typename=aoi:wfst_aoi
>>>> ">\n'
>>>> '  <wfs:Insert>\n'
>>>> '    <aoi_points:wfst_aoi>\n'
>>>> '      <wfst_aoi:geom>\n'
>>>> '        <gml:Polygon srsName="urn:x-ogc:def:crs:EPSG:4326">\n'
>>>> '          <gml:coordinates decimal="." cs="," ts=" ">' +
>>>> geoJson[0].geometry.coordinates + '</gml:coordinates>\n'
>>>> '        </gml:Polygon>\n'
>>>> '      </wfst_aoi:geom>\n'
>>>> '    </aoi_points:wfst_aoi>\n'
>>>> '  </wfs:Insert>\n'
>>>> '</wfs:Transaction>'
>>>>
>>>> Thanks very much!
>>>>
>>>> Best,
>>>> Todd
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------
>>>> ------------------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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-req
>>>> uesting-and-integrating-new-features-and-improvements-in-GeoServer
>>>>
>>>>
>>>> Geoserver-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>>
>>>>
>>>> --
>>> Ben Caradoc-Davies <b...@transient.nz>
>>> Director
>>> Transient Software Limited <https://transient.nz/>
>>> New Zealand
>>>
>>>
>>
> --
> Ben Caradoc-Davies <b...@transient.nz>
> Director
> Transient Software Limited <https://transient.nz/>
> New Zealand
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
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

Reply via email to