Announcement

Collapse
No announcement yet.

Web Service mit Objekten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Web Service mit Objekten

    Hallo,

    ich habe gerade angefangen mich in das Thema WebServices mit ASP.NET und Delphi 8 for .NET einzuarbeiten. Ein einfacher Webservice, der nur elementare Datentypen wie string oder int zurückgibt ist auch kein Problem. Jetzt möchte ich aber Instanzen von eigenen Klassen (hier: TDummy) übergeben. Wie muss ich diese kennzeichen, damit deren Aufbau auch übermittelt wird? Derzeit wird in meiner Konsumentenanwendung beim Import der WSDL nur TDummy = class; angelegt, alle Membermethoden fehlen. Die ankommenden Objekte werden auf dieses leere TDummy gecastet, so dass man nicht an die transportierten Daten kommt.

    Danke im Voraus

    Markus

  • #2
    Hallo,

    damit der Aufbau der eigenen Klasse ebenfalls in der WSDL-Datei dokumentiert wird, muss die Methode über das <b>SoapInclude</b>-Attribut entsprechend gekennzeichnet werden. Das folgende VB.NET-Beispiel demonstriert das Prinzip:
    <pre>
    &lt;WebMethod(Description:=&quot;Liefert entweder OSWinUser oder OSWebUser als Nachfahre von OSComplexData zurück&quot, _
    SoapRpcMethod(), SoapInclude(GetType(OSWinUser)), SoapInclude(GetType(OSWebUser))&gt; _
    Public Function GetInstance(ByVal iValue As Integer) As OSComplexData
    Select Case iValue
    Case 1
    Dim aNewObj As New OSWinUser()
    aNewObj.LogonTime = Date.Now()
    Return aNewObj
    Case 2
    Dim aNewObj As New OSWebUser()
    aNewObj.UserName = Me.User.Identity.Name
    aNewObj.UserKey = 4711
    aNewObj.HomePage = &quot;http://www.entwickler.com&quot;
    Return aNewObj
    <b>End</b> Select
    <b>End</b> Function
    </pre&gt

    Comment

    Working...
    X