+ Antworten
Ergebnis 1 bis 3 von 3

Thema: JSON WebService liefert IDs anstatt der Tabellen-Werte

  1. #1
    PranKe01 ist offline Mitglied PranKe01 befindet sich auf einem aufstrebenden Ast
    registriert
    09-05-2008
    Beiträge
    25

    JSON WebService liefert IDs anstatt der Tabellen-Werte

    Hi,

    ich habe meinen .Net WebService JSON-Kompatibel gemacht. Hierfür habe ich [ScriptService()] hinzugefügt. Wenn ich beim Request als Content-type application/json angebe, bekomme ich jetzt auch anstatt SOAP das gewollte JSON zurück.
    Nun habe ich z.B. eine Tabelle "Rechte", in denen Benutzerrechte gespeichert werden:
    ID / Recht
    Code:
    1 Admin
    2 User
    3 Gast
    Bei Komplexen Datentypen (z.B. Benutzer), werden die Rechte anhand dieser IDs gespeichert. Also z.B. so:
    ID / Name / Rechte
    Code:
    1 Jack 1
    2 Miri 2
    3 Mike 2
    Während ich bei SOAP etwa so etwas bekomme:
    Code:
    <ID>3</ID>
    <Name>Mike</Name>
    <Rechte>User</Rechte>
    bekomme ich bei JSON folgendes zurück
    Code:
    {
      d: {
        __type: Benutzer,
        ID: 3,
        Name: "Mike",
        Rechte: 2
      }
    }
    Hier wird also scheinbar direkt der gespeicherte Wert zurückgegeben, anstatt diesen Wert (die ID) aufzulösen und den gewollten Wert ("User") zurückzuliefern.

    Ist dieses Verhalten normal und kann man es irgendwie ändern? Oder liegt es an meiner Implementierung? Bei Bedarf kann ich auch etwas Code aus dem WebService posten...

    Vielen Dank für Eure Hilfe!

  2.    Empfehlenswerte Literatur von unserem Partner Terrashop

    Das AJAX Kompendium jetzt 84% Rabatt
    Ajax - der Technologiemix aus JavaScript und XML - ist eines der Kernstücke professioneller Web 2.0-Programmierung. Dieses Buch führt Sie auf über 800 Seiten(!) von den ersten JavaScript-Codezeilen bis zur Entwicklung mit Ajax-Frameworks.

    Preis: früher: 49,95€ - jetzt nur: 7,95€

    Hier geht es direkt zum Buch

    Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!

  3. #2
    Avatar von kkapsner
    kkapsner ist offline Moderator kkapsner befindet sich auf einem aufstrebenden Ast
    registriert
    28-03-2008
    Beiträge
    5.531

    AW: JSON WebService liefert IDs anstatt der Tabellen-Werte

    Zitat Zitat von PranKe01 Beitrag anzeigen
    Ist dieses Verhalten normal und kann man es irgendwie ändern? Oder liegt es an meiner Implementierung? Bei Bedarf kann ich auch etwas Code aus dem WebService posten...

    Vielen Dank für Eure Hilfe!
    Ich habe jetzt gar keine Ahnung von .NET, aber ich denke mal, dass das an deiner Implementierung liegt - aber Code könnte da ev. weiterhelfen.

  4. #3
    PranKe01 ist offline Mitglied PranKe01 befindet sich auf einem aufstrebenden Ast
    registriert
    09-05-2008
    Beiträge
    25

    AW: JSON WebService liefert IDs anstatt der Tabellen-Werte

    Also hier ein bisschen Code aus der webservice.asmx.cs:
    Code:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Web.Script.Services;
    using System.Web.Script.Serialization;
    using System.IO;
    
    using ...;
    
    namespace WebServices.v1_00{
    	[WebService(Namespace = "https://mypage.com/WebService")]
    	[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ScriptService()]
    	public class WebService : WebService{
            [WebMethod(EnableSession = true)]
            public Benutzer Login(string anmeldename, string kennwort){
                UnitTestWebService ws = new UnitTestWebService();
                return ws.Login(anmeldename, kennwort);
            }
    	}
    }
    Evtl. hilft das ein wenig...

+ Antworten

Ähnliche Themen

  1. Anfängerfrage: 2 Werte aus 3 verknüpften Tabellen
    Von JimmyPage im Forum Serverseitige Programmierung
    Antworten: 0
    Letzter Beitrag: 28-08-2007, 12:11

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein