Usuário com melhor resposta
web service erro de serialização

Pergunta
-
galero tenho um problema,
tenho esta clsse mais na hora de rodar o web service recebo o seguinte erro:
using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Data;
using System.Data.Common;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace DALMTime
{
[Serializable]
public class FaturaPessoa
{
private List<DALMTime.Documento> arrDocumentos;
private List<DALMTime.Endereco> arrEnderecos;
private List<DALMTime.GrupoItem> arrGrupos;
private List<DALMTime.MeioContato> arrMeiosContato;
private int ctPessoa;
private string cdFaixaContribuicao = string.Empty;
private string cdPessoa = string.Empty;
private string strNome = string.Empty;
private string strValorContribuicao = string.Empty;
private string strValorFaixaContribuicao = string.Empty;
/// <summary>
/// Lista de documentos pertencentes a pessoa
/// </summary>
public List<DALMTime.Documento> ListaDocumentos
{
get { return arrDocumentos; }
set { arrDocumentos = value; }
}
/// <summary>
/// Lista de enderecos da pessoa
/// </summary>
public List<DALMTime.Endereco> ListaEnderecos
{
get { return arrEnderecos; }
set { arrEnderecos = value; }
}
/// <summary>
/// Lista dos grupos aos quais a pessoa está relacionada
/// </summary>
public List<DALMTime.GrupoItem> ListaGrupos
{
get { return arrGrupos; }
set { arrGrupos = value; }
}
/// <summary>
/// Lista dos meios de contato da pessoa
/// </summary>
public List<DALMTime.MeioContato> ListaMeiosContato
{
get { return arrMeiosContato; }
set { arrMeiosContato = value; }
}
/// <summary>
/// Codigo da pessoa derado pelo Mtime
/// </summary>
public int CodigoPessoa
{
get { return ctPessoa; }
set { ctPessoa = value; }
}
/// <summary>
/// Codigo da faixa de contribuicao na qual a pessoa se encaixa
/// </summary>
public string CodigoFaixaContribuicao
{
get { return cdFaixaContribuicao; }
set { cdFaixaContribuicao = value; }
}
/// <summary>
/// Codigo do sistema legado pertencente a pessoa
/// </summary>
public string CodigoLegadoPessoa
{
get { return cdPessoa; }
set { cdPessoa = value; }
}
/// <summary>
/// Nome da pessoa que esta sendo faturada
/// </summary>
public string Nome
{
get { return strNome; }
set { strNome = value; }
}
/// <summary>
/// Valor da contribuicao especial
/// </summary>
public string ValorContribuicao
{
get { return strValorContribuicao; }
set { strValorContribuicao = value; }
}
//Valor da faixa de contribuicao a qual a pessoa esta relacionada
public string ValorFaixaContribuicao
{
get { return strValorFaixaContribuicao; }
set { strValorFaixaContribuicao = value; }
}
/// <summary>
/// Método que lista os dados de uma unica pessoa para emissão da fatura
/// </summary>
/// <param name="intCodigoPessoa">Código MTime da pessoa a ser faturada</param>
/// <returns>Retorna os dados da pessoa a ser faturada</returns>
public FaturaPessoa FaturarPessoa(int intCodigoPessoa)
{
try
{
Pessoa objPessoa = new Pessoa();
objPessoa = Pessoa.GetPessoa(intCodigoPessoa);
FaturaPessoa objFaturaPessoa = new FaturaPessoa();
if (objPessoa != null)
{
objFaturaPessoa.LoadFatPessoa(objPessoa);
}
return objFaturaPessoa;
}
catch (Exception ex)
{
throw;
}
}
/// <summary>
/// Método que lista os dados para a fatura de pessoas
/// </summary>
/// <param name="strCodigoGrupo">Código do grupo a ser faturado</param>
/// <returns>Este método retorna uma lista com as pessoas e seus respectivos dados para emissão de fatura</returns>
public List<FaturaPessoa> FaturarGrupo(string strCodigoGrupo)
{
try
{
List<FaturaPessoa> objLstFatPessoa = new List<FaturaPessoa>();
List<Pessoa> objLstPessoa = new List<Pessoa>();
objLstPessoa = Pessoa.GetPessoasPorGrupo(strCodigoGrupo);
if (objLstPessoa.Count > 0)
{
foreach (Pessoa objPessoa in objLstPessoa)
{
objLstFatPessoa.Add(LoadFatPessoa(objPessoa));
}
}
return objLstFatPessoa;
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// Método que popula um objeto FaturaPessoa
/// </summary>
/// <param name="objPessoa">Objeto com as informacoes da pessoa</param>
/// <returns>Retorna um objeto com as informacoes da pessoa a serem faturadas</returns>
private FaturaPessoa LoadFatPessoa(Pessoa objPessoa)
{
try
{
FaturaPessoa objFaturaPessoa = new FaturaPessoa();
objFaturaPessoa.CodigoPessoa = objPessoa.Codigo;
objFaturaPessoa.CodigoLegadoPessoa = objPessoa.CodigoPessoa;
objFaturaPessoa.Nome = objPessoa.Nome;
objFaturaPessoa.ListaDocumentos = objPessoa.arrDocumento;
objFaturaPessoa.ListaMeiosContato = objPessoa.arrMeiosContato;
objFaturaPessoa.ListaEnderecos = objPessoa.arrEndereco;
objFaturaPessoa.ListaGrupos = objPessoa.arrGrupo;
objFaturaPessoa.ValorContribuicao = objPessoa.assAssociado.ValorEspecial;
//TODO:Verificar o campo valor da faixa de contribuicao
objFaturaPessoa.ValorFaixaContribuicao = objPessoa.assAssociado.Contribuicao;
return objFaturaPessoa;
}
catch (Exception ex)
{
throw;
}
}
}
}
Erro de Servidor no Aplicativo '/'.
Não é possível serializar o membro System.ComponentModel.Component.Site do tipo System.ComponentModel.ISite porque ele é uma interface.
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.NotSupportedException: Não é possível serializar o membro System.ComponentModel.Component.Site do tipo System.ComponentModel.ISite porque ele é uma interface.
Erro de Origem:
Exceção não tratada foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo.
Rastreamento de Pilha:
[NotSupportedException: Não é possível serializar o membro System.ComponentModel.Component.Site do tipo System.ComponentModel.ISite porque ele é uma interface.]
[InvalidOperationException: Não é possível serializar o membro 'System.ComponentModel.Component.Site' do tipo 'System.ComponentModel.ISite'. Consulte a exceção interna para obter mais detalhes.]
System.Xml.Serialization.StructModel.CheckSupportedMember(TypeDesc typeDesc, MemberInfo member, Type type) +895476
System.Xml.Serialization.StructModel.GetPropertyModel(PropertyInfo propertyInfo) +127
System.Xml.Serialization.StructModel.GetFieldModel(MemberInfo memberInfo) +118
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +1824
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +848
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +638
[InvalidOperationException: Erro ao refletir tipo 'System.Data.Common.DbConnection'.]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +1533
System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel) +9747
System.Xml.Serialization.XmlReflectionImporter.ImportFieldMapping(StructModel parent, FieldModel model, XmlAttributes a, String ns) +136
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +1871
[InvalidOperationException: Erro ao refletir propriedade 'Conexao'.]
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +2740
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +848
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +638
[InvalidOperationException: Erro ao refletir tipo 'DALMTime.Documento'.]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +1533
System.Xml.Serialization.XmlReflectionImporter.CreateArrayElementsFromAttributes(ArrayMapping arrayMapping, XmlArrayItemAttributes attributes, Type arrayElementType, String arrayElementNs) +283
System.Xml.Serialization.XmlReflectionImporter.ImportArrayLikeMapping(ArrayModel model, String ns) +315
System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel) +5986
System.Xml.Serialization.XmlReflectionImporter.ImportFieldMapping(StructModel parent, FieldModel model, XmlAttributes a, String ns) +136
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +1871
[InvalidOperationException: Erro ao refletir propriedade 'ListaDocumentos'.]
System.Xml.Serialization.XmlReflectionImporter.ImportStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +2740
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +638
[InvalidOperationException: Erro ao refletir tipo 'DALMTime.FaturaPessoa'.]
System.Xml.Serialization.XmlReflectionImporter.ImportTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +1533
System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel) +9747
System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel) +977
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel) +278
[InvalidOperationException: Erro ao refletir 'FaturarPessoaResult'.]
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel) +877
System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) +111
System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate, Boolean openModel, String key, Boolean writeAccess) +203
System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +3596
[InvalidOperationException: O método WSMMI.FaturarPessoa não pode ser refletido.]
System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +6904
System.Web.Services.Description.SoapProtocolReflector.ReflectMethod() +133
System.Web.Services.Description.ProtocolReflector.ReflectBinding(ReflectedBinding reflectedBinding) +2760
System.Web.Services.Description.ProtocolReflector.Reflect() +739
System.Web.Services.Description.ServiceDescriptionReflector.ReflectInternal(ProtocolReflector[] reflectors) +621
System.Web.Services.Description.ServiceDescriptionReflector.Reflect(Type type, String url) +117
System.Web.Services.Protocols.DocumentationServerType..ctor(Type type, String uri) +159
System.Web.Services.Protocols.DocumentationServerProtocol.Initialize() +342
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +99
[InvalidOperationException: Não é possível lidar com a solicitação.]
System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +258
System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +90
[InvalidOperationException: Falha ao manipular a solicitação.]
System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +237
System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) +104
System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +175
System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +120
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
Informações sobre a Versão: Microsoft .NET Framework Versão:2.0.50727.312; Versão do ASP.NET:2.0.50727.833
Respostas
-
Bota ae a declaração do webservice tambem.
[]´s
- Marcado como Resposta Levi DomingosModerator domingo, 14 de novembro de 2010 22:13