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

parametros en WebMethods

Estas en el tema de parametros en WebMethods en el foro de .NET en Foros del Web. saludos! Tengo motivos para pensar que podría haber algún problema con pasando arrays como parametros a los métodos de un Servicio Web, y son los ...
  #1 (permalink)  
Antiguo 02/04/2009, 10:21
Avatar de Nihilistik  
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 4 meses
Puntos: 0
parametros en WebMethods

saludos!
Tengo motivos para pensar que podría haber algún problema con pasando arrays como parametros a los métodos de un Servicio Web, y son los siguientes:
- Cuando pruebas la página (depuración / llamada a través de URL), no puedes probar el método, e indica este aviso:
Cita:
"El formulario de prueba sólo está disponible para métodos con tipos primitivos como parámetros. "
tiene sentido dado que un campo si que puede equivaler a un TextBox, pero un Array no tiene ningún control directo.
----> En principio esto no es un error o algo que pudiera darlos, pero...

- cuando hago pruebas usando el método en codigo pero pasando los parametros, como en un array unidimiensional, no obtengo resultados, lo cual supone que ni siquiera a llegado al servidor, y el mismo método con mucho muchos parametros de tipo String si que sirve.

El motivo de mi post es ver si alguien puede ampliar esta información, o bien si me estoy equivocando directamente, en cuyo caso, disculpad las molestias.

Desde ya gracias a todos por vuestra atención!
  #2 (permalink)  
Antiguo 02/04/2009, 11:06
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: parametros en WebMethods

dale una vuelta a esto

http://msdn.microsoft.com/en-us/libr...dt(VS.80).aspx

ahi te mencionan que primitivos de .net son validos como parametros de array de tipos primitivos, lo mismo que arrays de objetos de una clase serializable.

PD: Puedes poner el webmethod (solo la firma: los parametros que retorna etc)
PD2: Puedes poner el codigo donde consumes el webmethod de tu webservice.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 03/04/2009, 02:57
Avatar de Nihilistik  
Fecha de Ingreso: diciembre-2008
Mensajes: 12
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: parametros en WebMethods

Saludos! Y gracias por contestar.

Esta es la función del WebService que no llega al servidor.
Código:
 
Public Function RequestGs(ByVal cnx() As String, _
   ByVal login() As String, ByVal request() As String) As String
        If gs.Connect(cnx(0), cnx(1)) = 0 Then
            If gs.Logon(login(0), login(1), login(2), login(3), login(4), login(5), login(6)) = 0 Then
                Return gs.rgsb(request(0), request(1), request(2))
            Else
                Return gs.GetLastErrorStr
            End If
        Else
            Return gs.GetLastErrorStr
        End If
End Function
Y esta es la que si llega al servidor:
Código:
 Public Function RequestGs2(ByVal ip As String, ByVal port As String, _
                            ByVal EmpresaGestora As String, ByVal User As String, _
                            ByVal PAss As String, ByVal Aplicacion As String, _
                            ByVal Ejercicio As String, ByVal login5 As String, _
                            ByVal login6 As String, ByVal accion As String, _
                            ByVal ventana As String, ByVal argum As String) As String
        If gs.Connect(ip, port) = 0 Then
            If gs.Logon(EmpresaGestora, User, PAss, Aplicacion, Ejercicio, login5, login6) = 0 Then
                Dim str As String = gs.rgsb(accion, ventana, argum)
                If str = "" Then
                    Dim errore As String = gs.GetLastErrorStr
                    If errore = "" Then
                        Return "No padre ni con errores"
                    Else
                        Return errore
                    End If
                Else
                    Return str
                End If
            Else
                Return "No padre Lgn"
            End If
        Else
            Return "No padre Cnx"
        End If
    End Function
Y aqui consumo el web service:
Código:
Dim arrayCnx() As String = {"Datos de conexión en 2 posiciones, 0 y 1"}
Dim arrayLgn() As String = {"Datos de Login en un array de 7 posiciones, de 0 a 6"}
Dim Request() As String = {"Datos de de intercambio de Info con el Servidor en 3 posiciones"}

        Dim resultados As String
        Dim resultados2 As String

resultados = gs.RequestGs(arrayCnx, arrayLgn, Request)
resultados2 = gs.RequestGs2(arrayCnx(0), arrayCnx(1), arrayLgn(0), _
        arrayLgn(1), arrayLgn(2), arrayLgn(3), arrayLgn(4), _
        arrayLgn(5), arrayLgn(6), Request(0), Request(1), Request(2))

If resultados = "" Then MsgBox(gs.ErrorBack) Else MsgBox(resultados)
If resultados2 = "" Then MsgBox(gs.ErrorBack) Else MsgBox(resultados2)
Resultados no devuelve nada de nada, ni sikiera gs.Error, por lo que entiendo que no llega al servidor, resultando en un webservice mal diseñado.
REsultados2 si que llega al servidor y aunque luego alli el programa con el que conecto me devuelve un error, si que llega tanto gs.REquestgs como gsErrorBack.

¿Alguna idea de porque?

Muchas gracias.

P.D.: Leyendome el link, gracias PeterPay. ^_^
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




La zona horaria es GMT -6. Ahora son las 04:40.