Olá André,
Uma boa prática da construção de web services é fornecer um modelo robusto de resposta.
Geralmente é interessante estourar exception para quem estiver consumindo seus serviços.
Por isso é interessante criar classes de resposta de execução, estas classes teriam essa estrutura:
public class RetornoMetodoXPTO
{
public bool ExecutadoComSucesso{get;set;}
public DataTable Resultado {get;set;}
public string MensagemErro {get;set;}
}
Se observar essa classe possui três propriedades:
ExecutadoComSucesso: booleano que indica se tudo foi executado corretamente.
Resultado: Propriedade que contém os dados com o resultado de sua execução. O uso de DataTables não é o mais indicado, pois se outra tecnologia (como o VB6) tentar consumir esses dados, terá de trabalhar com uma estrutura
complexa de XML, então é melhor retornar um Array de alguma entidade (por exemplo: Produtos[], Pedidos[], Usuario[]). Caso a propriedade ExecutadoComSucesso seja igual a False, então esta propriedade deve retornar vázia.
MensagemErro: Caso a propriedade ExecutadoComSucesso seja igual a false esta propriedade deve conter a mensagem de erro resultante. Caso a propriedade ExecutadoComSucesso esta propriedade deve ser igual a vazio (string.empty)
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog:
http://ferhenriquef.wordpress.com/
Twitter:
@ferhenrique