Problea al retornar un Array con webservice.net

Iniciado por apache_scrc, 19 Agosto 2010, 00:01 AM

0 Miembros y 1 Visitante están viendo este tema.

apache_scrc

Ola estimados, les cuento.. estoy trabajando en webservice .net y cree una funcion que me rescate dos valores, el problema es q necesito queen pantalla me los muestre de forma indepiendiente para asi poder trabajar con xml.
Si pongo el return anidado no tengo problema, pero si pongo el otro que deje especificado me tira un problema de conversion.
ojala puedan ayudarme!

Código (vbnet) [Seleccionar]
 <WebMethod()> _
 Public Function EnvioRUT(ByVal var As Integer) As String
   
       Using conn As New SqlConnection("data source =  ; initial catalog =  ; user id = ; password = ")
           'Dim var As Integer =
           ' Se debe escribir el nombre del SP (TestReturn) y el valor que este recibe (@Invalue)
           Using cmd As New SqlCommand("dbo.SP_DATOS")
               cmd.CommandType = CommandType.StoredProcedure
               cmd.Parameters.Add(New SqlParameter("@RUT", var))

       


               'El valor retorndo por el SP lo almacenamos en una variable (@Return_Value)
               Dim nombre As New SqlParameter("@NOMBRE", SqlDbType.Char, 18)
               nombre.Direction = ParameterDirection.Output
               cmd.Parameters.Add(nombre)

               Dim apellido As New SqlParameter("@APELLIDO", SqlDbType.Char, 20)
               apellido.Direction = ParameterDirection.Output
               cmd.Parameters.Add(apellido)

               conn.Open()

               cmd.Connection = conn
               cmd.ExecuteNonQuery()

       
               Dim retornar(1) As Integer

               retornar(0) = nombre.Value
               retornar(1) = apellido.Value

               'Return retornar(0) + retornar(1)
               Return retornar <-------------- problemas con este return

               conn.Close()
           End Using
       End Using

   End Function

raul338

Cita de: apache_scrc en 19 Agosto 2010, 00:01 AM
Ola estimados, les cuento.. estoy trabajando en webservice .net

Mal.... esto es vb6, en programacion general hay un subforo de .net

Segundo, porque quieres hacer el return solo? si la funcion tiene que devolver un string, porque devuelves un array?

apache_scrc

Citar
Mal.... esto es vb6, en programacion general hay un subforo de .net

Segundo, porque quieres hacer el return solo? si la funcion tiene que devolver un string, porque devuelves un array?

porque necesito recoger dos datos... si los devuelvo como string el xml que general el webservice me los reconocera como un valor.... en cambio si los devuelvo como array, me los deberia reconocer como independiente...

raul338

#3
Cita de: apache_scrc en 19 Agosto 2010, 00:01 AM
 <WebMethod()> _
 Public Function EnvioRUT(ByVal var As Integer) As String

Entonces deberias cambiar lo que esta en negrita por "As String()" o as array o lo que sea mas comodo, pero un array, lista, coleccion,etc en definitiva




Código (vbnet) [Seleccionar]
Dim retornar(1) As Integer

un consejo, siempre lo que devuelve la funcion, y lo que estas preparando para devolver con return, deben ser iguales  :silbar:

apache_scrc

vale compadre... tenia que poner as string() como me dijiste

y así el Return me reconoce que puedo devolver un vector.. :D