Principales respuestas
DESEO LLENAR UN GRIDVIEW CON UN WEB SERVICE DE SAP

Pregunta
-
Estimados
muy buenas tardes, un gusto saludarlos, tengo un problema al momento de llenar un GridView con un servicio web sap desde vb, estoy usando web reference por las credenciales, aun no logro llenar el gridview con la información del servicio, , por favor es posible me pueden apoyar con alguna sugerencia, agrego el codigo que estoy usando.
Public Class inicio
Inherits System.Web.UI.Page
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ws4 As New WRefConsultaDoc.ZWSCONSULTAEDOCS
Dim rpt4 As New WRefConsultaDoc.ZListaEdocumentsClienteResponse
Dim Recibo As New WRefConsultaDoc.ZListaEdocumentsCliente
Dim ZListaEdocumentsCliente As New WRefConsultaDoc.ZListaEdocumentsCliente
Dim eMensajes As New WRefConsultaDoc.ZmessOut
Dim teReturn As New ProyCondumoDoc2.WRefConsultaDoc.ZpartidasDeudor
Dim listteReturn(2) As ProyCondumoDoc2.WRefConsultaDoc.ZpartidasDeudor
Dim sociedad As String
Dim ejercicio As Integer
Dim periodo As Integer
Dim ruc As String
sociedad = txtsociedad.Text
ejercicio = Convert.ToInt16(txtejercicio.Text)
periodo = Convert.ToInt16(txtmes.Text)
ruc = txtruc.Text
Recibo.IBukrs = sociedad
Recibo.IGjahr = ejercicio
Recibo.IMonat = periodo
Recibo.IStcd1 = ruc
listteReturn(2) = teReturn
Recibo.TEdocs = listteReturn
ws4.Credentials = New System.Net.NetworkCredential("X", "X")
rpt4 = ws4.ZListaEdocumentsCliente(Recibo)
' '''''''' Desde aqui deseo consumir el servicio, pero aun no es posible.
'''' alternativa 1
Dim docu As New List(Of documentos)
docu = ws4.ZListaEdocumentsCliente(Recibo)''' me muestra el error: "Un valor de tipo ZListaEdocumentsClienteReponse no se puede convertir a tipo List(documentos). "
''''' alternativa 2
dgvdatos.DataSource = ws4.ZListaEdocumentsCliente(Recibo)'' Aqui me muestra un error: "el origen de datos no es un tipo valido, debe ser IListSource, IEnumerable o IDataSource. "
End Sub
End ClassAdicionalmente se creo el entity para la lista.
Public Class documentos
Private _bukr As String
Private _belnr As String
Private _gjah As String
Private _xblnr As String
Private _wrbtr As String
Private _waers As String
Private _bldat As StringPublic Property bukr() As String
Get
Return _bukr
End Get
Set(ByVal value As String)
If value.GetType.ToString = "System.DBNull" Then
value = ""
End If
_bukr = value
End Set
End Propertyend class
Para llenar el gridview estaba revisando las dos alternativas que muestro, por favor cual es la que debo seguir o si debo utilizar otro codigo para llenar el gridview con el web service.
Muchas gracias por su tiempo y apoyo.
Saludos
Luis Angel
Respuestas
-
Acabo de agregar las lineas:
Dim dt As New DataTable
Dim ds As New DataSet
ds = ws4.ZListaEdocumentsCliente(Recibo)Me muestra el error: un valor de tipo ZListaEdocumentsClienteResponse no se puede convertir el System.data.dataset.
favor, si me pueden apoyar donde me estoy equivocando.
Muchas gracias.
Saludos
Luis Angel
- Marcado como respuesta Pablo Rubio lunes, 20 de agosto de 2018 16:07
Todas las respuestas
-
Acabo de agregar las lineas:
Dim dt As New DataTable
Dim ds As New DataSet
ds = ws4.ZListaEdocumentsCliente(Recibo)Me muestra el error: un valor de tipo ZListaEdocumentsClienteResponse no se puede convertir el System.data.dataset.
favor, si me pueden apoyar donde me estoy equivocando.
Muchas gracias.
Saludos
Luis Angel
- Marcado como respuesta Pablo Rubio lunes, 20 de agosto de 2018 16:07
-
Hola Luis Angell:
Cuando desde visual studio tienes enganchado el WebService
ws4.ZListaEdocumentsCliente
al pulsar el .para buscar los métodos que te ofrece el mismo para consumo, donde estará ZListaEdocumentsCliente
donde intellisense te saca una lista de métodos y puedes escoger este, si te pones encima, te muestra a la derecha lo que devuelve el servicio web. Algo así como
DataSet nombreServicio.ZListaEdocumentsCliente(parámetros que necesita)
Con la firma de este método, ya sabes lo que tienes que construir, porque eso te lo rellenará el método.
Espero te ayude.
Un saludo
-
-