AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi D8 + SOAP-Service + komplexer Response
Thema durchsuchen
Ansicht
Themen-Optionen

D8 + SOAP-Service + komplexer Response

Ein Thema von r_kerber · begonnen am 13. Mär 2004
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

D8 + SOAP-Service + komplexer Response

  Alt 13. Mär 2004, 14:23
Hallo,

ich schreibe zur Zeit mit Delphi 8 einen WebService, der mir Datenbank-Funktionalität über's Internet zur Verfügung stellen soll. Eine Methode soll z.B das Ergebnis eines SQL-Selects zurückliefern. Es ist kein Problem, eine Spalte als Rückgabewert der Funktion zurückzugeben. Das funktioniert auch wenn die Antwortmenge aus mehreren Zeilen besteht. Die Funktion ist dann vom Typ ArrayList:
Delphi-Quellcode:
function TwsArbeit.get_projekte(us, pw: &String): ArrayList;
var
  i: Integer;
  al: ArrayList;
begin

...

  if ds_104005_db1.Tables['projekte'].Rows.Count > 0 then
  begin
    al := ArrayList.Create;
    for i := 1 to ds_104005_db1.Tables['projekte'].Rows.Count do
    begin
      al.Add(ds_104005_db1.Tables['projekte'].Rows.
        Item[i-1]['prj_name'].ToString)
    end;
  end;
  Result := al;
end;
Nun soll aber nicht nur eine Tabellen-Spalte sondern mehrere Spalten als Result zurückgeliefert werden. Ich habe nun versucht anstelle eines Strings ein Object in die ArrayList einzufügen. Das geht auch, allerdings klappt des Versenden des Response an den Client nicht:
Ich erhalte folgende Fehlermeldung
System.InvalidOperationException: Beim Generieren des XML-Dokuments ist ein Fehler aufgetreten. ---> System.InvalidOperationException: Der Typ arbeitszeit.TArbeitszeitDaten wurde nicht erwartet. Verwenden Sie das XmlInclude- oder das SoapInclude-Attribut, um Typen anzugeben, die nicht statisch sind.
at System.Xml.Serialization.XmlSerializationWriter.Wr iteTypedPrimitive(String name, String ns, Object o, Boolean xsiType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationWriter1.Write1_Object(String n, String ns, Object o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationWriter1.Write12_ArrayOfAnyType(Object o)
--- Ende der internen Ausnahmestapelüberwachung ---
at System.Xml.Serialization.XmlSerializer.Serialize(X mlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle)
at System.Xml.Serialization.XmlSerializer.Serialize(X mlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces)
at System.Xml.Serialization.XmlSerializer.Serialize(T extWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
at System.Xml.Serialization.XmlSerializer.Serialize(T extWriter textWriter, Object o)
at System.Web.Services.Protocols.XmlReturnWriter.Writ e(HttpResponse response, Stream outputStream, Object returnValue)
at System.Web.Services.Protocols.HttpServerProtocol.W riteReturns(Object[] returnValues, Stream outputStream)
at System.Web.Services.Protocols.WebServiceHandler.Wr iteReturns(Object[] returnValues)
at System.Web.Services.Protocols.WebServiceHandler.In voke()
Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz