Xmldocument + Webservice + Delphi 7
Salve galera, tudo beleza?
Estou desenvolvendo um WebService em Delphi que que recebe um XML como parâmetro de entrada, contendo algumas informações.
Dentro do WebService utilizo o seguinte código para carregar os dados do XML:
(* Carrega os dados de entrada no StringList *)
sArquivo := TStringList.Create;
sArquivo.Add( pDadosAcesso ); // aqui vem meu XML
(* Salva os dados de entrada no Stream *)
Stream := TMemoryStream.Create;
sArquivo.SaveToStream( Stream );
(* Carrega os dados do XML de entrada *)
XMLDocument := TXMLDocument.Create( Nil );
XMLDocument.LoadFromStream( Stream );
XMLNode := XMLDocument.DocumentElement.ChildNodes.FindNode('dados_acesso');
Quando chega na linha: XMLNode := XMLDocument.DocumentElement.ChildNodes.FindNode('dados_acesso'); o esquema dá Acess Violation !!!!
Engraçado é que se antes dessa linha mandar salvar o XML em disco eu consigo e boa !!
Um coisa que notei é que o problema esta na criação do componente, porque realizando o mesmo texto em uma aplicação normal, trocando o
TXMLDocument.Create( Nil ); por TXMLDocument.Create( Self ); o esquema funciona, porém, não tenho essa opção no WebService.
Alguém já passou por isso??
Abs;
Estou desenvolvendo um WebService em Delphi que que recebe um XML como parâmetro de entrada, contendo algumas informações.
Dentro do WebService utilizo o seguinte código para carregar os dados do XML:
(* Carrega os dados de entrada no StringList *)
sArquivo := TStringList.Create;
sArquivo.Add( pDadosAcesso ); // aqui vem meu XML
(* Salva os dados de entrada no Stream *)
Stream := TMemoryStream.Create;
sArquivo.SaveToStream( Stream );
(* Carrega os dados do XML de entrada *)
XMLDocument := TXMLDocument.Create( Nil );
XMLDocument.LoadFromStream( Stream );
XMLNode := XMLDocument.DocumentElement.ChildNodes.FindNode('dados_acesso');
Quando chega na linha: XMLNode := XMLDocument.DocumentElement.ChildNodes.FindNode('dados_acesso'); o esquema dá Acess Violation !!!!
Engraçado é que se antes dessa linha mandar salvar o XML em disco eu consigo e boa !!
Um coisa que notei é que o problema esta na criação do componente, porque realizando o mesmo texto em uma aplicação normal, trocando o
TXMLDocument.Create( Nil ); por TXMLDocument.Create( Self ); o esquema funciona, porém, não tenho essa opção no WebService.
Alguém já passou por isso??
Abs;
Carlos Souza
Curtidas 0