Fórum Problema passando e recebendo ARRAY DE OBJETOS em um webservice feito em C# #419078
28/06/2012
0
Estou com problemas para receber resposta de um webservice da rodocred, que em todas as funções é retornado um objeto, que dentro tem outros objetos e arrays de objetos... quando é somente objetos ou variaveis do tipo string, int, etc... eu consigo pegar o retorno normal, porém, quando vou pegar o retorno de algum array, ele volta vazio... alguem já passou por isso?
Segue um exemplo do meu código:
//essa é a classe que contém as variaveis pra enviar no request para o webservice:
ManterMotoristaRequest = class(TRemotable)
private
FIdentificacaoIntegracao: IdentificacaoIntegracaoType;
FOperacao: TipoOperacaoType;
FIdClienteResponsavel: Integer;
FTransportador: Transportador4;
FMotorista: MotoristaType;
public
constructor Create; override;
destructor Destroy; override;
published
property IdentificacaoIntegracao: IdentificacaoIntegracaoType Index (IS_OPTN) read FIdentificacaoIntegracao write FIdentificacaoIntegracao;
property Operacao: TipoOperacaoType read FOperacao write FOperacao;
property IdClienteResponsavel: Integer Index (IS_OPTN) read FIdClienteResponsavel write FIdClienteResponsavel;
property Transportador: Transportador4 Index (IS_OPTN) read FTransportador write FTransportador;
property Motorista: MotoristaType Index (IS_OPTN or IS_UNBD) read FMotorista write FMotorista;
end;
//aqui é o problema... quando a resposta vem somente preenchido o RetornoMensagem eu consigo ler, mas quando vem
//preenchido também o Motoristas, que é um array, eu nao consigo pegar resposta nenhuma
Array_Of_Motoristas = array of Motoristas;
ManterMotoristaResponse = class(TRemotable)
private
FRetornoMensagem: RetornoMensagem5;
FMotoristas: Array_Of_Motoristas;
public
constructor Create; override;
destructor Destroy; override;
published
property RetornoMensagem: RetornoMensagem5 Index (IS_OPTN) read FRetornoMensagem write FRetornoMensagem;
property Motoristas: Array_Of_Motoristas Index (IS_OPTN or IS_UNBD) read FMotoristas write FMotoristas;
end;
Estou chamando a função do webservice da seguinte maneira:
ManterMotResponse := ser.ManterMotoristaRequest(objManterMotoristaRequest);
ManterMotResponse é do tipo ManterMotoristaResponse, que tem o RetornoMensagem e o Motoristas dentro... quando a resposta vem somente no RetornoMensagem eu consigo capturar ela, ler e tudo mais... mas quando vem também o Motoristas preenchido (que é um array de Motoristas) o ManterMotResponse vem tudo nil...
alguem tem alguma sugestão?
agradeço desde já!
[]s
Romulo Contro
Romulo Contro
Curtir tópico
+ 0Posts
24/07/2012
Marcos Rocha
Estou precisando fazer a transmissão do CIOT para a RODOCRED
alguém pode me dar uma força?
até estamos querendo começar um projeto no ACBR
http://www.djsystem.com.br/acbr/forum/viewtopic.php?f=9&t=6511
Grato
Gostei + 0
24/07/2012
Romulo Contro
não usei nenhum componente pra fazer, eu importei o wsdl no delphi 2010 e fiz tudo por lá.
o que exatamente vc precisa?
Gostei + 0
25/07/2012
Marcos Rocha
Gostei + 0
26/07/2012
Romulo Contro
http://rodrigojarouche.wordpress.com/2010/03/27/como-consumir-webservices-em-delphi/
se vc usa o delphi 7, vc terá que fazer uma atualização do wsdl importer, tem lá no site da codegear... pois o que vem no delphi 7 é bugado...
depois que vc entender esse exemplo do cep, vc vai conseguir fazer o da rodocred... eu fiz praticamente igual o esquema do cep.
qualquer duvida posta aí
Gostei + 0
26/07/2012
Romulo Contro
http://homologacao.ws.rodocred.com.br/rodocred.asmx?WSDL
Gostei + 0
30/07/2012
Marcos Rocha
Importei o http://homologacao.ws.rodocred.com.br/r ... .asmx?WSDL
usando o wsdl importer Delphi 7 ao compilar da esse erro:
[img]http://www.brst.com.br/rodocred/Erro.png[/img]
Oq pode ser?
Grato
Gostei + 0
30/07/2012
Romulo Contro
mas se vc notar, o tipo CNHCategoria está sendo declarado mais pra baixo aí, se nao me engano... entao chega ali ele fala que nao existe ainda...
pra chegar em um ponto que ficou certinho, eu tive que mudar MUITA coisa aí... vou deixar o meu wsdl importado aqui pra vc baixar, só que o meu é do delphi 2010, tem algumas diferenças lá em baixo na serialização... então recomendo que vc só use ele de base...
https://dl.dropbox.com/u/90732230/WSDL.rar
te recomendo levantar primeiro quais são os serviços que vc vai precisar usar do WS, aí vc dá a manutenção somente neles na unit do wsdl importado...
eu não fiz de todos os serviços, só fiz os que eu realmente preciso usar...
Gostei + 0
30/07/2012
Marcos Rocha
Grato
Gostei + 0
14/08/2012
Marcos Rocha
agora a acabei de ver um tal de mdfe
https://mdfe-portal.sefaz.rs.gov.br/Site/Sobre
a pergunta é é: esse mdfe é a mesma coisa que a rodocred faz só que de forma gratuita?
se for ótimo pois a Acbr já tem ele, e vou parar de fazer a homologação na rodocred ou TiketFrete
Grato
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)