Principales respuestas
No aparece Lista en WSDL

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
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
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- Editado Leandro TuttiniMVP jueves, 3 de diciembre de 2015 16:56
-
-
[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