In postgres monitoring console:

ERROR:  column "datainicio" is of type timestamp without time zone but expression is of type character varying
HINT:  You will need to rewrite or cast the expression.

Best Regards,
Olivier Voutat

On 4/6/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
Great, another problem, how do I do to insert a timestamp value in Postgres ? I'm sending it like a String to a timestamp field but Geronimo is complaining about the format. I'm sending like that : 'yyyy-mm-dd hh:mm:ss'.

01:06:10,272 WARN  [GeronimoConnectionEventListener] connectionErrorOccurred called with null
org.postgresql.util.PSQLException: ERROR: column "datainicio" is of type timestamp without time zone but expression is of type character varying
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags (AbstractJdbc2Statement.java:346)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:300)
        at org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java :103)
        at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:67)
        at org.tranql.cache.SimpleFlushStrategy.flush(SimpleFlushStrategy.java:62)

        at org.tranql.cache.SimpleFlushStrategy.flush (SimpleFlushStrategy.java:49)
        at org.tranql.cache.cache.InTxCacheTracker.flush(InTxCacheTracker.java:41)
        at org.tranql.cache.InTxCache.flush(InTxCache.java:86)
        at org.apache.geronimo.transaction.context.AbstractTransactionContext.flushState (AbstractTransactionContext.java:115)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:175)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit (InheritableTransactionContext.java:146)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152)

        at org.openejb.transaction.TransactionContextInterceptor.invoke (TransactionContextInterceptor.java :80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.server.ejbd.EjbRequestHandler.invoke (EjbRequestHandler.java:297)
        at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:325)
        at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java :196)
        at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150)
        at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
        at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke (<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service (<generated>)
        at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
        at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
        at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run (ThreadPool.java:138)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:595)
01:06:10,280 ERROR [AbstractTransactionContext] Unable to roll back transaction

java.lang.IllegalStateException: Status is STATUS_NO_TRANSACTION
        at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:438)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.rollbackAndThrow (InheritableTransactionContext.java:308)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:199)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit (InheritableTransactionContext.java:146)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152)

        at org.openejb.transaction.TransactionContextInterceptor.invoke (TransactionContextInterceptor.java :80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.server.ejbd.EjbRequestHandler.invoke (EjbRequestHandler.java:297)
        at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:325)
        at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java :196)
        at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150)
        at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
        at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke (<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service (<generated>)
        at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
        at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
        at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run (ThreadPool.java:138)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:595)
ejbPassivate () called.
01:06:10,283 WARN  [SystemExceptionInterceptor] MySession

javax.transaction.SystemException: Unable to commit container transaction
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.rollbackAndThrow (InheritableTransactionContext.java:327)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:199)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit ( InheritableTransactionContext.java:146)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152)

        at org.openejb.transaction.TransactionContextInterceptor.invoke (TransactionContextInterceptor.java :80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.server.ejbd.EjbRequestHandler.invoke (EjbRequestHandler.java:297)
        at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:325)
        at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java :196)
        at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150)
        at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
        at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke (<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke (RawOperationInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$$463425f3.service (<generated>)
        at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
        at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
        at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run (ThreadPool.java:138)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.tranql.ql.QueryException : Error executing statement: INSERT INTO LOCACOES (LOCACAOID, CHASSI, CLIENTEID, DATAINICIO, DATAFIM, VALOR, QUILOMETRAGEMRODADA) VALUES (?, ?, ?, ?, ?, ?, ?)

        at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:69)
        at org.tranql.cache.SimpleFlushStrategy.flush (SimpleFlushStrategy.java:62)

        at org.tranql.cache.SimpleFlushStrategy.flush (SimpleFlushStrategy.java:49)
        at org.tranql.cache.cache.InTxCacheTracker.flush(InTxCacheTracker.java:41)
        at org.tranql.cache.InTxCache.flush(InTxCache.java:86)
        at org.apache.geronimo.transaction.context.AbstractTransactionContext.flushState (AbstractTransactionContext.java:115)
        at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:175)
        ... 24 more
Caused by: org.postgresql.util.PSQLException : ERROR: column "datainicio" is of type timestamp without time zone but expression is of type character varying
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java :1512)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute (AbstractJdbc2Statement.java:430)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java :300)
        at org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103)
        at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:67)
        ... 30 more
01:06:10,356 WARN  [[Negocio]] Servlet.service() for servlet Negocio threw exception

java.rmi.RemoteException: Cannot read the response from the server.  The class for an object being returned is not located in this system:; nested exception is:
        java.lang.ClassNotFoundException: org.postgresql.util.PSQLException

        at org.openejb.client.Client.request (Client.java:189)
        at org.openejb.client.EJBInvocationHandler.request(EJBInvocationHandler.java :207)
        at org.openejb.client.EJBObjectHandler.businessMethod(EJBObjectHandler.java:260)
        at org.openejb.client.EJBObjectHandler._invoke(EJBObjectHandler.java:196)
        at org.openejb.client.EJBInvocationHandler.invoke (EJBInvocationHandler.java:181)
        at org.openejb.client.CgLibInvocationHandler.invoke(CgLibInvocationHandler.java:77)
        at org.openejb.client.CgLibInvocationHandler.intercept(CgLibInvocationHandler.java :67)
        at org.openejb.client.CgLibProxy$$EnhancerByCGLIB$$436b418a.registrarLocacao(<generated>)
        at br.cefetrn.olivier.servlet.Negocio.doPost(Negocio.java:99)

        at javax.servlet.http.HttpServlet.service (HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178)
        at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:272)
        at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke (TransactionContextValve.java:53)
        at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentContextValve.java:47)
        at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceContextValve.java :60)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java :684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: org.postgresql.util.PSQLException

        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass (MultiParentClassLoader.java:209)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:574)
        at org.openejb.server.ejbd.EJBObjectInputStream.resolveClass(EJBObjectInputStream.java :82)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
        at java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1693)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
        at java.io.ObjectInputStream.readSerialData (ObjectInputStream.java:1836)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
        at java.io.ObjectInputStream.defaultReadFields (ObjectInputStream.java:1912)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
        at java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1299)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
        at java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1713)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
        at org.openejb.client.EJBResponse.readExternal (EJBResponse.java:144)
        at org.openejb.client.Client.request(Client.java:187)
        ... 29 more


On 4/5/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
Sorry, forget my previous e-mail. The error was mine. It worked, it worked, thank God and the help of all you people.

Like it was said before u must just change the syntax to make it work with Firebird. For Postgres it's ok.


Best Regards,
Olivier Voutat

On 4/5/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
That's really sad, installed postgres, recreated my database, the create of the beans works BUT when I try to change the attribute of my bean, there is no exception happening even if the attribute is not changed in the database....

Does it need to be changed from inside the Entity Bean ? By a method only for this ?

9BW9DIS4389DK MYZ-8943

ejbStore() called do Entity carro.
ejbStore() called do Entity carro.
ejbPassivate () called do Entity carro.

Best Regards,
Olivier Voutat

On 4/5/06, Olivier Voutat < olivier.voutat@gmail.com> wrote:
After a bit of thinking (and looking at JBoss) think maybe it is better to change the database than the application server.

How Geronimo works out with PostGreSql ? Any trouble with it ?


Best Regards,
Olivier Voutat

On 4/5/06, Olivier Voutat < olivier.voutat@gmail.com > wrote:
Thanks Dale for the tip, really the findByPrimaryKey is working but unfortunately I'm still having trouble cause of the syntax for Firebird. I thought about doing the findByPrimaryKey this way, but in the end I forgot to try it.

Think will have to use JBoss for this. I have to present this work Friday morning. They already have Firebird support. Don't know if there is a way to take a look at it.

My stack trace caused at the update moment returned me this line.


Caused by: org.tranql.ql.QueryException: Error executing statement: UPDATE CARRO
S SET MARCA = CASE WHEN ? THEN ? ELSE MARCA END, MODELO = CASE WHEN ? THEN ? ELSE MODELO END, PLACA = CASE WHEN ? THEN ? ELSE PLACA END, QUILOMETRAGEM = CASE WHEN ? THEN ? ELSE QUILOMETRAGEM END, COR = CASE WHEN ? THEN ? ELSE COR END, SITUACAO = CASE WHEN ? THEN ? ELSE SITUACAO END, TIPO = CASE WHEN ? THEN ? ELSE TIPO END, DIARIA = CASE WHEN ? THEN ? ELSE DIARIA END WHERE CHASSI = ?

Best Regards,
Olivier Voutat


On 4/5/06, Dale de los Reyes <dreyes4@hotmail.com > wrote:
Hi Olivier,

In your original post, you mentioned CarPK as your primary key object. I
noticed this class has only a single primary key of type String (chassis, I
think it was called). Anyway, for the entity bean that uses CarPK as the
primary key. If possible, you can try converting it to use type String as
the primary key. So now your findByPrimaryKey method will be using type
String instead of CarPK.

I've gotten CMP to work in Geronimo using a simple primary key of type
Integer, so I'm almost certain it should work for String. On the other hand,
if your architecture requires the use of compound keys (ie. multiple columns
needed to make a unique ID like firstname+lastname) in your other entity
beans. You might need to use BMP, unless one of the developers give the
official word on the correct solution. Granted, this may not answer your
original question, but hopefully it will get you moving forward.

Personally, I had a similar situation with CMP using findByPrimaryKey with a
primary key class. However, I was using Derby, and I was getting an
ObjectNotFoundException.

Hopefully, others know how to get compound keys working with CMP. I still
would like to know.

Later,
Dale

Finally, here's some code to help illustrate. Just in case...

In the home interface...
public <some object> create(CarPK carPK)....
public <some object> findByPrimaryKey(String key)....

In the implementation...
public String ejbCreate(CarPK carPK)
{
   //set stuff from carPK here...
   return null;
}

In the ejb-jar.xml...
<ejb-jar>
   <enterprise-beans>
   <entity>
   <!-- your original stuff here...->

   <prim-key-class>java.lang.String</prim-key-class>

   <!-- more of your original stuff -->
   <!-- multiple declarations of cmp-field here -->

   <primkey-field>chassis</primkey-field>
   </entity>
   </enterprise-beans>
</ejb-jar>

Your openejb-jar.xml should not have to change.


>From: "Olivier Voutat" < olivier.voutat@gmail.com>
>Reply-To: user@geronimo.apache.org
>To: user@geronimo.apache.org
>Subject: Re: FindByPrimaryKey
>Date: Wed, 5 Apr 2006 12:12:21 -0300
>
>Or even using the PostGreSQL (the sql basic syntax isn't that diferent
>neither)
>See, I'm using the console of Geronimo, and when I was creating the
>database
>pool, I was selecting in the Database type: Other
>
>In the postgresql it is possible to change all the parameter so it connects
>to a firebird database, but doing this it will use the postgresql syntax ?
>
>Or I may saying completely stupid things right now.......
>
>Best Regards,
>Olivier Voutat
>
>On 4/5/06, Olivier Voutat < olivier.voutat@gmail.com > wrote:
> >
> > Oh Gianny,
> >
> > May that be the reason why my findByPrimaryKey and getPrimaryKey are
> > acting weird ?
> >
> > When I use the getPrimaryKey (I have ClassPK) instead of returning a
> > ClassPK object, it gives me a String object. And the findByPrimaryKey
> > doesn't work at all (data infomation in the end)
> >
> > Since the basic sql language in Firebird is the same in MS sql server,
> > could I configure it using the db-syntax-factory of it ? Just changing
>the
> > path to the database and the driver ?
> >
> > Best Regards,
> > Olivier Voutat





--
Olivier Jeanpierre Voutat
Rua Praia de Muri�, 9188

Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917



--
Olivier Jeanpierre Voutat
Rua Praia de Muri�, 9188

Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917



--
Olivier Jeanpierre Voutat
Rua Praia de Muri�, 9188

Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917



--
Olivier Jeanpierre Voutat
Rua Praia de Muri�, 9188

Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917



--
Olivier Jeanpierre Voutat
Rua Praia de Muri�, 9188

Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917



--
Olivier Jeanpierre Voutat
Rua Praia de Muriú, 9188
Cep 59092-390 / Natal - RN
Tel: (84) 3219-0427 Cel: (84) 9977-3917