none
No aparece Lista en WSDL RRS feed

  • Pregunta

  • Estoy definiendo un servicio en .asmx (ya se que es antiguo pero es un prototipo)

    Tengo la siguiente clase

    namespace WsTE1DtoEE
    {
        [DataContract]
        public class Representante
        {
            [DataMember]
            public string RepresentRut{ get; set; }
            [DataMember]
            public string RepresentDv{ get; set; }
            [DataMember]
            public string RepresentNombre{ get; set; }
            [DataMember]
            public string RepresentPaterno{ get; set; }
            [DataMember]
            public string RepresentMaterno{ get; set; }
            [DataMember]
            public string RepresentEmail{ get; set; }
            [DataMember]
            public int idTipoRepres{ get; set; }
            [DataMember]
            public string TipoRepresentante{ get; set; }
        }
    
        [DataContract]
        public class Empresa
        {
            [DataMember]
            public int RutSociedad{ get; set; }
            [DataMember]
            public string DvSociedad{ get; set; }
            [DataMember]
            public string RazonSocial{ get; set; }
            [DataMember]
            public string NombreFanasia{ get; set; }
            [DataMember]
            public string idTipoSociedad{ get; set; }
            [DataMember]
            public string TipoSociedad{ get; set; }
            [DataMember]
            public string ObjetoSocial{ get; set; }
            [DataMember]
            public string DomSocialCalle{ get; set; }
            [DataMember]
            public string DomSocialNumero{ get; set; }
            [DataMember]
            public string DomSocialBloque{ get; set; }
            [DataMember]
            public string DomSocialDepto{ get; set; }
            [DataMember]
            public string DomSocialVilla{ get; set; }
            [DataMember]
            public string DomSocialCiudad{ get; set; }
            [DataMember]
            public int DomSocialidComuna{ get; set; }
            [DataMember]
            public int DomSocialNomComuna{ get; set; }
            [DataMember]
            public string DomTributCalle{ get; set; }
            [DataMember]
            public string DomTributNumero{ get; set; }
            [DataMember]
            public string DomTributBloque{ get; set; }
            [DataMember]
            public string DomTributDepto{ get; set; }
            [DataMember]
            public string DomTributVilla{ get; set; }
            [DataMember]
            public string DomTributCiudad{ get; set; }
            [DataMember]
            public int DomTributidComuna{ get; set; }
            [DataMember]
            public int DomTributNomComuna{ get; set; }
            [DataMember]
            List<Representante> ListRepresentantes { get; set; }
        }
    
    
        public class EEFilter
        {
            [DataMember]
            public int RutSociedad{ get; set; }
            [DataMember]
            public string DvSociedad{ get; set; }
            [DataMember]
            public string RazonSocial{ get; set; }
            [DataMember]
            public int DomSocialComuna{ get; set; }
            [DataMember]
            public int DomTributComuna{ get; set; }
    
        }
    
        public class ResultCommit
        {
            [DataMember]
            public int RetCode{ get; set; }
            [DataMember]
            public string RetMsg{ get; set; }
    
            public ResultCommit ()
            {
                RetCode = 1;
                RetMsg = "xx";
            }
        }
    }

    y la definición del servicio asi

            [WebMethod]
            public List<Empresa> GetEmpresas(EEFilter Filtro)
            {
    
                return new List<Empresa>();
            }

    cuando lo publico e invoco, el wsdl no me muestra la definición de la lista de Representantes, dentro de la empresa

    -<s:element name="GetEmpresasResponse">
    
    
    -<s:complexType>
    
    
    -<s:sequence>
    
    <s:element name="GetEmpresasResult" type="tns:ArrayOfEmpresa" maxOccurs="1" minOccurs="0"/>
    
    </s:sequence>
    
    </s:complexType>
    
    </s:element>
    
    
    -<s:complexType name="ArrayOfEmpresa">
    
    
    -<s:sequence>
    
    <s:element name="Empresa" type="tns:Empresa" maxOccurs="unbounded" minOccurs="0" nillable="true"/>
    
    </s:sequence>
    
    </s:complexType>
    
    
    -<s:complexType name="Empresa">
    
    
    -<s:sequence>
    
    <s:element name="RutSociedad" type="s:int" maxOccurs="1" minOccurs="1"/>
    
    <s:element name="DvSociedad" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="RazonSocial" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="NombreFanasia" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="idTipoSociedad" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="TipoSociedad" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="ObjetoSocial" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialCalle" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialNumero" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialBloque" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialDepto" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialVilla" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialCiudad" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomSocialidComuna" type="s:int" maxOccurs="1" minOccurs="1"/>
    
    <s:element name="DomSocialNomComuna" type="s:int" maxOccurs="1" minOccurs="1"/>
    
    <s:element name="DomTributCalle" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributNumero" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributBloque" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributDepto" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributVilla" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributCiudad" type="s:string" maxOccurs="1" minOccurs="0"/>
    
    <s:element name="DomTributidComuna" type="s:int" maxOccurs="1" minOccurs="1"/>
    
    <s:element name="DomTributNomComuna" type="s:int" maxOccurs="1" minOccurs="1"/>
    
    </s:sequence>
    
    </s:complexType>

    que me falta?

    Saludos desde ya

    David


    Saludos David

    jueves, 3 de diciembre de 2015 16:42

Respuestas

  •         [DataMember]
            List<Representante> ListRepresentantes { get; set; }

    Gracias Leandro

    El problema era que no tenía public antes de List<Representante> ListRepresentantes { get; set; }

    ;(

    David


    Saludos David

    • Marcado como respuesta Dpozo jueves, 3 de diciembre de 2015 18:09
    jueves, 3 de diciembre de 2015 18:08

Todas las respuestas

  • hola

    >>Estoy definiendo un servicio en .asmx

    pero si defines [DataContract] y [DataMember] eso es de WCF no de erb service con asmx, no hace falta esos atributos

    solo los defines si usas WCF

    >>cuando lo publico e invoco, el wsdl no me muestra la definición de la lista de Representantes, dentro de la empresa

    porque puede que no este en el wsdl sino que este cra otro archivos de schema de datos con extension .xsd

    si en el browser defines la url como ser

    http://sitio/servicio.asmx?wsdl

    podrias analizar el wsd y ver si este hace referencia en el xml a otros archivos, porque define por separado los objetos de datos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 3 de diciembre de 2015 16:56
  • revisa sino aparece algo como ser

    imagen

    el atributo de schemaLocation

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 3 de diciembre de 2015 16:59
  •         [DataMember]
            List<Representante> ListRepresentantes { get; set; }

    Gracias Leandro

    El problema era que no tenía public antes de List<Representante> ListRepresentantes { get; set; }

    ;(

    David


    Saludos David

    • Marcado como respuesta Dpozo jueves, 3 de diciembre de 2015 18:09
    jueves, 3 de diciembre de 2015 18:08