none
web service erro de serialização RRS feed

  • 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

    quinta-feira, 5 de junho de 2008 20:52

Respostas