Problema com webservice

5 respostas
P

E ai pessoal, estou tentando inserir um registro no banco SQL Server utilizando Ksoap2.

Segue meu código

String SOAP_ACTION = "http://tempuri.org/Inserir";
        String METHOD_NAME = "Inserir";
        String NAMESPACE = "http://tempuri.org/";
        String URL = "http://meuIP/Service1.asmx"; 

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        //parametros caso necessite
        request.addProperty("AvaliacaoEnfermagem", pesquisa.getAvaliacaoEnfermagem());
        request.addProperty("AvaliacaoMedico", pesquisa.getAvaliacaoMedico());
        request.addProperty("AvaliacaoMotorista", pesquisa.getAvaliacaoMotorista());
        request.addProperty("AvaliacaoTransporte", pesquisa.getAvaliacaoTransporte());
        request.addProperty("AvaliacaoMedico", pesquisa.getAvaliacaoMedico());
        
        SimpleDateFormat formato = new SimpleDateFormat();
        Date data = new Date();
        request.addProperty("Data", formato.format(data));
    
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet=true;
        envelope.setOutputSoapObject(request);
    
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);  

        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Object result = (Object)envelope.getResponse();
        } catch (IOException e) {
            e.getMessage();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }

Hora que chega em: androidHttpTransport.call(SOAP_ACTION, envelope);
está dando erro de timeout
Acho que estou errando na definição do endereço.
Alguem pode me ajudar?
Obrigado

5 Respostas

F

Cole o código do seu WebService pra gente vê como tá… nem precisa colocar o conteúdo dos métodos… mas cole a classe… pq eu tbm estou com um problema… mas o meu ja da logo em NAMESPACE.

P

Aqui está o meu webservice

[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string Inserir(string numeroPaciente, string avaliacaoMotorista, string avaliacaoEnfermagem, string avaliacaoMedico,
            string avaliacaoTransporte, DateTime data)
        {
            try
            {
                using(SqlConnection conexao = new SqlConnection(PesquisaWebService.Properties.Settings.Default.ConnectionString))
                {
                    SqlCommand cmd = new SqlCommand("INSERT INTO Pesquisa (NumeroPaciente, AvaliacaoMotorista, AvaliacaoEnfermagem, " +
                        "AvaliacaoMedico, AvaliacaoTransporte, Data) VALUES (@NumeroPaciente, @AvaliacaoMotorista, @AvaliacaoEnfermagem, " +
                        "@AvaliacaoMedico, @AvaliacaoTransporte, @Data)", conexao);

                    cmd.Parameters.AddWithValue("@NumeroPaciente", numeroPaciente);
                    cmd.Parameters.AddWithValue("@AvaliacaoMotorista", avaliacaoMotorista);
                    cmd.Parameters.AddWithValue("@AvaliacaoEnfermagem", avaliacaoEnfermagem);
                    cmd.Parameters.AddWithValue("@AvaliacaoMedico", avaliacaoMedico);
                    cmd.Parameters.AddWithValue("@AvaliacaoTransporte", avaliacaoTransporte);
                    cmd.Parameters.AddWithValue("@Data", data);

                    conexao.Open();

                    if (cmd.ExecuteNonQuery() > 0)
                        return "Pesquisa salva com sucesso";
                    else
                        return "Falha ao salvar pesquisa";

                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    }
F

o seu Ws vc criou em dotNet foi ?

P

Foi em dotnet sim

leo.alvesneuwald

Boa noite,

Cara, eu tava fazendo algo parecido e coloquei vários sysout no WS para verificar.
So uma coisa, caso tu esteja usando android maior que 2.3, seja no projeto ou o emulador mesmo, tu vai ter de criar uma AsyncTask ou algo parecido para rodar essa parte ae.

Boa sorte.

Criado 25 de maio de 2012
Ultima resposta 27 de mai. de 2012
Respostas 5
Participantes 3