Sou inciante em WS e não consegui identificar o meu problema. Ao debugar eu consegui verificar que a minha string Json está sendo formada.
Mas eu não consigo ver o meu WS sendo “chamada” coloquei msg nele com println e não passa em nenhuma delas.
Codigo que envia para o WS
public static void enviaDadosWS(String urlWS, ArrayList<?> listaItens) {
try {
String uriLocalHost = "http://10.0.2.2:8084";
Gson gson = new Gson();
String jsonLista = gson.toJson(listaItens);
StringEntity sEntity = new StringEntity(jsonLista, "UTF-8");
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uriLocalHost+urlWS);
httpPost.setEntity(sEntity); //aqui vc coloca o seu objeto no httpPost
HttpResponse response = httpclient.execute(httpPost);
Log.i("respose", response.getEntity().getContent().toString());
} catch(ClientProtocolException e){
e.printStackTrace();
Log.e("ClientProtocolException",e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
meu WS que recebe dados
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controladores;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
import entidades.PedidoVenda;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import util.Conexao;
/**
*
* @author Guilherme
*/
@Path("/pedidovenda")
public class ControladorPedidoVenda {
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/inserePedidoVenda")
public String inserePedidoVenda(String pedidoVendaRecebido) {
try {
System.out.println("passou por aqui aaaaaaaaaaaaaaaaaaaaaa");
ArrayList<PedidoVenda> listaItens = new ArrayList<PedidoVenda>();
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonArray array = parser.parse(pedidoVendaRecebido).getAsJsonArray();
for(int i=0; i<array.size(); i++){
listaItens.add(gson.fromJson(array.get(i), PedidoVenda.class));
}
executaSqlInserePedidoVenda(listaItens);
System.out.println("passou por aqui");
return "vaiiii!!!";
} catch (Exception e) {
e.printStackTrace();
return "exception!!!";
}
}
private void executaSqlInserePedidoVenda(ArrayList<PedidoVenda> listaPedidoVenda) {
for (int i=0; i < listaPedidoVenda.size(); i++) {
String sql = "INSERT INTO MOB_PEDIDOVENDA ( "+
"PEDIDOVENDAID, "+
"VL_TOTALPROD_PEDIDOVENDA, "+
"FORMACOBRANCAID, "+
"FORMAPAGTOID, "+
"FILIALID, "+
"EMPRESAID, "+
"TABELAPRECOID, "+
"CLIENTEID, "+
"VENDEDORID, "+
"DT_PEDIDOVENDA ) "+
"VALUES ("+
listaPedidoVenda.get(i).getPedidoVendaId()+","+
listaPedidoVenda.get(i).getVlTotalProdPedidoVenda()+","+
listaPedidoVenda.get(i).getFormaCobrancaId()+","+
listaPedidoVenda.get(i).getFormaPagtoId()+","+
listaPedidoVenda.get(i).getFilialId()+","+
listaPedidoVenda.get(i).getEmpresaId()+","+
listaPedidoVenda.get(i).getTabelaPrecoId()+","+
listaPedidoVenda.get(i).getCadCftvId()+","+
listaPedidoVenda.get(i).getVendedorId()+","+
listaPedidoVenda.get(i).getDtPedidoVenda()+")";
try {
Statement statement = Conexao.getInstancia().getConexao().createStatement();
statement.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}