Tiss C# Serialize e Deserialize
13/01/2009
0
Boa tarde,
Estou desenvolvendo um webservice que verifica a elegibilidade em C utilizando a versão 2.01.03.
Estou tendo problemas ao tentar usar o metódo Deserialize em um xml que criei.
Consigo serializar o xml de elegibilidade e não consigo deserializar o xml de resposta, apesar que fiz a validação do mesmo em um site e o validador disse que o xml esta correto.
Vejam os metódos que estou utilizando e o erro gerado.
//Serialize
public bool Serialize(object instance, string xmlFilePath)
{
bool serializou = false;
try
{
XmlSerializer serializar = new XmlSerializer(instance.GetType());
XmlTextWriter writer = new XmlTextWriter(xmlFilePath, Encoding.GetEncoding(´ISO-8859-1´));
writer.Formatting = Formatting.Indented;
XmlSerializerNamespaces serializarNamespace = new XmlSerializerNamespaces();
serializarNamespace.Add(´ans´, ´http://www.ans.gov.br/padroes/tiss/schemas´);
serializarNamespace.Add(´xsi´, ´http://www.w3.org/2001/XMLSchema-instance´);
serializarNamespace.Add(´xsd´, ´http://www.w3.org/2001/XMLSchema´);
serializar.Serialize(writer, instance, serializarNamespace);
writer.Close();
serializou = true;
}
catch (Exception erro)
{
region Escreve EventLog
StringBuilder strErro = new StringBuilder();
strErro.Append(erro.Message);
strErro.Append(erro.StackTrace);
clsEventLog.EscreveErro(strErro);
endregion
}
return serializou;
}
//Deserialize
public object Deserialize(Type type, string xmlFilePath)
{
object resposta = null;
try
{
FileStream fs = new FileStream(xmlFilePath, FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
XmlSerializer serializar = new XmlSerializer(type);
resposta = (Ws_respostaElegibilidade)serializar.Deserialize(reader);
fs.Close();
}
catch (Exception erro)
{
region Escreve EventLog
StringBuilder strErro = new StringBuilder();
strErro.Append(erro.Message);
strErro.Append(erro.StackTrace);
clsEventLog.EscreveErro(strErro);
endregion
}
return resposta;
}
O erro apresentado ao tentar executar o método Deserializer é o seguinte
There is an error in XML document (2, 2).
Obrigado a todos
Estou desenvolvendo um webservice que verifica a elegibilidade em C utilizando a versão 2.01.03.
Estou tendo problemas ao tentar usar o metódo Deserialize em um xml que criei.
Consigo serializar o xml de elegibilidade e não consigo deserializar o xml de resposta, apesar que fiz a validação do mesmo em um site e o validador disse que o xml esta correto.
Vejam os metódos que estou utilizando e o erro gerado.
//Serialize
public bool Serialize(object instance, string xmlFilePath)
{
bool serializou = false;
try
{
XmlSerializer serializar = new XmlSerializer(instance.GetType());
XmlTextWriter writer = new XmlTextWriter(xmlFilePath, Encoding.GetEncoding(´ISO-8859-1´));
writer.Formatting = Formatting.Indented;
XmlSerializerNamespaces serializarNamespace = new XmlSerializerNamespaces();
serializarNamespace.Add(´ans´, ´http://www.ans.gov.br/padroes/tiss/schemas´);
serializarNamespace.Add(´xsi´, ´http://www.w3.org/2001/XMLSchema-instance´);
serializarNamespace.Add(´xsd´, ´http://www.w3.org/2001/XMLSchema´);
serializar.Serialize(writer, instance, serializarNamespace);
writer.Close();
serializou = true;
}
catch (Exception erro)
{
region Escreve EventLog
StringBuilder strErro = new StringBuilder();
strErro.Append(erro.Message);
strErro.Append(erro.StackTrace);
clsEventLog.EscreveErro(strErro);
endregion
}
return serializou;
}
//Deserialize
public object Deserialize(Type type, string xmlFilePath)
{
object resposta = null;
try
{
FileStream fs = new FileStream(xmlFilePath, FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
XmlSerializer serializar = new XmlSerializer(type);
resposta = (Ws_respostaElegibilidade)serializar.Deserialize(reader);
fs.Close();
}
catch (Exception erro)
{
region Escreve EventLog
StringBuilder strErro = new StringBuilder();
strErro.Append(erro.Message);
strErro.Append(erro.StackTrace);
clsEventLog.EscreveErro(strErro);
endregion
}
return resposta;
}
O erro apresentado ao tentar executar o método Deserializer é o seguinte
There is an error in XML document (2, 2).
Obrigado a todos
Sauslash
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)