Results 1 to 7 of 7

Thread: Error: Soap Server: Could Not load SSL library

  1. #1

    Post Error: Soap Server: Could Not load SSL library

    Geachte NLDelphi experts,

    Ik werk in Delphi 10 Berlin en heb een standaard Soap server met client ontwikkeld. De soap server is omgezet in een ISAPI.dll en draait op een virtuele pc die IIS draait. (https verbinding).

    Nu probeer ik te verbinden met de client via de Httprio1 waarbij de variable URL is gevuld met het pad naar de https verbinding die draait. Ik krijg wel de WSDL te zien op een webbrowser. Maar de client heb met een button click event (die een standaard string terug geeft met 'Hallo')
    Code:
        str := (HTTPRIO1 as IService).PingServer;
        Memo1.Lines.Add(str);
    Krijg ik de error bericht dat zegt "Could not load SSL Library". Ik kom posts tegen dat ik OpenSSL moet installeren op de virtuele pc en dat heb ik gedaan, maar nog steeds die error. Een andere optie van de betreffende dll's ( libeay32.dll and ssleay32.dll ) zitten ook al in de system folder van windows. Nog steeds die error.

    Gezien de interne http verbinding wel werkte en client ook wilde ik nu vanaf de buiten wereld met een secure verbinding naar een database/web service praten.

    Ik dank u hartelijk voor alles posts!

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    7,850
    Ik kan je niet vertellen waar het precies fout gaat. Wat ik wel weet is dat THTTPRio gebruik maakt van windows eigen communicatie, waarbij rekening wordt gehouden met e.v.t. secure connection. Zwlf ben ik bezig met een soap client aan het maken, die naar een https server communiceert. Omdat Windows zijn eigen layers gebruikt, hebben de openSSL libraries geen functie in dit verhaal.
    Delphi is great. Lazarus is more powerfull

  3. #3
    De client is overigens een android device, mss had ik dat wel even moeten melden.

    Mss dat de android client dan toch elementen mist?

  4. #4
    Senior Member
    Join Date
    Dec 2003
    Location
    Den Haag
    Posts
    164
    Volgens mij als de SOAP server draait als ISAPI.dll onder IIS, is de webserver zelf verantwoordelijk voor alles wat met HTTPS te maken heeft. Ik begrijp dat je zelf op de webserver een HTTPS certificaat hebt geinstalleerd.

    Waarom de keuze voor SOAP als ik vragen mag? De trend tegenwoordig is meer richting REST/JSON als communicatie middel.

    Probeer het eerst met een Windows client aan te praat te krijgen zou ik zeggen. Ik geloof trouwens dat vanaf Android 6 OpenSSL niet meer wordt ondersteund door Google. Op eerdere versies van Android was OpenSSL al vooraf aanwezig. Waarschijnlijk ligt het daar aan.

  5. #5
    Via de Windows client krijg ik "Received content of invalid Content-Type setting: text/html - SOAP expects "text/xml"
    In de HTTPRIO staan de UseUTF8inHeader op false. en de 'Converter Options = [soSendUntyped,soSendMultiRefObj,soTryAllSchema]'

    De mobieltjes waar het momenteel om gaat draaien 4.1. maar is wel goed om te onthouden als ze een Android 6 mobieltjes gaan gebruiken.

    De reden dat ik SOAP heb gebruikt is na een snel onderzoek een Interne SOAP Server snel kon opzetten en draaien op een interne netwerk en zo ver ik kon vinden heb ik Delphi DataSnap nodig, die ik niet binnen mijn Embarcadero Rad Studio Berlin 10.1 heb. En gezien verkoop sneller gaat dan de ontwikkeling moest er een snelle secure demo neer gezet worden. Jammer genoeg zijn er genoeg errors waar ik niet uit kom.

    Ik had het idee dat een nieuw Soap server application met HTTPS vink dan wel goed zou gaan maar ik kon geen informatie vinden over wat er bedoeld wordt met "public/ private key of your certificate" en "Certificate Key Password". Ik moet daar een REM file voor hebben maar heb ik niet ontvangen van de SSL provider.

    Maar een nieuwe dag geeft nieuwe inzicht!

  6. #6
    Senior Member
    Join Date
    Dec 2003
    Location
    Den Haag
    Posts
    164
    In dat geval zou ik eens kijken naar MARS-Curiosity Delphi REST Library. Het is een open source project, en werkt ook onder Delphi Professional.

    https://blog.andreamagni.eu/2016/03/...-rest-library/
    https://github.com/andrea-magni/MARS

    ISAPI is ook geen probleem zoals je ziet:
    https://blog.andreamagni.eu/2017/01/...o-5-platforms/

    Alleen maakt gebruik van nieuwe language features zoals attributes, RTTI en anonymous methods. Aangezien je Delphi 10.1 Berlin hebt is geen probleem.

    Als je voor de Android devices de REST Client Library gebruikt, hoef je ook geen extra dll's te installeren om te communiceren via HTTPS.
    http://docwiki.embarcadero.com/RADSt...Client_Library

    Een eenvoudige demo moet zo te maken zijn volgens mij. Laat maar weten als je ergens tegen aanloopt.

  7. #7
    Het is al weer een tijdje dat ik van me heb laten horen, maar ik wilde nog even een bedankje geven voor alle reacties.

    Extra bedankje aan Erwin voor de MARS-Curiosity REST library. Momenteel maak ik er flink gebruik van en ben ook met de developer gaan mailen voor enige hulp bij dingen waar ik niet geheel uitkom.
    Ik ben erg blij met deze mooie library!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •