Erro no WebService de Solicitação de Procedimentos

Delphi

31/01/2008

Prezados,

bom dia!

Estou com um problema no envio de solicitações de procedimentos (tanto SADT quanto Internação), através de webservices.

Estou utilizando C# para elaboração do consumidor de webServices, com os mesmos desenvolvidos em Java.

Em meu programa C efetuei a definição de 3 objetos, como abaixo:

Início
private tissSolicitacaoProcedimento solicitaSADT;
private ws_solicitacaoProcedimento envio;
private ws_autorizacaoProcedimento resposta;


Depois vou preenchendo o cabeçalho da maneira abaixo:

this.solicitaSADT = new tissSolicitacaoProcedimento();
this.envio = new ws_solicitacaoProcedimento();
this.envio.cabecalho = new autorizador.cabecalhoTransacao();
this.envio.cabecalho.identificacaoTransacao = new autorizador.cabecalhoTransacaoIdentificacaoTransacao();
this.envio.cabecalho.identificacaoTransacao.tipoTransacao = autorizador.st_tipoTransacao.SOLICITACAO_PROCEDIMENTOS;
this.envio.cabecalho.identificacaoTransacao.sequencialTransacao = "0001";
this.envio.cabecalho.identificacaoTransacao.dataRegistroTransacao = new DateTime(2008, 01, 29);
this.envio.cabecalho.identificacaoTransacao.horaRegistroTransacao = new DateTime(2008, 01, 29, 12, 00, 00);
this.envio.cabecalho.origem = new autorizador.cabecalhoTransacaoOrigem();
this.envio.cabecalho.origem.Item = "123456789012";
this.envio.cabecalho.destino = new autorizador.cabecalhoTransacaoDestino();
this.envio.cabecalho.destino.Item = "000000";
this.envio.cabecalho.versaoPadrao = autorizador.st_versao.Item20102;


Feito isso, inicio o preenchimento do detalhe da solicitação:

this.envio.solicitacaoProcedimento = new ws_solicitacaoProcedimentoSolicitacaoProcedimento();
ct_guiaSolicitacaoSP_SADT guiaAux = new ct_guiaSolicitacaoSP_SADT();
guiaAux.identificacaoGuiaSolicitacaoSADTSP = new ct_cabecalhoSolicitacao();
guiaAux.identificacaoGuiaSolicitacaoSADTSP.registroANS = "000000";

guiaAux.dadosBeneficiario = new ct_beneficiario();
guiaAux.dadosBeneficiario.numeroCarteira = beneficiario;

guiaAux.dadosSolicitante = new ct_solicitante();
guiaAux.dadosSolicitante.contratado = new ct_contratado();
guiaAux.dadosSolicitante.contratado.identificacao = new ct_identificacaoPrestador();
guiaAux.dadosSolicitante.contratado.identificacao.Item = prestador;
guiaAux.dadosSolicitante.contratado.identificacao.ItemElementName = ItemChoiceType.codigoPrestadorNaOperadora;
guiaAux.dadosSolicitante.contratado.nomeContratado = "NOME DO PRESTADOR";
guiaAux.dadosSolicitante.profissional = new ct_identificacaoProfissional();
guiaAux.dadosSolicitante.profissional.conselhoProfissional = new ct_conselhoProfissional();
guiaAux.dadosSolicitante.profissional.conselhoProfissional.siglaConselho = st_conselhoProfissional.CRM;
guiaAux.dadosSolicitante.profissional.conselhoProfissional.numeroConselho = cRM;

guiaAux.dadosSolicitante.profissional.conselhoProfissional.ufConselho = st_UF.SP;
guiaAux.dadosSolicitante.profissional.nomeProfissional = "DR. GEORGE RICHARDSON";

guiaAux.caraterSolicitacao = (caraterSolic.Equals("E") ? st_eletivaEmergencia.E : st_eletivaEmergencia.U);
guiaAux.dataHoraSolicitacao = new DateTime(2008, 01, 30, 14, 00, 00);

guiaAux.Diagnostico = new ct_diagnostico();
guiaAux.Diagnostico.codigoDiagnostico = cID;
guiaAux.Diagnostico.nomeTabela = st_tabelasDiagnostico.CID10;

int qtd = 0;

for (int i = 0; i < procedimentos.Length; i++) {
    if (procedimentos[i] == null)
        break;
    qtd++;
}

guiaAux.procedimentosSolicitados = new ct_procedimentosSolicitadosProcedimentoSolicitado[qtd];

for (int i = 0; i < qtd; i++) {
    guiaAux.procedimentosSolicitados[i] = new ct_procedimentosSolicitadosProcedimentoSolicitado();
    guiaAux.procedimentosSolicitados[i].procedimento = new ct_tabela();
    guiaAux.procedimentosSolicitados[i].procedimento.codigo = procedimentos[i].procedimento.codigo;
    guiaAux.procedimentosSolicitados[i].procedimento.descricao = procedimentos[i].procedimento.descricao;
    guiaAux.procedimentosSolicitados[i].procedimento.tipoTabela = procedimentos[i].procedimento.tipoTabela;
    guiaAux.procedimentosSolicitados[i].quantidadeSolicitada = procedimentos[i].quantidadeSolicitada;
}
this.envio.solicitacaoProcedimento.Items = new object[1];
this.envio.solicitacaoProcedimento.Items[0] = guiaAux;


Ao término, efetuo o consumo do webService, da maneira abaixo:

this.resposta = new ws_autorizacaoProcedimento();
this.resposta = this.solicitaSADT.tissSolicitacaoProcedimento_Operation(this.envio);


Nesse momento recebo o seguinte erro:

O tipo ct_guiaSolicInternacao não era esperado. Use o atributo XmlInclude ou SoapInclude para especificar tipos que não são conhecidos estaticamente.


Alguém experimentou o mesmo erro?
Todas as sugestões são bem-vindas.

Obrigado! :lol:


Grichardson

Grichardson

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

31/01/2008

amigo desculpa, mas acho que o pessoal da moderação vai mover te tópico...


GOSTEI 0
POSTAR