none
Mensagem de erro RRS feed

  • Pergunta

  • pessoal tenho um metodo q retorna dataset, como faço para enviar uma mensagem por exemplo de que retornou vazio ?

    na verdade qualquer mensagem, no PHP eu usava SoapFault mas em .net eu nao vi nada referente,  um throw exception funcionaria para mandar amensagem como um erro ? em outra plataforma q fosse consumir iria reconhecer isso de uma forma direita ?

     

    abraços  e a todos um Feliz 2007 

     

    terça-feira, 2 de janeiro de 2007 20:08

Respostas

Todas as Respostas

  • Jhonathas,

    vc pode usar o SoapException.

     

     

    quinta-feira, 11 de janeiro de 2007 17:19
  • Ola tudo bem?

    Bom isto na verdade entra num escopo de arquitetura do seu projeto.

    Exemplo..

    1 - U DataSet nunca vai vir com valor NULL ou seja, ele concerteza vai retornar um dataset VAZIO, pq no se vc tentar retornar um objeto que nao foi instanciado... ele vai dar uma exeção .. e exeção tem que ser tratada. Porém nao é o caso,se acontecer isto é erro de programa.. no minimo vc tem que instanciar o objeto dentro.

    2- Para vc controlar as respostas do Webservice vc pode adotar uma padrao do tipo

    Criar uma tabela que tem sempre uma linha.

      <mensagemSaida>
        <codSistema>WS</codSistema>
        <sessionId>b0w0htrxio51glnbpr3zvgen</sessionId>
        <codRetorno>0</codRetorno>
        <descRetorno>Busca retornada com sucesso.</descRetorno>
      </mensagemSaida>

    Bom com esta estrutura vc sabe se vier codRetorno <>0 significa que aconteceu algum erro ou exeção ou aviso.. dai vc mostra a DescRetorno..

    Caso venha 0, significa.. que ta tudo ok..

    No caso da Listagem veio tudo ok.. porem nao veio valores nenhum

     

    entao vc pega.. o retorno.. da tabelaClientes, exemplo..e faz verificação a abaixo

    if(mensagemSaida.rows[0]["Cod_retorno"].ToString()=="0")

    {

    //verifica se veio valores

    if( tabelaClientes.rows.Count >0)

    {

    dataGrid.DataSource = tabelaClientes;

    dataGrid.DataBind();

    }

    }

    else

    {

    //deu erro

    this.lblErro.Text = mensagemSaida.rows[0]["descRetorno"].ToString();

    }

    Espero ter audado.

    segunda-feira, 15 de janeiro de 2007 13:34