Enviar um objeto da máquina do cliente para o servidor, tem como?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Insônia wrote:Olá Amigo,
estou acompanhando este post, e talvez possa te ajudar. Eu já realizei uma implementacao para um problema parecido com o seu. Eu tinha um applet que integrava-se a biblioteca Finger [da empresa Griaule] (biblioteca de captura e reconhecimento de digital). Esse applet capturava a digital e enviava o template para uma Servlet processar. O trecho de codigo abaixo mostra como realizei isso no applet e no server.

applet:



No server, utilizo uma Servlet que faz o inverso:

servlet.doPost


Nao tive problemas com versao de JRE (talvez por sorte, nao sei...), nem tive problemas por criar um ObjectOutputStream diretamente do OutputStream vindo do URLConnection (idem...rs).

Mas acho que as dicas do thingol sao uteis e podem ser adaptadas facilmente ao codigo que estou postando.


Se vc nao estiver utilizando a biblioteca da Griaule, entao talvez tenha que realizar outras adaptaçoes... Caso nao esteja utilizando, vc poderia me dizer qual biblioteca utiliza? Eu só conheco a Finger, e gostaria de conhecer outras...

Espero ter ajudado!


Olá Insonia,

Exatamente, eu uso a biblioteca da Griaule, Eu tive que deixar de usar Applet porque eu tive muito problema, então acabei fazendo uma aplicação desktop e como eu disse antes, está dando mais problemas também hehe. Vou testar o seu código mas parece que está igual o meu. Eu apenas fiz um de teste retornando uma lista que é modificada pelo servlet e retorna pra aplicação com essa alteração. Veja:

Swing:



Servlet:



Eu também gostaria de saber se existe outra biblioteca pra trabalhar além da Finger.

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Testei seu código e deu o mesmo erro!!! Será que estou declarando a Servlet certo? Eu uso o Netbeans.

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Resolvido o problema hehe, eu não tinha colocado o endereco do Servlet correto. :$

Valeu pela ajuda galera.

Abraços.

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
Titôsca
JavaChild

Membro desde: 08/03/2007 18:12:44
Mensagens: 100
Offline

eu faria como disseram!

via web service !

encapsularia o template em um xml aplicando compactacao na imagem!

no tier server

ele faria o processo e retornaria um xml com o resultado


bem portavel e pratico não?
Insônia
Debugger
[Avatar]

Membro desde: 24/03/2005 23:06:33
Mensagens: 73
Offline

Que bom que deu certo... tentei achar o erro e nao consegui.

Titôsca, a grande dificuldade de utilizar web service neste caso, é que o objeto a ser enviado não é uma imagem, e sim um objeto proprietário que nao temos acesso ao código fonte.

Serializar e "deserializar" ele na unha daria certo? Como fazer isso?

Pilantra, se vc conseguir transformar o Template para enviar via xml, seria bem mais portável mesmo. E vc nao teria problema com versao de JRE

Vale a tentativa...


SCJP, SCWCD
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Insônia wrote:Que bom que deu certo... tentei achar o erro e nao consegui.

Titôsca, a grande dificuldade de utilizar web service neste caso, é que o objeto a ser enviado não é uma imagem, e sim um objeto proprietário que nao temos acesso ao código fonte.

Serializar e "deserializar" ele na unha daria certo? Como fazer isso?

Pilantra, se vc conseguir transformar o Template para enviar via xml, seria bem mais portável mesmo. E vc nao teria problema com versao de JRE

Vale a tentativa...



É uma ótima idéia, mas vou deixar essa brincadeira para o fim de semana, por enquanto estou sem tempo pra tentar hehehe, mas gostei pra caramba dessa comunicação Desktop/Servlet. Dá pra brincar bastante.

Mas acho que não vai ter como em se tratando do Template da Griaule.

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
Insônia
Debugger
[Avatar]

Membro desde: 24/03/2005 23:06:33
Mensagens: 73
Offline

Nao tenho mais as libs da Griaule comigo, mas acho que o Template tem um metodo getData() ou algo assim, que retorna um array de bytes...

E eu acho tbm que dava pra criar um Template dado um array de bytes (ou algo parecido).

Se for possível realizar essa recuperação, tbm deve ser possível enviar via XML e re-criar o Template.

Dá até para mandar para a Griaule, para que eles coloquem como código exemplo

Tem um tutorial de webservices aqui no GUJ, caso precise...

SCJP, SCWCD
Pilantra
JavaEvangelist
[Avatar]

Membro desde: 25/01/2005 03:29:00
Mensagens: 394
Localização: Maringá - PR
Offline

Insônia wrote:Nao tenho mais as libs da Griaule comigo, mas acho que o Template tem um metodo getData() ou algo assim, que retorna um array de bytes...

E eu acho tbm que dava pra criar um Template dado um array de bytes (ou algo parecido).

Se for possível realizar essa recuperação, tbm deve ser possível enviar via XML e re-criar o Template.

Dá até para mandar para a Griaule, para que eles coloquem como código exemplo

Tem um tutorial de webservices aqui no GUJ, caso precise...


Hum, aproveitando o embalo. Aqui está dando um erro muito estranho. Vejam:

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.postgresql.jdbc2.Connection
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at classes.DedaoUtil.SendReceiveServlet(DedaoUtil.java:1053)
at classes.DedaoUtil.processImage(DedaoUtil.java:176)
at classes.DedaoUtil.update(DedaoUtil.java:1001)
at java.util.Observable.notifyObservers(Observable.java:142)
at classes.ProcessoObserver.run(ProcessoObserver.java:37)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: org.postgresql.jdbc2.Connection
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at servlets.SvlPonto.doPost(SvlPonto.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:36
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
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:17
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.connector.CoyoteAdapter.service(CoyoteAdapter.java:14
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
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)
... 1 more


Eu uso o Postgres como banco de dados. Eu consegui transferir o Objeto template e validar e tudo mais, mas eu acho que não estou conseguindo conectar no banco. Alguma sugestão?

Gosta de Linux e Java? Acesse: http://andersonajx.blogspot.com
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team