Ver mensagens sem resposta | Ver tópicos ativos Hoje é 07 Dez 2019, 07:52



Responder Tópico  [ 140 Mensagens ]  Ir para a página Anterior  1, 2, 3  Próximo
 [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Factory] 
Autor Mensagem
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Qual o erro que dá??

Faça um teste usando o Postman ou o Poster, que são plugins do Chrome.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


12 Out 2012, 19:51
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
o método da os seguintes erros

 
       public String inserirListaAtividade(ArrayList<Atividade> listaAtividades) throws Exception {
           
           Gson gson = new Gson();
           ArrayList<Atividade> listaAtividadesJSON = gson.toJson(listaAtividades);//aqui da erro no gson, ele depe pra converter para String
           String[] resposta = new WebServiceAtividade().post(URL_WS + "inserirLista", listaAtividadesJSON);//aqui, o post só aceita 2 Strings
           if (resposta[0].equals("200")) {
               return resposta[1];
           } else {
               throw new Exception(resposta[1]);
           }
          }
 


O meu post ta assim


public final String[] post(String url, String json) {
         String[] result = new String[2];
         try {

             HttpPost httpPost = new HttpPost(new URI(url));
             httpPost.setHeader("Content-type", "application/json");
             StringEntity sEntity = new StringEntity(json, "UTF-8");
             httpPost.setEntity(sEntity);

             HttpResponse response;
             response = HttpClientSingleton.getHttpClientInstace().execute(httpPost);
             HttpEntity entity = response.getEntity();

             if (entity != null) {
                 result[0] = String.valueOf(response.getStatusLine().getStatusCode());
                 InputStream instream = entity.getContent();
                 result[1] = toString(instream);
                 instream.close();
                 Log.d("post", "Result from post JsonPost : " + result[0] + " : " + result[1]);
             }

             
             
         } catch (Exception e) {
             Log.e("NGVL", "Falha ao acessar Web service", e);
             result[0] = "0";
             result[1] = "Falha de rede!";
         }
         return result;
        }
     

     
     private String toString(InputStream is) throws IOException {

         byte[] bytes = new byte[1024];
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         int lidos;
         while ((lidos = is.read(bytes)) > 0) {
             baos.write(bytes, 0, lidos);
         }
         return new String(baos.toByteArray());
        }
     
 

_________________
Desenvolvedor Android
about.me/D.H


12 Out 2012, 21:21
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Então mude-o para string!!

String listaAtividadesJSON = gson.toJson(listaAtividades);//aqui da erro no gson, ele depe pra converter para String


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


12 Out 2012, 21:37
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
deu o seguinte erro antunes

10-13 12:57:35.469: D/post(6163): Result from post JsonPost : 404 : <html><head><title>Apache Tomcat/7.0.29 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - Not Found</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Not Found</u></p><p><b>description</b> <u>The requested resource (Not Found) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.29</h3></body></html>
10-13 12:57:35.469: W/System.err(6163): java.lang.Exception: <html><head><title>Apache Tomcat/7.0.29 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - Not Found</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Not Found</u></p><p><b>description</b> <u>The requested resource (Not Found) is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.29</h3></body></html>
10-13 12:57:35.540: W/System.err(6163):     at br.com.android.reeduc.webservice.AtividadeREST.inserirListaAtividade(AtividadeREST.java:35)
10-13 12:57:35.619: W/System.err(6163):     at br.com.android.reeduc.async.AtividadeAsyncTask.doInBackground(AtividadeAsyncTask.java:39)
10-13 12:57:35.619: W/System.err(6163):     at br.com.android.reeduc.async.AtividadeAsyncTask.doInBackground(AtividadeAsyncTask.java:1)
10-13 12:57:35.619: W/System.err(6163):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
10-13 12:57:35.619: W/System.err(6163):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
10-13 12:57:35.629: W/System.err(6163):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
10-13 12:57:35.710: W/System.err(6163):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
10-13 12:57:35.719: W/System.err(6163):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
10-13 12:57:35.719: W/System.err(6163):     at java.lang.Thread.run(Thread.java:1096)
 


e não inseriu nada

eu sou inserindo assim dentro de um AsyncTask, que estou passando o ArrayList preenchido


@Override   
    protected Void doInBackground(Void... params) {
       
        AtividadeREST atividade_rest = new AtividadeREST();
       
        try {
            String resposta = "";
            resposta = atividade_rest.inserirListaAtividade(listaAtividades); //listaAtividades e um ArrayList<Atividade>
            Log.i("reeduc", "resposta = " + resposta);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
       
       
        }
        return null;
    };
   
 

_________________
Desenvolvedor Android
about.me/D.H


13 Out 2012, 12:02
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
HTTP Status 404 - Not Found

The requested resource (Not Found) is not available.


O erro que o seu ws retornou significa que ele não encontrou o método que vc está tentando acessar.

Verifica se a url é essa mesmo!!

String[] resposta = new WebServiceAtividade().post(URL_WS + "inserirLista", listaAtividadesJSON);//aqui, o post só aceita 2 Strings


Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


13 Out 2012, 12:34
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
no meu WebService existe sim antunes, vê as classes que tenho...


@Path("/atividade")
public class AtividadeResource {

   
        @POST
        @Path("/inserir")
        @Produces("application/json")
        @Consumes("application/json")
        public String inserirAtividade(Atividade Atividade) {
         return new AtividadeBusiness().inserir(Atividade);
        }
       
       
        @POST
        @Path("/inserirLista")
        @Produces("application/json")
        @Consumes("application/json")
        public String inserirLista(String listaAtividadesJson) {
         
         Gson gson = new Gson();
         ArrayList<Atividade> listaAtividades = new ArrayList<Atividade>();
         JsonParser parser = new JsonParser();
            JsonArray array = parser.parse(listaAtividadesJson).getAsJsonArray();
         
            for (int i = 0; i < array.size(); i++) {
             listaAtividades.add(gson.fromJson(array.get(i), Atividade.class));
         }
         
         return new AtividadeBusiness().inserirLista(listaAtividades);

       
    }
   
   
}

 




public class AtividadeBusiness {
   
   
     public String inserir(Atividade atividade) {

         AtividadeDAO AtividadeDAO = new AtividadeDAO();
         if(AtividadeDAO.inserir(atividade) > 0){
             return "Atividade inserido no banco com sucesso!";
         } else {
             return "Falha ao inserir o Atividade no banco!";
         }
        }
       
   
     public String inserirLista(ArrayList<Atividade> listaAtividades) {
         AtividadeDAO AtividadeDAO = new AtividadeDAO();
         String retorno = "";
         for (int i = 0; i < listaAtividades.size(); i++) {
             if(AtividadeDAO.inserir(listaAtividades.get(i)) < 1){
                 retorno += "Erro ao inserir o Atividade de data: "+ listaAtividades.get(i).getData() +"\n";
             }
         }
         if(retorno.length() == 0){
             retorno = "Lista de Atividades inserida no banco com sucesso!";
         }
         return retorno;
        }
   
   
   

}
 


Se eu criar um Objeto individual ele fazer o insert normalmente, mas quando to passando essa lista ele da esse erro.

ele ta passando a lista assim antunes...

[{"data":"13/10/2012","hora":"01:14","imei_usuario":"123456","id_porcao":7,"id_alimento":30,"id":0,"valor_quant":3},
{"data":"13/10/2012","hora":"01:14","imei_usuario":"123456","id_porcao":6,"id_alimento":34,"id":0,"valor_quant":2},
{"data":"13/10/2012","hora":"01:14","imei_usuario":"123456","id_porcao":19,"id_alimento":40,"id":0,"valor_quant":1},
{"data":"13/10/2012","hora":"01:29","imei_usuario":"123456","id_porcao":17,"id_alimento":42,"id":0,"valor_quant":5}]
 

_________________
Desenvolvedor Android
about.me/D.H


13 Out 2012, 12:55
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
A questão não é o método do ws e sim a URL que vc está usando para chegar nesse método.

Confere se ela está certinha. Para te ajudar, use o Poster ou o Postman que vai te ajudar bastante a debugar esse problema.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


13 Out 2012, 14:20
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá antunes, com o Poster a lista tava retornando null, ai verifiquei que faltava o add no método kkkkkkk. E por incrível que pareça para inserir a lista eu precisei apenas dar um clear no WebService kkkkkkk.
Muito Obrigado antunes, ganho um amigo de graça por todo esses seus 3 tópicos. Qualquer coisa que precisar é so mandar um e-mail ou um pm. Muito Obrigado.

_________________
Desenvolvedor Android
about.me/D.H


13 Out 2012, 18:50
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
diogo10 escreveu:
Olá antunes, com o Poster a lista tava retornando null, ai verifiquei que faltava o add no método kkkkkkk. E por incrível que pareça para inserir a lista eu precisei apenas dar um clear no WebService kkkkkkk.
Muito Obrigado antunes, ganho um amigo de graça por todo esses seus 3 tópicos. Qualquer coisa que precisar é so mandar um e-mail ou um pm. Muito Obrigado.


Não falei que o poster ia te ajudar a encontrar o problema!! /ww

Muito obrigado pela consideração!! /uu

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


13 Out 2012, 23:26
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Boa tarde Antunes fiz webService seguindo seu exemplo mais utilizando mysql
Queria saber se a alguma forma de por senha para acessa o WS


19 Out 2012, 15:34
Perfil
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá antunes, está acontecendo uma coisa engraçada aqui ou eu não to vendo o erro
No método aqui em baixo eu preencho um spinner com os dados que vem do WebService...


 try {
               
                nutricionistas_ = (ArrayList<Nutricionista>) nutriREST.getListaNutricionista();
                spn1 = (Spinner) findViewById(R.id.sp_nutricionista);
               
                //Cria um ArrayAdapter usando um padrão de layout da classe R do android, passando o ArrayList nomes
                ArrayAdapter<Nutricionista> arrayAdapter = new ArrayAdapter<Nutricionista>(this, android.R.layout.simple_dropdown_item_1line, nutricionistas_);
                ArrayAdapter<Nutricionista> spinnerArrayAdapter = arrayAdapter;
                spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                spn1.setAdapter(spinnerArrayAdapter);
           
           
            } catch (Exception e) {
               
                spn1 = (Spinner) findViewById(R.id.sp_nutricionista);
                ArrayList<String> lista_vazia = new ArrayList<String>();
                lista_vazia.add("Sem conexão de dados");
                lista_vazia.add("Sem conexão de dados");
                   
                ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, lista_vazia);
                ArrayAdapter<String> spinnerArrayAdapter = arrayAdapter;
                spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                spn1.setAdapter(spinnerArrayAdapter);
               
               
                Log.e("noweight", "e = " + e.getMessage());
            }

 


Mais em Emulador 3.0 ele cai no catch e exibe "Sem conexão de dados", mas em um Emulador 2.1/Emulador 2.2/Emulador 2.3.7/Emulador 2.3.3 funciona normalmente.

Fui fazendo o Debug por Log e constatei que ele o erro e no método get, ele só chega ao Log.i("noweght","entrou no try");
e logo depois exibe o Falha ao acessar o WebService, segue o código do método get


public final String[] get(String url) {
        Log.i("noweght","entrou no get");
         String[] result = new String[2];
         
         HttpGet httpget = new HttpGet(url);
         Log.i("noweght","chegou ate aqui ?");
         HttpResponse response;

         try {
             Log.i("noweght","entrou no try");
             response = HttpClientSingleton.getHttpClientInstace().execute(httpget);
             Log.i("noweght","executou o response");
             HttpEntity entity = response.getEntity();
             Log.i("noweght","passou do entity");

             if (entity != null) {
                 result[0] = String.valueOf(response.getStatusLine().getStatusCode());
                 InputStream instream = entity.getContent();
                 result[1] = toString(instream);
                 instream.close();
                 Log.i("get", "Result from post JsonPost : " + result[0] + " : " + result[1]);
             }
         } catch (Exception e) {
             Log.e("NGVL", "Falha ao acessar Web service", e);
             Log.i("NGVL", "e = " + e.getMessage());
             result[0] = "0";
             result[1] = "Falha de rede!";
         }
         return result;
        }

 


O Log é esse...

10-19 20:34:06.153: D/dalvikvm(429): GC_CONCURRENT freed 431K, 8% free 6854K/7431K, paused 5ms+17ms
10-19 20:34:06.201: E/SQLiteDatabase(429): close() was never explicitly called on database '/data/data/br.com.android.noweight/databases/reeduc_base.db'
10-19 20:34:06.201: E/SQLiteDatabase(429): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1974)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:972)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:951)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:927)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at br.com.android.noweight.dao.UsuarioDAO.verificaUser(UsuarioDAO.java:134)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at br.com.android.noweight.SplashScreen.onCreate(SplashScreen.java:74)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.access$1500(ActivityThread.java:123)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.os.Looper.loop(Looper.java:126)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.main(ActivityThread.java:3997)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at java.lang.reflect.Method.invokeNative(Native Method)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at java.lang.reflect.Method.invoke(Method.java:491)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at dalvik.system.NativeStart.main(Native Method)
10-19 20:34:06.531: I/noweight(429): entrou no try
10-19 20:34:06.531: I/noweight(429): entrou no getListaNutricionista()
10-19 20:34:06.550: I/noweght(429): entrou no get
10-19 20:34:06.560: I/noweght(429): chegou ate aqui ?
10-19 20:34:06.560: I/noweght(429): entrou no try
10-19 20:34:06.831: E/NGVL(429): Falha ao acessar Web service
10-19 20:34:06.831: E/NGVL(429): android.os.NetworkOnMainThreadException
10-19 20:34:06.831: E/NGVL(429):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
10-19 20:34:06.831: E/NGVL(429):    at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
10-19 20:34:06.831: E/NGVL(429):    at java.net.Socket.connect(Socket.java:901)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:143)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.webservice.WebServiceNutricionista.get(WebServiceNutricionista.java:28)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.webservice.NutricionistaREST.getListaNutricionista(NutricionistaREST.java:32)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.SincronizarDadosTablet3x.onCreate(SincronizarDadosTablet3x.java:72)
10-19 20:34:06.831: E/NGVL(429):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.access$1500(ActivityThread.java:123)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
10-19 20:34:06.831: E/NGVL(429):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-19 20:34:06.831: E/NGVL(429):    at android.os.Looper.loop(Looper.java:126)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.main(ActivityThread.java:3997)
10-19 20:34:06.831: E/NGVL(429):    at java.lang.reflect.Method.invokeNative(Native Method)
10-19 20:34:06.831: E/NGVL(429):    at java.lang.reflect.Method.invoke(Method.java:491)
10-19 20:34:06.831: E/NGVL(429):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
10-19 20:34:06.831: E/NGVL(429):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
10-19 20:34:06.831: E/NGVL(429):    at dalvik.system.NativeStart.main(Native Method)
10-19 20:34:06.851: I/NGVL(429): e = null
10-19 20:34:06.851: I/noweight(429): reposta = [Ljava.lang.String;@4067b1c0
10-19 20:34:06.851: E/noweight(429): e = Falha de rede!
10-19 20:34:07.074: D/dalvikvm(429): GC_CONCURRENT freed 209K, 5% free 7176K/7495K, paused 8ms+6ms
 



Você já passou por isso antunes ? no Emulador 3.0 eu faço o insert no banco e tal, mas na hora de fazer o get da esse erro.

_________________
Desenvolvedor Android
about.me/D.H


19 Out 2012, 19:38
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 escreveu:
Boa tarde Antunes fiz webService seguindo seu exemplo mais utilizando mysql
Queria saber se a alguma forma de por senha para acessa o WS


O que vc pode fazer é implementar algum tipo de autorização, por exemplo o OAuth.

O que ele faz é passar um token para o usuário do seu WS que deverá enviar esse token no header de todas as requisições enviadas ao WS sob a tag "Authorization".

Ou criar a sua própria forma de autenticação/autorização.

Ainda não tive tempo pra terminar, mas eu estou pra postar um modelo simples de autorização para ser implementado no WS.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


20 Out 2012, 01:21
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
diogo10 escreveu:
Olá antunes, está acontecendo uma coisa engraçada aqui ou eu não to vendo o erro
No método aqui em baixo eu preencho um spinner com os dados que vem do WebService...


 try {
               
                nutricionistas_ = (ArrayList<Nutricionista>) nutriREST.getListaNutricionista();
                spn1 = (Spinner) findViewById(R.id.sp_nutricionista);
               
                //Cria um ArrayAdapter usando um padrão de layout da classe R do android, passando o ArrayList nomes
                ArrayAdapter<Nutricionista> arrayAdapter = new ArrayAdapter<Nutricionista>(this, android.R.layout.simple_dropdown_item_1line, nutricionistas_);
                ArrayAdapter<Nutricionista> spinnerArrayAdapter = arrayAdapter;
                spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                spn1.setAdapter(spinnerArrayAdapter);
           
           
            } catch (Exception e) {
               
                spn1 = (Spinner) findViewById(R.id.sp_nutricionista);
                ArrayList<String> lista_vazia = new ArrayList<String>();
                lista_vazia.add("Sem conexão de dados");
                lista_vazia.add("Sem conexão de dados");
                   
                ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, lista_vazia);
                ArrayAdapter<String> spinnerArrayAdapter = arrayAdapter;
                spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                spn1.setAdapter(spinnerArrayAdapter);
               
               
                Log.e("noweight", "e = " + e.getMessage());
            }

 


Mais em Emulador 3.0 ele cai no catch e exibe "Sem conexão de dados", mas em um Emulador 2.1/Emulador 2.2/Emulador 2.3.7/Emulador 2.3.3 funciona normalmente.

Fui fazendo o Debug por Log e constatei que ele o erro e no método get, ele só chega ao Log.i("noweght","entrou no try");
e logo depois exibe o Falha ao acessar o WebService, segue o código do método get


public final String[] get(String url) {
        Log.i("noweght","entrou no get");
         String[] result = new String[2];
         
         HttpGet httpget = new HttpGet(url);
         Log.i("noweght","chegou ate aqui ?");
         HttpResponse response;

         try {
             Log.i("noweght","entrou no try");
             response = HttpClientSingleton.getHttpClientInstace().execute(httpget);
             Log.i("noweght","executou o response");
             HttpEntity entity = response.getEntity();
             Log.i("noweght","passou do entity");

             if (entity != null) {
                 result[0] = String.valueOf(response.getStatusLine().getStatusCode());
                 InputStream instream = entity.getContent();
                 result[1] = toString(instream);
                 instream.close();
                 Log.i("get", "Result from post JsonPost : " + result[0] + " : " + result[1]);
             }
         } catch (Exception e) {
             Log.e("NGVL", "Falha ao acessar Web service", e);
             Log.i("NGVL", "e = " + e.getMessage());
             result[0] = "0";
             result[1] = "Falha de rede!";
         }
         return result;
        }

 


O Log é esse...

10-19 20:34:06.153: D/dalvikvm(429): GC_CONCURRENT freed 431K, 8% free 6854K/7431K, paused 5ms+17ms
10-19 20:34:06.201: E/SQLiteDatabase(429): close() was never explicitly called on database '/data/data/br.com.android.noweight/databases/reeduc_base.db'
10-19 20:34:06.201: E/SQLiteDatabase(429): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1974)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:972)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:951)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:927)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at br.com.android.noweight.dao.UsuarioDAO.verificaUser(UsuarioDAO.java:134)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at br.com.android.noweight.SplashScreen.onCreate(SplashScreen.java:74)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.access$1500(ActivityThread.java:123)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.os.Looper.loop(Looper.java:126)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at android.app.ActivityThread.main(ActivityThread.java:3997)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at java.lang.reflect.Method.invokeNative(Native Method)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at java.lang.reflect.Method.invoke(Method.java:491)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
10-19 20:34:06.201: E/SQLiteDatabase(429):  at dalvik.system.NativeStart.main(Native Method)
10-19 20:34:06.531: I/noweight(429): entrou no try
10-19 20:34:06.531: I/noweight(429): entrou no getListaNutricionista()
10-19 20:34:06.550: I/noweght(429): entrou no get
10-19 20:34:06.560: I/noweght(429): chegou ate aqui ?
10-19 20:34:06.560: I/noweght(429): entrou no try
10-19 20:34:06.831: E/NGVL(429): Falha ao acessar Web service
10-19 20:34:06.831: E/NGVL(429): android.os.NetworkOnMainThreadException
10-19 20:34:06.831: E/NGVL(429):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1077)
10-19 20:34:06.831: E/NGVL(429):    at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:368)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431)
10-19 20:34:06.831: E/NGVL(429):    at java.net.Socket.connect(Socket.java:901)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:143)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
10-19 20:34:06.831: E/NGVL(429):    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.webservice.WebServiceNutricionista.get(WebServiceNutricionista.java:28)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.webservice.NutricionistaREST.getListaNutricionista(NutricionistaREST.java:32)
10-19 20:34:06.831: E/NGVL(429):    at br.com.android.noweight.SincronizarDadosTablet3x.onCreate(SincronizarDadosTablet3x.java:72)
10-19 20:34:06.831: E/NGVL(429):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.access$1500(ActivityThread.java:123)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
10-19 20:34:06.831: E/NGVL(429):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-19 20:34:06.831: E/NGVL(429):    at android.os.Looper.loop(Looper.java:126)
10-19 20:34:06.831: E/NGVL(429):    at android.app.ActivityThread.main(ActivityThread.java:3997)
10-19 20:34:06.831: E/NGVL(429):    at java.lang.reflect.Method.invokeNative(Native Method)
10-19 20:34:06.831: E/NGVL(429):    at java.lang.reflect.Method.invoke(Method.java:491)
10-19 20:34:06.831: E/NGVL(429):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
10-19 20:34:06.831: E/NGVL(429):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
10-19 20:34:06.831: E/NGVL(429):    at dalvik.system.NativeStart.main(Native Method)
10-19 20:34:06.851: I/NGVL(429): e = null
10-19 20:34:06.851: I/noweight(429): reposta = [Ljava.lang.String;@4067b1c0
10-19 20:34:06.851: E/noweight(429): e = Falha de rede!
10-19 20:34:07.074: D/dalvikvm(429): GC_CONCURRENT freed 209K, 5% free 7176K/7495K, paused 8ms+6ms
 



Você já passou por isso antunes ? no Emulador 3.0 eu faço o insert no banco e tal, mas na hora de fazer o get da esse erro.



Isso acontece pq vc está tentando realizar uma conexão com a internet usando a "Main Thread".

O google recomenda não fazer assim. Ele diz que funciona em versões anteriores a 3.x, mas que nas posteriores não é mais possível.

Citação:
The exception that is thrown when an application attempts to perform a networking operation on its main thread.

This is only thrown for applications targeting the Honeycomb SDK or higher. Applications targeting earlier SDK versions are allowed to do networking on their main event loop threads, but it's heavily discouraged. See the document Designing for Responsiveness.


http://developer.android.com/reference/ ... ption.html
http://developer.android.com/guide/prac ... eness.html

A solução é fazer essas requisições em threads separadas.

http://stackoverflow.com/questions/8612 ... async-task

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


20 Out 2012, 01:34
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá antunes, depois de muito pesquisar eu achei essa mesma informação, ai implementei um AyncTask =D

tenho uma dúvida antunes....
eu gerei o .war do projeto do WebService, com o usuário e a senha do postgres modificadas porque no servidor que contratei não e o mesmo para localmente.

joguei esse arquivo .war na pasta webapps do tomcat, dentro de uma pasta com o mesmo nome do arquivo .war

ai fui e criei o banco de dados postgres no servidor com alguns dados para testar.... mas usando o Poster veio o erro 503 Service Temporarily Unavailable e até agora não consegui resolver... meus passos estão corretos ?

_________________
Desenvolvedor Android
about.me/D.H


22 Out 2012, 19:58
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
diogo10 escreveu:
Olá antunes, depois de muito pesquisar eu achei essa mesma informação, ai implementei um AyncTask =D

tenho uma dúvida antunes....
eu gerei o .war do projeto do WebService, com o usuário e a senha do postgres modificadas porque no servidor que contratei não e o mesmo para localmente.

joguei esse arquivo .war na pasta webapps do tomcat, dentro de uma pasta com o mesmo nome do arquivo .war

ai fui e criei o banco de dados postgres no servidor com alguns dados para testar.... mas usando o Poster veio o erro 503 Service Temporarily Unavailable e até agora não consegui resolver... meus passos estão corretos ?


Vc deve colocar o .war dentro do diretório "webapps" que o tomcat mesmo vai criar um outro diretório com o nome do seu projeto.

Vc pode também testar se o tomcat está funcionando, para isso, basta acessar a url pelo browser.

http://"ip do servidor":"porta que está rodando o tomcat"

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


22 Out 2012, 22:47
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá antunes, não estou conseguindo passar img, você poderia me ajudar estou unsando mysql


30 Nov 2012, 11:26
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 escreveu:
Olá antunes, não estou conseguindo passar img, você poderia me ajudar estou unsando mysql


O que vc está querendo fazer???

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


01 Dez 2012, 13:59
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
to querendo pega uma imagem do banco, e salvar no sdcard
mais quando pego resultado vem asim

imagem":{"binaryData":[-1,-40,-1,-32,0,16,74,70,73,70,0,1,2,1,0,96,0,96,0,0,-1,-19,16,74,80,104,111,116,111,115,104,111,112,32,51,46,48,0,56,66,73,77,3,-19,10,82,101,115,111,108,117,116,105,111,110,0,0,0,0,16,0,96,0,0,0,1,0,1,0,96,0,0,0,1,0,1,56,66,73,77,4,13...

como devo fazer?


14 Dez 2012, 15:56
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 escreveu:
to querendo pega uma imagem do banco, e salvar no sdcard
mais quando pego resultado vem asim

imagem":{"binaryData":[-1,-40,-1,-32,0,16,74,70,73,70,0,1,2,1,0,96,0,96,0,0,-1,-19,16,74,80,104,111,116,111,115,104,111,112,32,51,46,48,0,56,66,73,77,3,-19,10,82,101,115,111,108,117,116,105,111,110,0,0,0,0,16,0,96,0,0,0,1,0,1,0,96,0,0,0,1,0,1,56,66,73,77,4,13...

como devo fazer?


Retornar uma imagem dentro de um JSON vai ser meio complicado, mas vc pode fazer algo desse tipo:

http://stackoverflow.com/questions/5736 ... rs-servlet
http://stackoverflow.com/questions/9204 ... he-browser

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


14 Dez 2012, 18:33
Perfil WWW
Hello World!
Hello World!

Data de registro: 04 Nov 2012, 15:46
Mensagens: 26
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Boa noite, Antunes

Estou usando o que vc ensinou para fazer um trabalho, até agora está tudo dando certo, porém necessito que uma lista de produtos que já esta vindo do banco pelo Json fique dentro de um Spinner ou de um AutoCompleteTextView, vi o que o rapaz acima postou fiz igual usando o spinner porém esta com um problema ao invés dele exibir apenas o nome do produto está exibindo todo o caminho da classe e não sei se realmente está exibindo a informação correta, será que pode me ajudar?

Bom essa é a resposta do Json
Imagem

Código da classe com o spinner
package br.net.fabiosistemas;

import java.util.ArrayList;
import java.util.List;

import br.net.fabiosistemas.R;
import br.net.fabiosistemas.objetos.Produtos;
import br.net.fabiosistemas.webservice.ClienteREST;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class Comanda extends Activity{
   
    private List<Produtos> produtos;
    private Spinner PRODUTOS;
   
    ClienteREST cliREST = new ClienteREST();
   
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.comanda);
       
        try {
           
            produtos = (List<Produtos>) cliREST.getListaProdutos();
           
            PRODUTOS = (Spinner) findViewById(R.id.list_co_produto);
           
            ArrayAdapter<Produtos> adp = new ArrayAdapter<Produtos>(this, android.R.layout.simple_dropdown_item_1line, produtos);
            ArrayAdapter<Produtos> spinnerAdp = adp;
           
            spinnerAdp.setDropDownViewResource(android.R.layout.simple_spinner_item);
           
            PRODUTOS.setAdapter(spinnerAdp);
           
        } catch (Exception e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
            PRODUTOS = (Spinner) findViewById(R.id.list_co_produto);
            List<String> lista_vazia = new ArrayList<String>();
            lista_vazia.add("Sem conexão de dados");
            lista_vazia.add("Sem conexão de dados");
           
            ArrayAdapter<Produtos> adp = new ArrayAdapter<Produtos>(this, android.R.layout.simple_dropdown_item_1line, produtos);
            ArrayAdapter<Produtos> spinnerAdp = adp;
           
            spinnerAdp.setDropDownViewResource(android.R.layout.simple_spinner_item);
           
            PRODUTOS.setAdapter(spinnerAdp);
           
        }
       

    }
   
    public void voltar(View v){
        finish();
    }

}


O que aparece após fazer a chamada da Activity, ou seja quando abro a tela com o spinner:

Imagem

Imagem

O que fazer? Para apenas aparecer o nome dos produtos?


02 Jan 2013, 21:40
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Sobrescreva o método "toString()" da sua classe "Produtos" para que retorne apenas o nome do seu produto.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


03 Jan 2013, 23:41
Perfil WWW
Hello World!
Hello World!

Data de registro: 04 Nov 2012, 15:46
Mensagens: 26
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
antunes escreveu:
Sobrescreva o método "toString()" da sua classe "Produtos" para que retorne apenas o nome do seu produto.

Abraços!


Obrigado!! Brother!!!! Deu certinho!!


04 Jan 2013, 00:26
Perfil
Hello World!
Hello World!

Data de registro: 04 Nov 2012, 15:46
Mensagens: 26
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Brother sei que estou sendo muito abusado, to com uma duvida referente a inserção, como referece ao tópico em questão vou postar aqui mesmo. Bom tenho uma função onde necessito passar vários parâmetros vindo da tela para uma tabela no banco. No webservice tente colocar o serviço assim:


@POST
    @Path("/inserir/{data}:{idproduto}:{quantidade}:{idmatricula}:{senhaAtt}:{idpreco}")
    @Produces("application/json")
    @Consumes("application/json")
    public String inserirAtendimento (@PathParam("data") String Data, @PathParam("idproduto") int idProduto, @PathParam("quantidade") int qtd, @PathParam("idmatricula") int matricula, @PathParam("senhaAtt") int senha, @PathParam("idpreco") int idPreco){
        return new Gson().toJson(controle.cadAtendimentoComanda(Data, idProduto, qtd, matricula, senha, idPreco));
    }
 


Porem aparentemente no android ele passou, não gerando nenhum erro logo no momento da inserção, porém retornou isso no get:

Result from post JsonPost : 404 : <html><head><title>Apache Tomcat/7.0.32 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - Not Found</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>Not Found</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.32</h3></body></html>


E quando fui ver no banco realmente não tinha inserido nada.

Então tentei passando como parametro o objeto contento todos os dados que necessito que sejam inserido no banco, editei o serviço assim:
    @POST
    @Path("/inserir")
    @Produces("application/json")
    @Consumes("application/json")
    public boolean inserirAtendimento (@PathParam("atendimento") Atendimento atendimento){
        return controle.cadAtendimentoComanda(atendimento);
    }


Porém o erro agora que apareceu foi no webservice:

05/01/2013 18:34:29 org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/Comanda_Eletronica_-_WSREST] has started
05/01/2013 18:34:30 com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
  br.com.comandaeletronica.servico
05/01/2013 18:34:30 com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class br.com.comandaeletronica.servico.Servicos
05/01/2013 18:34:30 com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
05/01/2013 18:34:30 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.11 12/09/2011 10:27 AM'
05/01/2013 18:34:30 com.sun.jersey.spi.inject.Errors processErrorMessages
GRAVE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public boolean br.com.comandaeletronica.servico.Servicos.inserirAtendimento(br.com.comandaeletronica.modelo.Atendimento) at parameter at index 0
  SEVERE: Method, public boolean br.com.comandaeletronica.servico.Servicos.inserirAtendimento(br.com.comandaeletronica.modelo.Atendimento), annotated with POST of resource, class br.com.comandaeletronica.servico.Servicos, is not recognized as valid resource method.
05/01/2013 18:34:30 org.apache.catalina.core.ApplicationContext log
GRAVE: StandardWrapper.Throwable
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
    at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
    at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766)
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3920)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
    at java.lang.Thread.run(Unknown Source)
05/01/2013 18:34:30 org.apache.catalina.core.StandardContext loadOnStartup
GRAVE: Servlet /Comanda_Eletronica_-_WSREST threw load() exception
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
    at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
    at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766)
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3920)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
    at java.lang.Thread.run(Unknown Source)
05/01/2013 18:34:30 org.apache.catalina.core.StandardContext reload
INFO: Reloading Context with name [/Comanda_Eletronica_-_WSREST] is completed


Qual seria a forma correta de passar os varios parametros que ja consigo ter na aplicação do android para o webservice no mesmo serviço?


05 Jan 2013, 20:39
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Tenta fazer como está no exemplo do tutorial, tirando o "PathParam" do seu método!!


    @POST
    @Path("/inserir")
    @Produces("application/json")
    @Consumes("application/json")
    public String inserirCliente(Cliente cliente) {
     return Banco.getBancoInstance().inserir(cliente);
    }
 


viewtopic.php?f=7&t=17389

Lembrando que o seu objeto em formato de JSON deve vir no corpo da mensagem http!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


06 Jan 2013, 02:26
Perfil WWW
Hello World!
Hello World!

Data de registro: 04 Nov 2012, 15:46
Mensagens: 26
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
@Antunes

Muito obrigado meu brother, reli o link e observei os destalhes do @XRootElement, como tb a chamada do serviço que estava fazendo:
String[] resposta = new WebServiceCliente().get(URL_WS + "inserir/"+ atendimento);


A removi tb o @PathParam do serviço

Alem de não converter o objeto atendimento em Json, então o metodo de envio ficou assim:

   public String cadastroAtendimento (Atendimento atendimento) throws Exception {
        Gson gson = new Gson();
        String clienteJSON = gson.toJson(atendimento);
        String[] resposta = new WebServiceCliente().post(URL_WS + "inserir",clienteJSON);
       
        if(resposta[0].equals("200")){
            return resposta[1];
        } else {
            throw new Exception(resposta[1]);
        }
    }


Funcionou perfeitamente. :D


06 Jan 2013, 12:33
Perfil
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Estou com uma duvida como faço pra subir WS num dominio, gero um jar dele e como acesso ele depois que subi?
Agradeço desde ja !


07 Fev 2013, 10:45
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 escreveu:
Estou com uma duvida como faço pra subir WS num dominio, gero um jar dele e como acesso ele depois que subi?
Agradeço desde ja !


Um "jar" não, vc tem que gerar um "war"!! Basta colocá-lo no diretório "webapps" do tomcat e acessar usando a mesma url local, mudando o localhost pelo ip do servidor!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


07 Fev 2013, 21:45
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Obrigado Antunes pela resposta, subi lá mais quando vou acessar da erro, estranho que na minha maquina local funiona perfeitamente

Aqui o Log:

javax.servlet.ServletException
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:329)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:120)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    java.lang.Thread.run(Thread.java:722)
root cause

java.lang.ExceptionInInitializerError
    com.sun.xml.internal.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:50)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:118)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:70)
    com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:141)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:78)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:435)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:283)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148)
    com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130)
    com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172)
    javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
    javax.xml.bind.ContextFinder.find(ContextFinder.java:347)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298)
    com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlApplicationContextImpl.java:92)
    com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java:96)
    com.sun.jersey.server.impl.application.RootResourceUriRules.initWadl(RootResourceUriRules.java:169)
    com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:106)
    com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1300)
    com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:163)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:769)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:765)
    com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:760)
    com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
    javax.servlet.GenericServlet.init(GenericServlet.java:160)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:271)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:306)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:120)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    java.lang.Thread.run(Thread.java:722)
root cause

java.security.AccessControlException: access denied ("java.util.PropertyPermission" "mapAnyUriToUri" "read")
    java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
    java.security.AccessController.checkPermission(AccessController.java:560)
    java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1302)
    java.lang.System.getProperty(System.java:706)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.<clinit>(RuntimeBuiltinLeafInfoImpl.java:199)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeTypeInfoSetImpl.<init>(RuntimeTypeInfoSetImpl.java:50)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:118)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:70)
    com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.<init>(ModelBuilder.java:141)
    com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:78)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:435)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:283)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126)
    com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148)
    com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130)
    com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172)
    javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
    javax.xml.bind.ContextFinder.find(ContextFinder.java:347)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
    javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298)
    com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlApplicationContextImpl.java:92)
    com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java:96)
    com.sun.jersey.server.impl.application.RootResourceUriRules.initWadl(RootResourceUriRules.java:169)
    com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:106)
    com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1300)
    com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:163)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:769)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:765)
    com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:760)
    com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609)
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
    javax.servlet.GenericServlet.init(GenericServlet.java:160)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:601)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:271)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:306)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:120)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    java.lang.Thread.run(Thread.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.


08 Fev 2013, 12:11
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Qual a jre que vc está usando?? Acho que é a 7.

Tente usar a versão 6 da jre e o tomcat 7.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


08 Fev 2013, 15:34
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Opa mudei antunes mais ainda continua dando um error

javax.servlet.ServletException: Servlet.init() for servlet Jersey REST Service threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)
root cause

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.catalina.loader)
    java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
    java.security.AccessController.checkPermission(AccessController.java:546)
    java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
    java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
    sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:298)
    java.lang.ClassLoader.loadClass(ClassLoader.java:300)
    java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLoader.java:1347)
    java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    com.sun.jersey.spi.service.ServiceFinder.getResources(ServiceFinder.java:293)
    com.sun.jersey.spi.service.ServiceFinder.access$200(ServiceFinder.java:160)
    com.sun.jersey.spi.service.ServiceFinder$AbstractLazyIterator.setConfigs(ServiceFinder.java:661)
    com.sun.jersey.spi.service.ServiceFinder$LazyObjectIterator.hasNext(ServiceFinder.java:780)
    com.sun.jersey.core.spi.scanning.PackageNamesScanner.<init>(PackageNamesScanner.java:122)
    com.sun.jersey.core.spi.scanning.PackageNamesScanner.<init>(PackageNamesScanner.java:103)
    com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
    com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
    com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
    com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700)
    com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
    javax.servlet.GenericServlet.init(GenericServlet.java:160)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:274)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:271)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:306)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:120)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)


05 Mar 2013, 16:27
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Veja se esses links te ajudam:

http://serverfault.com/questions/124004 ... -exception
http://stackoverflow.com/questions/9831 ... a-webstart
http://www.mkyong.com/tomcat/tomcat-jav ... edmembers/

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


05 Mar 2013, 16:47
Perfil WWW
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Fala Antunes, cara primeiramente quero agradecer muito bom seus 3 artigos! Parabéns

Estive implementando todos até agora funcionaram beleza..

Uma questão nesse úlitmo onde você inclui o banco de dados, eu estou com uma dúvida porque eu fiz igualzinho ta no seu artigo. Porém no final do mesmo você disse que ta usando o artigo 2 para testes correto? Então eu vou rodar meu servidor normal, e irei rodar o meu cliente android[ARTIGO 2] correto?

Só que no artigo 2 na classe mainActivity você colocou uns inserts manuais, ou seja a classe não está fazendo nada com o banco{bom pelo menos eu acho}. Queria saber de voce como faço para direcionar os comandos para o banco?

Por exemplo inserir um cliente ao invés de ser assim:


inserirBtn.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {
             Cliente cliente = new Cliente();
             cliente.setNome("João da Silva");
             cliente.setCpf("000333444-01");
             cliente.setEndereco("Rua do lado, 33");
             //não coloquei o ID, pq isso é papel do banco, com um auto increment.
             ClienteREST cliREST = new ClienteREST();
             try {
                 String resposta = cliREST.inserirCliente(cliente);
                 txtView.setText(resposta);
             } catch (Exception e) {
                 e.printStackTrace();
                 gerarToast(e.getMessage());
             }
         }
     });
    }
 


eu poder usar o banco para que seja inserido nele?

esse e os outros métodos.

mais uma vez parabéns pelos artigos

ficarei muito grato se você puder me ajudar.

abraços


22 Mar 2013, 18:42
Perfil
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
olá Antunes primeiramente parabéns pelo seus artigos muito bons mesmo!

Mas é o seguinte cara, eu segui todos seus passos até aqui. Porém, neste ultimo você faz a integração com o banco de dados, até aí tudo bem só que não sei se não entendi direito ou não percebi, é que como faço para direcionar os comandos para o banco? Por ex: inserir ao invés de inserir no braço como você tinha feito nos outros exemplos eu poder inserir no banco?

inserirBtn.setOnClickListener(new View.OnClickListener() {

         @Override
         public void onClick(View v) {
             Cliente cliente = new Cliente();
             cliente.setNome("João da Silva");
             cliente.setCpf("000333444-01");
             cliente.setEndereco("Rua do lado, 33");
             //não coloquei o ID, pq isso é papel do banco, com um auto increment.
             ClienteREST cliREST = new ClienteREST();
             try {
                 String resposta = cliREST.inserirCliente(cliente);
                 txtView.setText(resposta);
             } catch (Exception e) {
                 e.printStackTrace();
                 gerarToast(e.getMessage());
             }
         }
     });
    }


ao invés de usar assim na mão, fazer tudo no banco? tanto o inserir quanto os outros métodos, pesquisar, deletar e atualizar.

mais uma vez parabéns pelos artigos me ajudaram muito!

obrigado

abraços.


22 Mar 2013, 18:46
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Esse código que vc postou é o do android, quem vai inserir no banco é o WS.

Na primeira página desse artigo tem o projeto exemplo em anexo!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


23 Mar 2013, 01:13
Perfil WWW
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
então cara, tipo eu vou copiei igualzinho ta no seu ai.. porém não estou entendendo quem vai preencher o banco, será um novo registro que será feito no android(cliente) não?


25 Mar 2013, 11:31
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Então, quem vai colocar os dados no banco é o WS e não o app android. Sendo assim, o banco vai ficar no servidor!!

O fluxo é esse:

App Android <-> WS <-> Banco

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


25 Mar 2013, 18:44
Perfil WWW
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Então, desculpe a ingnorância cara é que nesse ponto ainda sou meio leigo.. hehe

Posso fazer o cliente android preencher o banco no servidor, alem das outras operações como: PESQUISAR, MODIFICAR E DELETAR? Se sim, como?


Outra dúvida.. consigo fazer tipo um sincronismo? Por ex: tenho um banco no android e um no servidor com as mesmas tabelas e mesmos campos.. posso por exemplo quando existir conexao pressionar o botao de sincronismo e enviar os dados do android pro servidor e do servidor para o android?


25 Mar 2013, 19:00
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Wyllyam escreveu:
Então, desculpe a ingnorância cara é que nesse ponto ainda sou meio leigo.. hehe

Posso fazer o cliente android preencher o banco no servidor, alem das outras operações como: PESQUISAR, MODIFICAR E DELETAR? Se sim, como?


Pode sim, é só enviar os seus objetos para o WS e popular o banco, assim como no exemplo!

Wyllyam escreveu:
Outra dúvida.. consigo fazer tipo um sincronismo? Por ex: tenho um banco no android e um no servidor com as mesmas tabelas e mesmos campos.. posso por exemplo quando existir conexao pressionar o botao de sincronismo e enviar os dados do android pro servidor e do servidor para o android?


Consegue sim, só que essa inteligência vc terá que implementar!! Como é uma coisa bem específica do seu sistema, não vou poder te ajudar.

A topologia será mais ou menos essa:

SQLite <-> App android <-> WS <-> Banco (Ex.: postgres)

Basta vc criar uma estrutura de banco parecida nos dois lugares.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


25 Mar 2013, 19:46
Perfil WWW
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá Antunes, deu certo consegui subir meu Web Service no servidor obrigado pela ajuda !
Tenho mais uma duvida tenho 15 mil registro só que quando vou puxa no ANDROIDE estou
achando muito lento mesmo, meu projeto é espelhado no seus tutoriais teria alguma ideia pra agilizar
a transferência de dados, agradeço desde já !

achei esse servidor free para teste achei muito bom para quem quiser: http://jelastic.com/pt/


29 Abr 2013, 10:05
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Ser lento ou não vai depender da banda que vc tem no Android e no servidor, sem contar o processamento no Android. Lembre-se que isso é um celular.

A dica que eu posso te dar pra evitar erros é paginar essa consulta.

Talvez seja um pouco mais rápido se vc fizer requisições em paralelo na consulta paginada.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


29 Abr 2013, 13:16
Perfil WWW
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 blz?

aqui vc disse que fez uma conta free nesse servidor: http://jelastic.com/pt/

como que vc fez funcionar esse tutorial do antunes? sou iniciante nessa área de cliente x servidor do android, achei esse post do antunes muito massa mais eu queria ver ele funcionar na prática mesmo, com um endereço url e tals.. como são os procedimentos para fazer esse post do antunes funcionar nesse servidor que vc passou?

obrigado


29 Abr 2013, 19:27
Perfil
Application Life Cycle
Application Life Cycle

Data de registro: 29 Mar 2012, 11:00
Mensagens: 218
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Wyllyam exportar ele para .war e subi no servidor só!

Antunes nao sei como paginar ws teria algum exemplo algo para min se basear?


13 Mai 2013, 13:26
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Goncalves1 escreveu:
Wyllyam exportar ele para .war e subi no servidor só!

Antunes nao sei como paginar ws teria algum exemplo algo para min se basear?


Primeiro vc deve paginar uma consulta no banco e depois retornar essa consulta paginada.

http://www.petefreitag.com/item/451.cfm
http://www.depesz.com/2007/08/29/better ... gresql-82/
https://www.ibm.com/developerworks/comm ... et?lang=en

Como esses parâmetros são variáveis, vc terá que recebê-los na requisição ao resource do seu ws.

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


13 Mai 2013, 14:03
Perfil WWW
Android application
Android application
Avatar de usuário

Data de registro: 09 Out 2011, 00:07
Mensagens: 81
Localização: João Pessoa
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Olá Antunes, você chegou a implementar o upload de imagem com essa abordagem ? Tem como você indicar algum link ?

_________________
Desenvolvedor Android
about.me/D.H


27 Mai 2013, 23:13
Perfil WWW
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Cheguei a falar sobre isso nesse tópico: viewtopic.php?f=5&t=23539&hilit=inputstream+upload+file

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


28 Mai 2013, 15:31
Perfil WWW
What is Android?
What is Android?
Avatar de usuário

Data de registro: 22 Jul 2013, 16:52
Mensagens: 4
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
antunes,

Primeiro de tudo: PARABÉNS!
Segundo de tudo: Parabéns!
Terceiro de tudo: parabéns :)

Consegui sanar minha dúvida (persistência remota com Android) através dos seus 3 tópicos.
Eu postei uma dúvida na segunda parte do artigo, onde dava a seguinte excessão:
07-22 18:29:51.527: E/NGVL(2276): android.os.NetworkOnMainThreadException


Caso alguém passe por isso, é só realizar a conexão em uma thread que não seja a "main".

Abraço

_________________
"Tu é senhor de ti mesmo." Sidarta Gautama


22 Jul 2013, 19:38
Perfil ICQ
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Muito obrigado!

Acabei de te responder no outro tópico!!

Abraços!

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


24 Jul 2013, 03:23
Perfil WWW
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Tirei um tempinho e fui fazer um WS, mas com esse tutorial aqui não tem graça! AAUhau parabéns Antunes, muito bom mesmo. Só falta pagar a digital ocean agora hehehe

_________________
Powell


27 Ago 2013, 14:07
Perfil
Google employee
Google employee
Avatar de usuário

Data de registro: 05 Abr 2011, 04:47
Mensagens: 1968
Localização: Rio de Janeiro
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
raphaelframos escreveu:
Tirei um tempinho e fui fazer um WS, mas com esse tutorial aqui não tem graça! AAUhau parabéns Antunes, muito bom mesmo. Só falta pagar a digital ocean agora hehehe


A ideia é essa mesmo!! =D

_________________
Alexandre Antunes
@a3b @bemobi
Moto X

App@Bemobi: Apps Club - Loja de Apps baseada em assinatura que dá direito a usar ~400 Apps.

Campanha: Facilite sua vida e a dos outros usuários.
Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.


Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!

Quer trabalhar comigo??


28 Ago 2013, 20:10
Perfil WWW
What is Android?
What is Android?

Data de registro: 05 Set 2013, 18:53
Mensagens: 2
Mensagem Re: [Artigo] Web Service RESTful 3 [+PgSQL+DAO+Business+Fact
Viva Antunes,
Antes de mais, parabéns pelos tutoriais, estão muito bons.
Sei que este tópico já é algo antigo, mas espero que ainda me possa ajudar.

é o seguinte, tenho um método POST que deveria receber vários parametros e enviar...porém, não estou a conseguir implementar isso.. Dá o seguinte erro:
Citação:
SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of mm.DTO.InspeccoeDTO out of START_ARRAY token
at [Source: org.apache.catalina.connector.CoyoteInputStream@2e4742e4; line: 1, column: 1]
at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)


Porém, todas as minhas classes implementam o Seriazable...

O código que tenho é o que mostro em seguida:

android(método POST)
public final String[] post(String uri, String i, String r, String v, String n, String f){ //, String json
     String[] result = new String[2];
     try {

         HttpPost httpPost = new HttpPost(new URI(URL_WS+uri));
         httpPost.setHeader("Content-type", "application/json");
         StringEntity sEntity = new StringEntity(i, "UTF-8");
         httpPost.setEntity(sEntity);
         sEntity = new StringEntity(r, "UTF-8");
         httpPost.setEntity(sEntity);
         sEntity = new StringEntity(v, "UTF-8");
         httpPost.setEntity(sEntity);
         sEntity = new StringEntity(n, "UTF-8");
         httpPost.setEntity(sEntity);
         sEntity = new StringEntity(f, "UTF-8");
         httpPost.setEntity(sEntity);

         HttpResponse response;
         response = HttpClientSingleton.getHttpClientInstace().execute(httpPost);
         HttpEntity entity = response.getEntity();

         if (entity != null) {
             result[0] = String.valueOf(response.getStatusLine().getStatusCode());
             InputStream instream = entity.getContent();
             result[1] = toString(instream);
             instream.close();
             Log.d("post", "Result from post JsonPost : " + result[0] + " : " + result[1]);
         }

     } catch (Exception e) {
         Log.e("NGVL", "Falha ao acessar Web service", e);
         result[0] = "0";
         result[1] = "Falha de rede!";
     }
     return result;
    }


Android(chamada ao método POST):
public String inserirInspecao(InspeccoeDTO inspecao, RoteirosinspeccaoDTO roteiro, ArrayList<ValorescriteriosroteiroDTO> valores,
            ArrayList<NotaDTO> notas, ArrayList<FotosinspecaoDTO> fotos) throws Exception{
        Gson gson = new Gson();
        String i = gson.toJson(inspecao);
        String r = gson.toJson(roteiro);
        String v = gson.toJson(valores);
        String n = gson.toJson(notas);
        String f = gson.toJson(fotos);
       
        //String uri = "mm.inspeccoes/inserirInspecao/"+i+"/"+r+"/"+v+"/"+n+"/"+f;
        String uri = "mm.inspeccoes/inserirInspecao";
        String[] resposta = new WebServiceCliente().post(uri, i, r, v, n, f);
        if (resposta[0].equals("200")) {
            return resposta[1];
        } else {
            throw new Exception(resposta[1]);
        }
    }


RestWS:
public String inserirInspecao(InspeccoeDTO inspecao, RoteirosinspeccaoDTO roteiro, String valores, String notas, String fotos) {
       
        Gson gson = new Gson();
               
        ArrayList<ValorescriteriosroteiroDTO> v = new ArrayList<ValorescriteriosroteiroDTO>();
        JsonArray valoresRoteiro = new JsonParser().parse(valores).getAsJsonArray();
        for(int j=0; j<valoresRoteiro.size(); j++)
            v.add(gson.fromJson(valoresRoteiro.get(j), ValorescriteriosroteiroDTO.class));
       
        ArrayList<NotaDTO> n = new ArrayList<NotaDTO>();
        JsonArray notasInsp = new JsonParser().parse(notas).getAsJsonArray();
        for(int j=0; j<notasInsp.size(); j++)
           n.add(gson.fromJson(notasInsp.get(j), NotaDTO.class));
       
        ArrayList<FotosinspecaoDTO> f = new ArrayList<FotosinspecaoDTO>();
        JsonArray fotosInsp = new JsonParser().parse(fotos).getAsJsonArray();
        for(int j=0; j<fotosInsp.size(); j++)
           f.add(gson.fromJson(fotosInsp.get(j), FotosinspecaoDTO.class));
       
       // return new InspecoesBusiness().inserirInspecao(insp, rotInsp, v, n, f);
        return new InspecoesBusiness().inserirInspecao(inspecao, roteiro, v, n, f);
    }


Desde já agradeço a atenção e, espero que me possa ajudar =/

Cumprimentos,


05 Set 2013, 19:36
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 140 Mensagens ]  Ir para a página Anterior  1, 2, 3  Próximo

Quem está online

Usuários vendo este fórum: afpcp, Analista, andrelom, andreluzz, Androidthebest, Aniquiler, arilsonm, Avelino Mateus Neto, axellsan, Bass, berchielli, BloggerCaOS, boydivalor, Bravox, brazucx, brpiassa, brunogh, brunomalka, burujo, C-3PO, Cajux, caliow, camilodev, canaville, capo, Captain Typho, careisjr, Carlos Almeida, Cassius, Catapan, cavenaghi, celiapinheiro, Christiane, chunga, ciro, comolatti, Cr-Informática, d.paim, DaDih*, danilosv, dbuarque, debal, deivisonrpg, dentimskol, Diego, digiwise, dobau, dr.faro, ederson_4, edsonel, eliasmachado_rj, eluttner, emersonbarros, fernando neves, fernandodotnet, ffabiano, ffardo, Flavio Alves, fracon, fraga, free_w3000, Gabriel, gapler, garretereis, geeks, Gooooogle, gphonemania, guiba_picolino, Guilherme Cobain, HAMSES, hbarroco, heliopassos, hellbest, IgorBrum, ijsilvestre, inaciofernandes, ismaelbpaiva, ismavolk, Javanês, Jenius, jgfelix, jhonguitar, jhou, jijo, Jless@, jlucasps, Jota, Juniorvs, kennedyximenes, kpinheiro, Kureiton, kusanaguy, lazarodm, linukiss, Liviosousa, lkunta, luciocamilo, lufreitas, luizneto79, Luke Skywalker, marcos_trb, maximilianjx, Moisés Souto, mrangel, mravel, NeruLL, nishimura.ichigo, nq6, nsansilva, osternack, pbcjunior, pfsmorigo, pgsnit, pmzara, pyrobit, R2-D2, raulcca, regeriob2br, retardad0, ricardoogliari, rmendes, rogerio.alcantara, ROGÉRIO RODRIGUES, romualdo, romuloigor, rotilho, rtodao, samuel.cavanieri, shadow, sidnei.gs, skcratch, sobrinho, tassiovirginio, tavares767, tiagoxv, tonylock, vanmars, viniciusgoncalves, viniciusllima, W3 [Sitesearch], Webnet, XPTO, Yoda e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi