Hexagon Geospatial
MENU

ERDAS APOLLO & ECW/JP2

Wondering how others have configured their ERDAS APOLLO server or what data they are crawling? The ERDAS APOLLO Discussion board is a place to find information, share ideas and more. Join the community, connect, contribute and share.
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
Staff
Posts: 11
Registered: ‎11-07-2016
Accepted Solution

Editing issue with WFS-T created in Apollo 2016 using PostgreSQL

Hi,

 

I have created a WFS using Apollo Data manager 2016 EP02 with PostgreSQL dataset and make it transactional.

In GetCapabilities response, i am getting Query, Insert, Delete, Update options.

<Operations><Operation>Query</Operation><Operation>Insert</Operation><Operation>Delete</Operation><Operation>Update</Operation></Operations>

 

I am able to delete the feature but not able to do Insert, Edit and move.

Following errors are coming at client log..

(Error.FailedOperation)The Operation Insert fails.\n org.postgresql.util.PSQLException: ERROR: Column has Z dimension but geometry does not org.postgresql.util.PSQLException: ERROR: Column has Z dimension but geometry does not at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:570) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:420) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:413) at com.ionicsoft.sql.StandardOrder.executeStatement(StandardOrder.java:159) at com.ionicsoft.sql.BaseStandardOrder.execute(BaseStandardOrder.java:212) at com.ionicsoft.sql.BaseSQLOrder.executeList(BaseSQLOrder.java:368) at com.ionicsoft.sql.BaseSQLOrder.executeList(BaseSQLOrder.java:337) at com.ionicsoft.sql.CumulativeSQLOrder.execute(CumulativeSQLOrder.java:56) at com.ionicsoft.wfs.server.JdbcTransOrder.execute(JdbcTransOrder.java:70) at com.ionicsoft.wfs.server.XMLTransactionProcessor.handleSQLCmd(XMLTransactionProcessor.java:892) at com.ionicsoft.wfs.server.XMLTransactionProcessor.executeTransaction(XMLTransactionProcessor.java:606) at com.ionicsoft.wfs.server.XMLTransactionProcessor.process(XMLTransactionProcessor.java:350) at com.ionicsoft.wfs.server.XMLTransactionProcessor.process(XMLTransactionProcessor.java:253) at com.ionicsoft.wfs.server.IXMLProcessor.process(IXMLProcessor.java:139) at com.ionicsoft.wfs.server.IXMLProcessor.basicProcessing(IXMLProcessor.java:104) at com.ionicsoft.wfs.server.IXMLProcessor.processSoapMessage(IXMLProcessor.java:76) at com.ionicsoft.servlet.SoapProcessorImpl.processSoapMessage(SoapProcessorImpl.java:537) at com.ionicsoft.servlet.SoapProcessorImpl.computeResponse(SoapProcessorImpl.java:326) at com.ionicsoft.servlet.MethodServlet.doGetPost(MethodServlet.java:531) at com.ionicsoft.servlet.MethodServlet.doPost(MethodServlet.java:320) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at com.ionicsoft.servlet.BaseServlet.service(BaseServlet.java:901) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316) 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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:168) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) 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.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:188) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506) 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)

 

 

Technical Evangelist
Posts: 847
Registered: ‎07-30-2015

Re: Editing issue with WFS-T created in Apollo 2016 using PostgreSQL

This is known issue for legacy WFS-T service, and it is not resolved in Apollo 2016

AP-4448 Unable to add new feature through a WFS-T using a PostGIS database

Contributor
Posts: 74
Registered: ‎11-02-2015

Re: Editing issue with WFS-T created in Apollo 2016 using PostgreSQL

[ Edited ]

Hi,

 

it should work even with PostgreSQL and APOLLO 2016. We use this in serveral projects.

The problem is the you need to change the datatype for the used ID attribute column in PostgreSQL to bigint! It will not work when setting it to INT since the GSP is generating BigINT-IDs.

 

So here are the steps:

  1. In Pgadmin or psql ensure or change the datatype for your id column from INT to BIGINT
  2. change the provider settings in APOLLO by modifing:
  1. generatedMapping.xml look for the ID column definition and change it to <iwfs: Primary nameSQL="id" type="long" fid="generated"/> and also remove the line <iwfs:Element name="iwfs:id" nameSQL="id"/>
  2. modify the generatedTypes.xsd in order to  use the long datatype: <xsd:element name="id" type=xsd:long"/>

Go to the Service Info tab, flush the service tab and restart it!

 

Now it should work even with the GSP.

 

Cheers

Fritz

Geography is what geographers do...
Do you need immediate support?
If you encounter a critical issue and need immediate assistance please submit a Service Request through our Support Portal.