De SQL Webservice van Logistics/Flex is gebaseerd op gerepliceerde gegevens van de Module Synchronisatie SQL in de database van de SQL server, teneinde een zo vlug mogelijke respons te geven.

Deze manier van werken vereist (op dit moment) dat de SQL Webservice alleen verzoeken verstrekt om de database te lezen. Indien er bijkomende commando's moeten worden uitgevoerd of indien er een klant wordt aangemaakt of eender welke andere verandering in de database plaatsvindt, dient er te worden gewerkt met de tool SqlToDbf.

In het geval dat een site deze oude versie van de DBF-webservice gebruikt, is het mogelijk om aan de bestaande webservice te specificeren dat bepaalde verzoeken moeten worden behandeld door de SQL-versie
Deze werkwijze laat u toe om 2 verschillende Webservices te gebruiken.

Op deze pagina:

Voorwaarden

De installatie van de SQL Webservice vereist volgende elementen:

(tick) ISS met "Application Development" rechten
(tick) Logistics/Flex met Module Synchronisatie SQL
(tick) Framework .NET 4.0
(tick) Informatie van de verbinding aan een database gegenereerd door Logistics/Flex onder SQL Server

(tick) SQL Webservice-bestanden (via deze link te donwloaden)

facultatief

(tick)SqlToDBF - Noodzakelijk in het geval dat er gegevens in de database moeten worden ingevoerd (download link)

(tick)Webservice Tools - Om u in staat te stellen tests uit te voeren op de webservice (download link)

Bovenaan pagina


Installatie

1. Configuratie van de Application Pool

Hoe IIS activeren in Windows 10?

Windows 10 beschikt standaard over IIS. U hoeft ze enkel te activeren.

Op YouTube bestaan diverse video's om u hierbij te helpen.

  1. Voeg de Application Pool in IIS toe.

    Het is noodzakelijk om een Application Pool per SQL Webservice en Logistics/Flex dossier aan te maken.

  2. Selecteer de .NET Framework v4.0. in het veld .NET Framework version

  3. Pas de Identity van de Application Pool die u net heeft aangemaakt via de menu Advanced settings aan.

    Wij raden u aan om de identiteit NetworkService te gebruiken of een gebruikersaccount

    Resultaat

    • Het toegevoegde dossier demologistics_fr moet een toepassing zijn. De rechtermuisknop-menu bevat de te gebruiken instructie "Convert to Application"
    • De omgeving moet aan elkaar gekoppeld zijn (kolom Applications)

    Niet-serverversie van Windows

    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
    
    "c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\servicemodelreg" -i

Bovenaan pagina

2. Installatie van de bestanden van de SQL Webservice

  1. Maak een directory aan en unzip de bestanden van de Webservice. (De Webservice-bestanden moeten per e-mail worden aangevraagd bij de helpdesk van Logistics).
    In deze documentatie zullen wij volgend pad gebruiken : c:\inetpub\wwwroot\dossier_WebserviceSQL

  2. Wijzig de beveiliging van de aangemaakte map via het tabblad Security in het eigenschappenscherm van dit dossier.
    1. Voeg de gebruiker toe zoals vermeld in de Application Tool.
    2. Voeg aan de standaardrechten, de schrijfrechten toe in dit dossier.

Bovenaan pagina

3. Installatie en configuratie van SQLTODBF

Het hulpprogramma SQLTODBF wordt gebruikt om de wijzigingen die zijn aangebracht in de SQL-database over te dragen in de DBF-database die door het programma wordt gebruikt. Als de webservice alleen wordt gebruikt voor het lezen, kan deze stap worden overgeslagen.

De webservice voert dit hulpprogramma automatisch en met regelmatige tussenpozen automatisch uit om de toevoegingen en wijzigingen van de SQL-database naar de DBF over te dragen.

Voorwaarden

  • Uitgevoerd door een gebruiker met lees- en schrijf- en verwijdermachtigingen in de Logistics map van het dossier
  • Visual Foxpro 9-componenten moeten worden geïnstalleerd op de computer waarop de software wordt uitgevoerd

Installatie

Pak het uitvoerbare bestand uit in een map waarvan het account dat is gedefinieerd in de toepassingspools, leesrechten heeft. U moet het pad van deze map opgeven in de sleutel SqlToDbfPath die moet worden gedefinieerd in de stap Configuratie Web.Config-bestand

Configuratie

U kunt verschillende parameters configureren voor de uitvoering en de verwerking uitgevoerd door de SqlToDbf. De parameters moeten worden toegevoegd in de algemene parameters van het Logistics dossier.

ParameterOmschrijvingStandaard waarde
WSSQL_TABLETOSYNCBestanden waar de SQL-wijzigingen moeten worden doorgevoerd in DBF. De tabellen worden gescheiden door *DOCHEAD*DOCDET*CUST*PERS
WSSQL_SQLTODBF_TIMER

Vertraging in seconden dat de webservice wacht voordat een nieuw exemplaar van SQLTODBF wordt uitgevoerd.

Als een exemplaar nog actief is, wordt de oproep genegeerd.

10

Manueel uitvoeren

Afhankelijk van uw omgeving kunt u besluiten om de SqlToDbf handmatig uit te voeren. bv in de time-shedular van Windows.

Om dit te doen, moet u de SqlToDbf uitvoeren met de volgende parameters

ParameterOmschrijvingVoorbeeld
1Te synchroniseren tabellen"DOCHEAD*DOCDET*CUST*PERS"
2Logistics gegevens-installatiepad"c:/winbooks/data/logistics/"
3Naam van het dossier"DEMOLOGISTICS_FR"

Beheer van fouten

In geval van fouten genereert het programma een logboek per dag in de Logistics map in de vorm <datum> error - sqltodbf.txt

U kunt controleren of de gegevens in de dbf-tabel worden doorgestuurd door te kijken of het veld SQLMODIF in de SQL-database op 0 staat.

Bovenaan pagina

4. Configuratie van het Web.config bestand

  1. Open in IIS het menu Applicattion Settings


  2. Definieer de verschillende parameters volgens de instelling van uw dossier



    Beschrijving van de configuratie parameters

    key

    value

    ConnexionStringSql

    Informatie m.b.t. de verbinding aan de gegevensdatabase van de SQL Server.
    Deze wordt als volgt samengesteld :

    "Data Source=SERVER2008DEV;Initial Catalog=DEMO;User ID=sa;Password=1234"

    • Data Source : DNS naam van de server die de SQL database bevat.
    • Initial Catalog : naam van de database, die meestal dezelfde is als de naam van het dossier in Logistics/Flex.
    • User ID : naam van de SQL gebruiker.
    • Password : paswoord van de SQL gebruiker.

    Serial

    Serienummer van het Logistics/Flex dossier.

    DataRootPath

    Pad door de website verstuurd en gebruikt door de DBF Webservice.
    Dit pad moet aangeduid worden voor de berekening van de applicatiesleutel die wordt teruggestuurd door de functie WSLOGIN.

    CompID

    Naam van het klantendossier in Logistics.

    Debug

    Aanmaken van de logging door de Webservice om te debuggen.

    SqlToDbfPathHet pad dat wordt gebruikt door het hulpprogramma SqlToDbf.
    SqlToDbfUserGebruiker overgenomen door SQL Webservice om het hulpprogramma SqlToDbf te starten. Optioneel, te gebruiken in zeer beveiligde omgevingen.
    SqlToDbfPasswordGebruikerswachtwoord overgenomen door SQL Webservice om het hulpprogramma SqlToDbf te starten. Optioneel, te gebruiken in zeer beveiligde omgevingen.
    SqlToDbfDomainDomein van de gebruiker overgenomen door SQL Webservice om het hulpprogramma SqlToDbf te starten. Optioneel, te gebruiken in zeer beveiligde omgevingen.

U kunt ook het Web.config bestand via een teksteditor openen en configureer rechtstreeks de appSettings.

Bovenaan pagina

5. Aanmaken van de applicatie in IIS


  1. Voeg een applicatie toe in IIS.

  2. Selecteer de Application Pool.
    De Alias zal gebruikt worden in de URL voor de toegang tot de Webservice.

  3. Vanaf hier kan u testen of de SQL webservice correct gelanceerd wordt door IIS, door het intypen van deze URL in een webnavigator (vergeet niet uw URL aan te passen volgens uw parameters !) :

    http://127.0.0.1/MyFolder_WSSQL/ServiceWcf.svc?wsdl

    In de test URL dient u de Alias van de applicatie in te geven en niet de naam van het dossier

  4. Indien de installatie correct verlopen is, moet u volgend gelijkaardig scherm in uw webbrowser krijgen :

    Denk er ook aan om de externe beschikbaarheid van de Webservice te controleren en de poorten aan te passen indien nodig.

Bovenaan pagina

6. Configuratie in HTTPS

Deze sectie is optioneel en vereist de aanpassing van de site waarop de webservice wordt gehost.

Het vereist ook ten minste versie 1.1.0.2 van de webservice

  1. Maak of importeer een certificaat in IIS op de server



    Zelf ondertekend certificaat

    In het geval van een zelfondertekend certificaat kan de oproep naar de webservice worden onderbroken omdat het certificaat niet wordt geautoriseerd door de externe computer die de webservice wil gebruiken.

    Om uw certificaat toch te kunnen gebruiken, moet u het importeren in de externe computer in de instelling "Trusted Root Certification Authorities"


  2. Bewerk de binding van de website waar de webservice zich bevindt



  3. Voeg de https-binding toe voor alle adressen en geef het certificaat op dat voor deze verbinding moet worden gebruikt


  4. Als er niet onmiddellijk rekening wordt gehouden met de wijzigingen, kunt u het hele IIS opnieuw opstarten via het commando "IISRESET" in de cmd van Windows in beheerdersmodus.

    In sommige omgevingen zijn aanpassingen in het web.config-bestand noodzakelijk.

    Raadpleeg in dat geval het gedeelte "Problemen en oplossingen".



Bovenaan pagina


Test van de SQL Webservice

Er is een programma beschikbaar waarmee u testen kunt uitvoeren op een SQL-webservice.

De laatste kan worden gedownload via deze link: Webservice testprogramma

Verbindingsgegevens configureren

In het tabblad "Config" kunt u de verbinding met de webservice configureren en testen.


Via het veld Config File kunt u een bestaande configuratie laden of uw huidige configuratie opslaan.


Het gedeelte Login Options kan op twee verschillende manieren werken:

  • Als u de publieke toepassingssleutel van de webservice kent, kunt u de gedeelde sleutel direct invullen en de geldigheid controleren via de knop "Validate Webservice"
  • Als een Logistics gebruiker en zijn wachtwoord zijn ingevuld, kunt u deze opgeven in de daarvoor bestemde velden en een wsLogin-verzoek indienen via de knop "Get Webservice key" om de gedeelde sleutel op te halen

Om het tabblad Request te kunnen gebruiken, heeft u een geldige sleutel nodig!

Voer een zoekopdracht uit

Deze stap maakt het mogelijk om een wsrequest-verzoek te verzenden naar de webservice die in het configuratietabblad is aangegeven.

Het is mogelijk om standaardquery's uit te voeren, maar ook aangepaste aanvragen die afkomstig zijn van een plug-in.

U kunt ook door u gemaakte aanvragen opslaan en laden.

U vindt de documentatie over de standaardverzoeken door deze link te volgen

Standaard zoekopdracht

Selecteer de naam van de query in de vervolgkeuzelijst en vul vervolgens de XML-Header, Data en Footer in met de gewenste gegevens.

Wanneer de gegevens compleet zijn, voert u de query uit op de geïnitialiseerde webservices.

Het resultaat van de query en de uitvoeringstijd worden in het onderste deel van het tabblad weergegeven.

Persoonlijke zoekopdracht

Aangepaste query's werken als standaardquery's, behalve dat u de naam van uw query moet opgeven in plaats van deze te selecteren in de vervolgkeuzelijst van een van de queryvoorstellen.

Bovenaan pagina


Verbinding met de DBF Webservice

Deze sectie is optioneel en wordt alleen voorgesteld voor bestaande sites om een aanpassingsfase mogelijk te maken zonder de site buiten gebruik te stellen.

Configuratie van het bestand wsFlex.ini

Voeg volgende lijnen toe in de configuratie van uw dossier in het bestand wsFlex.ini.

Beschrijving van deze lijnen :

key

value

WCF_URL

stemt overeen met het adres van de SQL Webservice.

XXXX_USEWCF

XXXX vertegenwoordigt de naam van een Webservice functie. De functies met waarde YES zullen voor behandeling naar de SQL Webservice gestuurd worden. De DBF Webservice dient in dit geval als tussenschakel.


Bovenaan pagina

Problemen en oplossingen

  • De webservice werkt niet in HTTPS ondanks de gevolgde configuratie

    Het bestand web.config wordt op de meeste systemen gebruikt om een HTTPS-verbinding te beheren.
    Afhankelijk van de omgeving moeten er wijzigingen worden aangebracht om beveiligingsspecificaties toe te voegen aan de initiële configuratie.

    Voordat u wijzigingen aanbrengt, raden wij u aan om een kopie van uw web.config-bestand te maken


    Open uw web.config-bestand met een teksteditor. De structuur van dit bestand is vergelijkbaar met die van een XML.

    Zoek de tag <system.serviceModel>
    Voeg de volgende code toe na de tag <system.serviceModel>

    <bindings>
       <basicHttpBinding>
          <binding name="TransportSecurity">
             <security mode="Transport">
                <transport clientCredentialType="None"/>
             </security>
          </binding>
       </basicHttpBinding>
    </bindings>


    Voeg de volgende code ook toe in de tag <system.serviceModel>

    <services>
       <service  name="WcfEcom.ServiceWCF">
          <endpoint address="" binding="basicHttpBinding" bindingConfiguration="TransportSecurity" contract="WcfEcom.IServiceWcf"/>
       </service>
    </services>


    Sla uw bestand op en start de pooltoepassing die aan de webservice is gekoppeld opnieuw.

    Controleer in de ServiceWcf.svc? Wsdl van uw webservice dat de ingevoerde URL's correct zijn en werken met https.


  • De webservice reageert niet op het testhulpprogramma of geeft een vaag foutbericht weer.

    Controleer of u Debug hebt geactiveerd met de waarde "true" in de instellingentoepassing van de webservice en of er een logboekmap is gemaakt in de installatiemap van de webservice
    U kunt het logboek controleren om de oorzaak van de fout te achterhalen.
    In het geval waarin ondanks de opgegeven optie geen logboekmap wordt gemaakt, controleer de rechten in de map waar de webservice zich bevindt. Deze map moet voldoende rechten hebben voor het account dat is opgegeven in de Application pools.
    Als u nog steeds problemen ondervindt, controleert u of uw installatie correct is voltooid.


  • Gegevens die zijn toegevoegd of gewijzigd via de webservice worden niet teruggestuurd naar Logistics.

    Controleer of de opgegeven gegevens zich in de SQL-database bevinden met het veld SQLMODIF = 1
    Als dit het geval is, ligt het probleem bij de SQLTODBF die de informatie niet naar de DBF-database kon overbrengen of niet kon starten via de SQL-webservice.
    Controleer in de map van de client of er txt-bestanden van het type "20180718 Fout - SqlToDbf" staan. In dit geval gaat het om een foutbericht van SqlToDbf. De inhoud van het logboek moet u toelaten het probleem op te lossen.

    In het geval dat er geen log-bestand in de map staat, kunt u het beste testen of de sqltodbf correct kan worden gestart en of er geen problemen met de rechten zijn. Dit kunt u doen door SqlToDbf uit te voeren met de volgende parameters:
    "table_name1 * table_name2" "c: \ logistics \ Data \" "FOLDER"

    Als het programma correct wordt uitgevoerd en de SQLMODIF-velden op 1 van de opgegeven tabellen worden teruggezet naar 0, is er een probleem met rechten in de configuratie van de applicatie-instellingen of ontbreken er rechten voor het account dat is opgegeven in de Application pools die voorkomt dat SqlToDbf automatisch wordt uitgevoerd door de webservice.

    Als het programma correct wordt uitgevoerd maar er geen record is verwerkt, controleer dan of er geen SqlToDbf in de Windows task manager is en er geen "SqlToDbf.working" bestand aanwezig is. In dit geval verwijder het bestand, beëindig het SqlToDbf-proces en probeer de SqlToDbf opnieuw uit te voeren.

    Als het programma niet wordt uitgevoerd, controleer dan het ontvangen bericht om het probleem op te lossen. Waarschijnlijk zijn de virtuele foxpro-bibliotheken niet beschikbaar op de machine. U kunt dit probleem oplossen door een Logistics werkstation te installeren.

    Als er in de tabel geen gegevens zijn waar het SQLMODIF veld gelijk is aan 1, terwijl er verzoeken om gegevens toe te voegen of te wijzigen naar de webservice zijn verzonden, controleer dan het webservicelogboek om te zien of er problemen zijn vastgesteld tijdens de uitvoering van het verzoek.

  • Overzicht belangrijkste IIS parameters

Bovenaan pagina