CONSUMIR TICKETENDPOINTSERVICE DO SANTANDER
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.
Já possui o certificado? Com ele você vai poder ler o WSDL e começar a trabalhar.
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.
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
ome_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);
}
var ticketService = new TicketEndpointService();
ticketService.Url = @[Ô]https://ymbdlb.santander.com.br/dl-ticket-services/TicketEndpointService[Ô];
var certificado = new X509Certificate(@[Ô]C:\Users\T691796\Documents\Certificados
ome_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);
}
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:
Assim, você pode incluir novos Ãtens:
E assim por diante... o caso é que você não está entendendo o que está aÃ, certo?
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?
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.
Não te entendi...
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
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
Cara, você sabe o que é um array?
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?
Você conclui o restante da comunicação com o webservice, na questão de fazer o registro do boleto?
é do webservice do banco, comigo deu tudo certo consumir e gravei o titulo no banco
Tópico encerrado , respostas não são mais permitidas