Ben al aardig bezig om onze applicatie te integreren met het ketenregister. Deze is opgebouwd in meerdere fases (berichten). Fase 1 en 2 werken goed. Fase 3 is het aanvragen van een inspectie. Dit werkt niet met de WSDL, die fase 1 en 2 gebruiken. Ik heb dus een nieuwe import uitgevoerd. Maar deze ziet er iets anders uit. Bij de inplementation staat een definitie van een class, wat mij op zich vreemd vind. Ik snap dan ook niet hoe ik de functie moet gaan aanroepen. Als ik die class (KRIRPortTypeImpl) wilt initaliseren, wordt die niet gevonden. Maar hoe stuur ik dan mijn request naar de webservices?
In mijn andere WSDL import is een functie aangemaakt: GetKREType. Om 'slim'te zijn heb ik die functie opgepakt en in mijn kri.pas (WSDL import) geplaatst, alsmede de aanpassing van de WSDL, service en port (deze gegevens heb ik gecheckt):
Maar ik blijf de melding krijgen:Delphi Code:
function GetKRIRPortType(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): KRIRPortType; const defWSDL = 'https://acclongexport.bkd.eu/ws/kri.php?wsdl'; defURL = 'https://acclongexport.bkd.eu/ws/kri.php'; defSvc = 'KetenRegisterInspection'; defPrt = 'InspectionPort'; var RIO: THTTPRIO; 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 KRIRPortType); if UseWSDL then begin RIO.WSDLLocation := Addr; RIO.Service := defSvc; RIO.Port := defPrt; end else RIO.URL := Addr; finally if (Result = nil) and (HTTPRIO = nil) then RIO.Free; end; end;
Als ik kijk naar mijn vorige WSDL, moet alles goed staan. Als ik niet met WSDL inlog, maar op URL, geeft deze de melding:...raised exception class ESOAPHTTPException with message 'Unable to retrieve the URL endpoint for Service/Port 'KetenRegisterInspection'/'InspectionPort' from WSDL 'https://acclongexport.bkd.eu/ws/kri.php?wsdl''.
Maar ik moet wel procedure Inspection (volgens de WSDL import) gebruiken om mijn antwoord te krijgen....raised exception class ERemotableException with message 'Procedure 'Inspection' not present'.
Ik weet niet waar ik moet gaan zoeken. Kan ik gebruik maken van mijn zojuist gekopieerde en aangepaste functie, of moet ik bij deze WSDL op een andere manier inloggen?
PS: omdat 300k aan dfm en pas bestanden gezipped nog te groot is, heb ik een wetransfer link aangemaakt van mijn demo.
Bookmarks