Essentially I wrote an arcpy script that is within a toolbox that I ported over to a different machine to test out after the script worked locally.

The script essentially utilizes the psycopg module to connect to PostGIS and subsequently geoserver which I ran locally as opposed to over a server.

The new machine that I am working from in which I am running geoserver over the server is giving me errors as far as running the script. Errors which i didn't experience running on a local instance of geoserver.

The local machine is running ArcGIS 10 service pack 2 and the other machine is running ArcGIS 10 service pack 3.

Here is the error I'm getting and I think its J2EE related:

AssertionError: Tried to create PostGIS Layer but got 500: binding : binding : binding : binding

---- Debugging information ----

message : binding : binding

cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException

cause-message : binding : binding

class : org.geoserver.catalog.impl.FeatureTypeInfoImpl

required-type : org.geoserver.catalog.impl.AttributeTypeInfoImpl

line number : 1

I've been able to narrow down that the issue is with me giving it feature types when I need to be giving attribute types as far as uploading to geoserver to display. However considering this is an arcpy script that I've written in Python, is there any way to salvage this without going to Java, as I know that the com.vividsolutions.jts.geom series of classes include attribute defining functions such as getAttributes etc.

The reason being the way that I originally retrieved all the data necessary in order to go from my PostGIS installation and post to geoserver was due to extracting the PostGIS data via queries and then posting them in the geoserver required format. So, I think I may be able to if I can figure out a Postgres series of queries that would get me the attributes instead of the features.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.