AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei XML/SOAP Abfrage

Ein Thema von wieder ein Klaus · begonnen am 15. Jun 2007 · letzter Beitrag vom 15. Jun 2007
Antwort Antwort
wieder ein Klaus

Registriert seit: 9. Mai 2007
8 Beiträge
 
Delphi 2006 Enterprise
 
#1

Problem bei XML/SOAP Abfrage

  Alt 15. Jun 2007, 12:36
Hallo zusammen,

folgender Aufruf führt zu einer Exception (Zugriffsverletzung)

procedure TForm1.GCTClick(Sender: TObject);
var request : TXmlGCT;
response : TXMLGCTResponse;
begin
p_CS:= GetCSPortType(false); // Diesr Aufruf klappt
if Assigned(p_CS) then
response:= p_CS.GCT(request); // Hier tritt der Fehler auf
end;
end;


Ich werde von Delphi gewarnt, dass REQUEST nicht initialisiert ist.
Ich weiß nur nicht, wie ich die Initialisierung vornehmen soll.

Die Delphi Hilfe erwartet etwas in dieser Form:
response:= TXMLGCT.create(IDomNode,TXmlNode,TXmlDocument);

Die Klassen und Funktionen sind via WSDL-Import und XSD-Import generiert worden.
(kann ich bei Bedarf auch posten)

Kann mir jemand helfen?
Ich bin für jeden Tipp dankbar.

Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem bei XML/SOAP Abfrage

  Alt 15. Jun 2007, 12:38
Ist p_CS intantiiert?
Markus Kinzler
  Mit Zitat antworten Zitat
wieder ein Klaus

Registriert seit: 9. Mai 2007
8 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Problem bei XML/SOAP Abfrage

  Alt 15. Jun 2007, 14:52
Zitat von mkinzler:
Ist p_CS intantiiert?
Sorry,
habe ich vergessen. P_SC ist global deklariert.

p_CS : CSPortType;

Des weiteren wurde beim WSDL-Import erzeugt:
Type GCT = TXMLGCT;

CSPortType = interface(IInvokable)
['{63B1C593-F454-74AF-4DF0-32ED9BBFD746}']
function GCT(const parameter: GCT): GCTResponse; stdcall;
end;


function GetCSPortType(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): CSPortType;

implementation
[...]


Gruß
Klaus
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Problem bei XML/SOAP Abfrage

  Alt 15. Jun 2007, 19:43
Hallo

was genau ist TXmlGCT?
wenn es nicht nur ein record ist, mußt du es auch erzeugen.
Delphi-Quellcode:
request:=TXmlGCT.create;
request.blabla:='dingsda';
...
response:= p_CS.GCT(request); // Hier tritt der Fehler auf
Deine Bemerkung zur Delphi-Hilfe verstehe ich nicht, bzw wie sieht die wsdl aus?

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
wieder ein Klaus

Registriert seit: 9. Mai 2007
8 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Problem bei XML/SOAP Abfrage

  Alt 15. Jun 2007, 20:30
Zitat von Keldorn:
Hallo

was genau ist TXmlGCT?
wenn es nicht nur ein record ist, mußt du es auch erzeugen.
Delphi-Quellcode:
request:=TXmlGCT.create;
request.blabla:='dingsda';
...
response:= p_CS.GCT(request); // Hier tritt der Fehler auf
Deine Bemerkung zur Delphi-Hilfe verstehe ich nicht, bzw wie sieht die wsdl aus?

Mfg Frank
Hallo Frank,

Mit der Delphihilfe meine ich die Eingabehilfe bei der Codeerstellung.
TXmlGCT ist durch die automatische XLS-Datenbindung von Delphi erzeugt worden.
Hier nur der auf das relevate reduzierte Code:

Delphi-Quellcode:
{                           XML-Datenbindung                            }

unit CS;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward-Deklarationen }
  IXMLGCT = interface;

{ IXMLGCT }
  IXMLGCT = interface(IXMLNode)
    ['{801D71FE-7836-48D9-8256-E1E51E909F03}']
  end;

{ Forward-Deklarationen }
  TXMLGCT = class;

{ TXMLGCT }

  TXMLGCT = class(TXMLNode, IXMLGCT)
  protected
    { IXMLGCT }
  end;

implementation

{ TXMLGetCardTerminals }

// keine Funktionen
end.
Und hier noch mal der Code, der duch die zugehöhrige wsdl-Datei erzeugt wurde:

Delphi-Quellcode:
unit CSW;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns, CS;

type


Type GCT = TXMLGCT;

CSPortType = interface(IInvokable)
['{63B1C593-F454-74AF-4DF0-32ED9BBFD746}']
function GCT(const parameter: GCT): GCTResponse; stdcall;
end;


function GetCSPortType(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): CSPortType;

implementation
[...]
Gruss vom Klaus
  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 07:09 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