Foros del Web » Programación para mayores de 30 ;) » .NET »

crear arreglo

Estas en el tema de crear arreglo en el foro de .NET en Foros del Web. Hola a todos necesito de su ayuda estoy aprendiendo a hacer servicios web y haciendo ejercicios me encontre con un problema tengo este codigo que ...
  #1 (permalink)  
Antiguo 27/05/2005, 14:15
Avatar de Jackpat  
Fecha de Ingreso: noviembre-2004
Mensajes: 55
Antigüedad: 20 años, 3 meses
Puntos: 0
Exclamación crear arreglo

Hola a todos necesito de su ayuda estoy aprendiendo a hacer servicios web y haciendo ejercicios me encontre con un problema tengo este codigo que les puse abajo y cuando lo quiero ejecutar me arroja un error y quisiera saber si me pueden ayudar a corregir ese error la linea en donde me arroja el error esta en el webmethod con la funcion vercontacto que es del tipo contacto y es en el return que me arroja el error return y el error es : Demasiados argumentos para 'Public Sub New()'., ojala me puedan ayudar de antemano grax .

Código PHP:
Imports System.Web
Imports System
.Web.Services
Imports System
.Web.Services.Protocols

<WebService(Namespace:="http://tempuri.org/webservice/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class Ojala
    Inherits System
.Web.Services.WebService
    
Public Arreglo As New Contacto
    
Public Sub Ojala()

    
End Sub

    
<WebMethod()> _
    
Public Function Suma(ByVal a As IntegerByVal b As Integer) As Integer
        
Return b
    End 
Function
   <
WebMethod()> _
    
Public Function vercontacto() As Contacto()
        Return New 
Contacto() {New Contacto("Alexis Reátegui""[email protected]""5552266"), New Contacto("Jorge Oblitas""[email protected]""4444466"), New Contacto("Sergio Victorio""[email protected]""3333366"), New Contacto("Guino Henostroza""[email protected]""4564433"), New Contacto("Daniel Seara""[email protected]""9987667")}
    
End Function
End Class
Public Class 
Contacto
    Inherits System
.Web.Services.WebService
    
Public Nombre As String
    
Public Email As String
    
Public Telefono As String

    
Public Sub Contacto()

    
End Sub

    
Public Sub Contacto(ByVal nombre As StringByVal email As StringByVal fono As String)
        
nombre nombre
        email 
email
        Telefono 
fono
    End Sub
End 
Class 
__________________
No abras los labios si no estás seguro de lo que vas a decir, es más hermoso que el silencio.
  #2 (permalink)  
Antiguo 27/05/2005, 15:11
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 20 años, 5 meses
Puntos: 2
Creo que el error es que le estás mandando parámetros de más al constructor de tu clase Contactos. Check it out friend.
  #3 (permalink)  
Antiguo 27/05/2005, 16:47
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
No has declarado tu constructor de forma correcta friend..
sería así:

Cita:
Public Class Contacto
Inherits System.Web.Services.WebService
Public Nombre As String
Public Email As String
Public Telefono As String

Public Sub New()

End Sub

Public Sub New(ByVal nombre As String, ByVal email As String, ByVal fono As String)
nombre = nombre
email = email
Telefono = fono
End Sub
End Class
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 31/05/2005, 07:06
Avatar de Jackpat  
Fecha de Ingreso: noviembre-2004
Mensajes: 55
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias (necesito mas ayuda)

Hola gracias friend, tenias razon no estaba declarado de forma correcta el constructor y le ise las correcciones que me indicaron, pero ahora tengo otro problema referente al mismo codigo que tengo arriba al ejecutar la pagina me muestra el siguiente error:

Error de servidor en la aplicación '/PService'
--------------------------------------------------------------------------------

No se puede serializar la propiedad 'Site' del tipo 'System.ComponentModel.MarshalByValueComponent' porque está decorada con atributos de permisos de seguridad declarativa. Intente utilizar aserciones imperativas o peticiones en los descriptores de acceso a propiedad.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

Detalles de la excepción: System.InvalidOperationException: No se puede serializar la propiedad 'Site' del tipo 'System.ComponentModel.MarshalByValueComponent' porque está decorada con atributos de permisos de seguridad declarativa. Intente utilizar aserciones imperativas o peticiones en los descriptores de acceso a propiedad.

Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Seguimiento de la pila:


[InvalidOperationException: No se puede serializar la propiedad 'Site' del tipo 'System.ComponentModel.MarshalByValueComponent' porque está decorada con atributos de permisos de seguridad declarativa. Intente utilizar aserciones imperativas o peticiones en los descriptores de acceso a propiedad.]
System.Xml.Serialization.StructModel.CheckProperty (PropertyInfo propertyInfo, Type type) +512
System.Xml.Serialization.StructModel.GetPropertyMo del(PropertyInfo propertyInfo) +82
System.Xml.Serialization.StructModel.GetFieldModel (MemberInfo memberInfo) +148
System.Xml.Serialization.XmlReflectionImporter.Imp ortStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +2403
System.Xml.Serialization.XmlReflectionImporter.Imp ortStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +1570
System.Xml.Serialization.XmlReflectionImporter.Imp ortStructLikeMapping(StructModel model, String ns, Boolean openModel, XmlAttributes a) +1570
System.Xml.Serialization.XmlReflectionImporter.Imp ortTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +2080

[InvalidOperationException: Error al reflejar el tipo 'Contacto'.]
System.Xml.Serialization.XmlReflectionImporter.Imp ortTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a, Boolean repeats, Boolean openModel) +2716
System.Xml.Serialization.XmlReflectionImporter.Imp ortTypeMapping(TypeModel model, String ns, ImportContext context, String dataType, XmlAttributes a) +50
System.Xml.Serialization.XmlReflectionImporter.Cre ateArrayElementsFromAttributes(ArrayMapping arrayMapping, XmlArrayItemAttributes attributes, Type arrayElementType, String arrayElementNs) +471
System.Xml.Serialization.XmlReflectionImporter.Imp ortArrayLikeMapping(ArrayModel model, String ns) +381
System.Xml.Serialization.XmlReflectionImporter.Imp ortAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel) +9908
System.Xml.Serialization.XmlReflectionImporter.Imp ortMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel) +1714
System.Xml.Serialization.XmlReflectionImporter.Imp ortMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel) +291

[InvalidOperationException: Error al reflejar 'vercontactoResult'.]
System.Xml.Serialization.XmlReflectionImporter.Imp ortMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel) +1042
System.Xml.Serialization.XmlReflectionImporter.Imp ortMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) +183
System.Web.Services.Protocols.SoapReflector.Import MembersMapping(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) +202
System.Web.Services.Protocols.SoapReflector.Reflec tMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +3514

[InvalidOperationException: No se puede reflejar el método Ojala.vercontacto.]
System.Web.Services.Protocols.SoapReflector.Reflec tMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +6781
System.Web.Services.Description.SoapProtocolReflec tor.ReflectMethod() +127
System.Web.Services.Description.ProtocolReflector. ReflectBinding(ReflectedBinding reflectedBinding) +2782
System.Web.Services.Description.ProtocolReflector. Reflect() +718
System.Web.Services.Description.ServiceDescription Reflector.ReflectInternal(ProtocolReflector[] reflectors) +621
System.Web.Services.Description.ServiceDescription Reflector.Reflect(Type type, String url) +117
System.Web.Services.Protocols.DocumentationServerT ype..ctor(Type type, String uri) +202
System.Web.Services.Protocols.DocumentationServerP rotocol.Initialize() +353
System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +99

[InvalidOperationException: No se puede administrar la solicitud.]
System.Web.Services.Protocols.ServerProtocolFactor y.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +260
System.Web.Services.Protocols.WebServiceHandlerFac tory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +90

[InvalidOperationException: No se pudo administrar la solicitud.]
System.Web.Services.Protocols.WebServiceHandlerFac tory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +237
System.Web.Services.Protocols.WebServiceHandlerFac tory.GetHandler(HttpContext context, String verb, String url, String filePath) +114
System.Web.HttpApplication.MapHttpHandler(HttpCont ext context, String requestType, String path, String pathTranslated, Boolean useAppConfig) +748
System.Web.MapHandlerExecutionStep.System.Web.Http Application.IExecutionStep.Execute() +183
System.Web.HttpApplication.ExecuteStep(IExecutionS tep step, Boolean& completedSynchronously) +191


Ojala me puedan ayudar nuevamente, de antemano como siempre muchas gracias, aca les pongo nuevamente el codigo, con las correcciones que le ise para que lo vean y me puedan ayudar, hasta pronto......

Código PHP:
Imports System.Web
Imports System
.Web.Services

<WebService(Namespace:="http://tempuri.org/webservice/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
Public Class Ojala
    Inherits System
.Web.Services.WebService
    
Public Arreglo As New Contacto
    
Public Sub Ojala()

    
End Sub

    
<WebMethod()> _
    
Public Function Suma(ByVal a As IntegerByVal b As Integer) As Integer
        
Return b
    End 
Function
    <
WebMethod()> _
    
Public Function vercontacto() As Contacto()
        Return New 
Contacto() {New Contacto("Alexis Reátegui""[email protected]""5552266"), New Contacto("Jorge Oblitas""[email protected]""4444466"), New Contacto("Sergio Victorio""[email protected]""3333366"), New Contacto("Guino Henostroza""[email protected]""4564433"), New Contacto("Daniel Seara""[email protected]""9987667")}
    
End Function
End Class
Public Class 
Contacto
    Inherits System
.Web.Services.WebService
    
Public Nombre As String
    
Public Email As String
    
Public Telefono As String

    
Public Sub New()

    
End Sub

    
Public Sub New(ByVal nombre As StringByVal email As StringByVal fono As String)
        
nombre nombre
        email 
email
        Telefono 
fono
    End Sub
End 
Class 
__________________
No abras los labios si no estás seguro de lo que vas a decir, es más hermoso que el silencio.
  #5 (permalink)  
Antiguo 31/05/2005, 18:04
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 20 años, 1 mes
Puntos: 7
IMHO tu clase Contacto está mal definida, estás heredando de System.Web.Services.WebService; me pregunto yo, con qué objetivo?

Para que puedas utilizar tu clase debes utilizar el atributo Serializable, si quieres personalizar la forma en que ésta será serializada puedes ver la documentación de System.Xml.Serialization:
Código:
<Serializable()>Public Class Contacto
    Public Nombre As String
    Public Email As String
    Public Telefono As String

    Public Sub New()

    End Sub

    Public Sub New(ByVal nombre As String, ByVal email As String, ByVal fono As String)
        nombre = nombre
        email = email
        Telefono = fono
    End Sub
End Class
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:41.