public BoletoClientResult ManutencaoBoleto(BoletoClient boletoClient) { try { //cria xml conforme manual http://www.caixa.gov.br/Downloads/cobranca-caixa/Manual_Leiaute_Webservice.pdf string _xmlBoleto = GeraXmlBoleto(boletoClient); XmlDocument document = new XmlDocument(); document.LoadXml(_xmlBoleto); string _operacao = "CONSULTA_BOLETO"; string _endPoint = "https://barramento.caixa.gov.br/sibar/ConsultaCobrancaBancaria/Boleto"; switch (boletoClient.Operacao) { case Operacao.INCLUI_BOLETO: _operacao = "INCLUI_BOLETO"; _endPoint = "https://barramento.caixa.gov.br/sibar/ManutencaoCobrancaBancaria/Boleto/Externo"; break; case Operacao.ALTERA_BOLETO: _operacao = "ALTERA_BOLETO"; _endPoint = "https://barramento.caixa.gov.br/sibar/ManutencaoCobrancaBancaria/Boleto/Externo"; break; default: break; } string _xmlRetorno = UtilHelper.CallWebRequest(_endPoint, document.InnerXml, _operacao); var retorno = XmlHelper.Deserialize <SoapEnvelopeSaida>(_xmlRetorno); BoletoClientResult result = new BoletoClientResult(); DadosSaida saida = null; if (boletoClient.Operacao == Operacao.CONSULTA_BOLETO && retorno.body.SERVICO_SAIDA_Consulta.DADOS.CONSULTA_BOLETO == null) { return(null); } else { if (boletoClient.Operacao == Operacao.CONSULTA_BOLETO) { saida = retorno.body.SERVICO_SAIDA_Consulta.DADOS; } else { saida = retorno.body.SERVICO_SAIDA.DADOS; } switch (boletoClient.Operacao) { case Operacao.INCLUI_BOLETO: result.LINHA_DIGITAVEL = saida.INCLUI_BOLETO.LINHA_DIGITAVEL; result.CODIGO_BARRAS = saida.INCLUI_BOLETO.CODIGO_BARRAS; result.NOSSO_NUMERO = (!string.IsNullOrEmpty(saida.INCLUI_BOLETO.NOSSO_NUMERO) && saida.INCLUI_BOLETO.NOSSO_NUMERO != "0") ? saida.INCLUI_BOLETO.NOSSO_NUMERO : boletoClient.NossoNumero.ToString(); result.URL = saida.INCLUI_BOLETO.URL; result.Operacao = "INCLUI_BOLETO"; break; case Operacao.ALTERA_BOLETO: result.LINHA_DIGITAVEL = saida.ALTERA_BOLETO.LINHA_DIGITAVEL; result.CODIGO_BARRAS = saida.ALTERA_BOLETO.CODIGO_BARRAS; result.NOSSO_NUMERO = (!string.IsNullOrEmpty(saida.ALTERA_BOLETO.NOSSO_NUMERO) || saida.ALTERA_BOLETO.NOSSO_NUMERO == "0") ? saida.ALTERA_BOLETO.NOSSO_NUMERO : boletoClient.NossoNumero.ToString(); result.URL = saida.ALTERA_BOLETO.URL; result.Operacao = "ALTERA_BOLETO"; break; default: _operacao = "CONSULTA_BOLETO"; result.URL = saida.CONSULTA_BOLETO.TITULO.URL; result.Consulta = saida.CONSULTA_BOLETO; break; } return(result); } } catch (Exception err) { throw new Exception(err.Message); } }