CONSUMIR TICKETENDPOINTSERVICE DO SANTANDER

 Tópico anterior Próximo tópico Novo tópico

CONSUMIR TICKETENDPOINTSERVICE DO SANTANDER

ASP.NET

 Compartilhe  Compartilhe  Compartilhe
#475457 - 27/07/2017 13:15:06

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


Sei que é uma questão bem específica, mais queria saber se alguém já fez alguma implementação para consumir o webservice do Santander para inserir boletos via cobrança online xml. Estou com uma dúvida e o pessoal do suporte do banco não tem um exemplo que ajude.



Resposta escolhida #475459 - 27/07/2017 13:55:07

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Já possui o certificado? Com ele você vai poder ler o WSDL e começar a trabalhar.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#475460 - 27/07/2017 13:58:20

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


Tenho o certificado sim, já até adicionei o web service reference tanto do ticket quanto da cobrança, estou com dúvida na entrada de titulos, pois o exemplo que o banco me passou só tem 1 chave e tenho que incluir muitas e do jeito que fiz está errado e o banco não tem outro exemplo onde mostre como adicionar mais chaves.



#475461 - 27/07/2017 14:17:17

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


Minha dúvida está aqui :
var ticketService = new TicketEndpointService();
ticketService.Url = @"https://ymbdlb.santander.com.br/dl-ticket-services/TicketEndpointService";

var certificado = new X509Certificate(@"C:\Users\T691796\Documents\Certificados\nome_certificado.pfx", @"SenhaCertificadoClient");
ticketService.ClientCertificates.Add(certificado);

            try
            {
                var request = new ticketRequest();
                request.expiracao = 600;
                request.sistema = "YMB";


                var dado = new ticketRequestEntry();
                dado.key = "Chave1";      // substituir pelo nome da chave
                dado.value = "valor";     // substituir pelo valor da chave
                          
                request.dados = new ticketRequestEntry[1];
                request.dados[0] = dado;

                //Como faço para incluir outras chaves ?
                dado.key = "chave2";
                dado.value = "valor2";

                ticketResponse response = ticketService.create(request);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }



#475463 - 27/07/2017 14:28:20

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O objeto "request.dados" é um array de "ticketRequestEntry" e está com apenas um ítem. Para ter como incluir mais ítens, você precisa instanciar o array com o número de ítens que você quer incluir:

request.dados = new ticketRequestEntry[5];


Assim, você pode incluir novos ítens:

var dado1 = new ticketRequestEntry();
dado1.key = "chave 1";
dado1.value = "valor 1";
request.dados[0] = dado1;

var dado2 = new ticketRequestEntry();
dado2.key = "chave 2";
dado2.value = "valor 2";
request.dados[1] = dado2;


E assim por diante... o caso é que você não está entendendo o que está aí, certo?

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#475464 - 27/07/2017 15:01:32

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


Funcionou, o que eu não entendi é que request.dados = new ticketRequestEntry[5]; inicializava o array, eu até fiz dado1 dado2 mais ele sempre inicializava o array anterior.



#475467 - 27/07/2017 15:33:49

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Não te entendi...

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#475469 - 27/07/2017 15:59:07

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


No exemplo que o banco me passou e coloquei aqui, eu não havia entendido que o
   request.dados = new ticketRequestEntry[27]; teria que ter a quantidade de tags<entry>

Eu até cheguei a criar como vc mandou criando dado1,dado2,etc... Debugando ele criava o indice 0 e depois criava o indice 1 sendo que o indice 0 ficava null  



#475471 - 27/07/2017 16:43:33

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Cara, você sabe o que é um array?

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#476591 - 15/09/2017 15:15:37

EDULAMY
SAO PAULO
Cadast. em:Junho/2012


TicketEndpointService() pertence a qual classe? Ou estas classes foram criadas por você?

Você conclui o restante da comunicação com o webservice, na questão de fazer o registro do boleto?



#476592 - 15/09/2017 15:18:44

MOZARTJUNIOR
FORTALEZA
Cadast. em:Junho/2016


É do webservice do banco, comigo deu tudo certo consumir e gravei o titulo no banco



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MOZARTJUNIOR em 25/10/2017 15:57:41