Hallo zusammen
ich schreibe gerade eine
dll, die über einen webservice bestimmte daten aus einer adressdatenbank
von einem linuxserver abruft. Dieser Linuxserver ist von der
dll aus nicht über internet sondern über lan erreichbar.
die
dll soll jetzt bei x kundschaften eingesetzt werden. beim
wsdl import generiert delphi ja eine
unit wo alles drin ist was man braucht. Mir geht es um volgende Funktion
Delphi-Quellcode:
function GetoefkPortType(UseWSDL: Boolean; Addr:
string; HTTPRIO: THTTPRIO): oefkPortType;
{const
defWSDL = 'Z:\!Desktop\WebserviceClient\Klass\doku\WSDL\oefk.wsdl';
defURL = 'http://www.sla.de/oefksoap';
defSvc = 'oefk';
defPrt = 'oefk';}
var
RIO: THTTPRIO;
defWSDL, defURL, defSvc, defPrt:
String;
begin
Result :=
nil;
if (Addr = '
')
then
begin
if UseWSDL
then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO =
nil then
RIO := THTTPRIO.Create(
nil)
else
RIO := HTTPRIO;
try
Result := (RIO
as oefkPortType);
if UseWSDL
then
diese funktion liefert mir ein variable mit der schnittstelle über die ich dann meine operationen abwickle.
wenn die
unit von delphi erstellt wird sind sie Felder defWSDL, defURL, defSvc, defPrt alles Konstanten. Diese werden aber je kunde unterschiedlich sein darum müssen sie aus einer anderen software heraus in meine
dll übergeben werden.
wie bekomme ich jetzt richtig die werte in diese funktion
kann ich die deklaration der funktion GetoefkPortType einfach ändern und einen eigenen record übergeben
oder sollte ich einen
unit zirkelverweis (Hauptunit der
dll verwendet ja die webservice
unit und webservice
unit verwendet dann hauptunit) herstellen.
mir wäre es am liebsten wenn ich die funktion erweitern könnte.
Danke für eure Antworten