Webservice que devuelva JSON desde un BoRecordset


#1

Hola compañeros, buenos días.

Estoy desarrollando un web service en VB.NET implementando la DI AP y necesito poder convertir un BoRecordset en algún tipo de objeto que se serialice para devolver un JSON.

Muchas gracias por vuestra ayuda!

Este es mi método, que a día de hoy me devuelve un JSON (vacío):

<WebMethod(CacheDuration:=0)>
<Script.Services.ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=True, XmlSerializeString:=False)>
Public Sub GetJSON()
    Dim oObj As SAPbobsCOM.SBObob
    Dim rs As SAPbobsCOM.Recordset
    Dim sSQL As String
    If Not ConnSAP() Then
        Context.Response.Write("No es posible conectarse a la base de datos")
    End If

    oObj = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge)
    rs = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
    sSQL = "SELECT top 10 * FROM OCRD"
    rs.DoQuery(sSQL)

    Context.Response.Cache.SetExpires(DateTime.Now.AddHours(-1))
    Context.Response.ContentType = "application/json"
    Context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(
                                   rs,
                                   Newtonsoft.Json.Formatting.None))

    oCompany.Disconnect()
    Context.Response.Flush()
    Context.Response.End()
End Sub

#2

Hola a tod@s en @BusinessOne, alguien de los maestros de la programación que nos pueda dar una ayudita acá.

Saludos y buenos días a tod@s :raised_hand_with_fingers_splayed:t5:


#3

Estimado, prueba menos campos en el select, si no, tendrás que parsear el recorset manualmente.

Atte.


#4

Gracias Felipe, lo he probado con un select de dos campos y tampoco me resulta.
Saludos.