U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

MercatorWebService Client op basis van .NET-Framework 2.0

0000002264     -      24-06-2016

Dit voorbeeld toont hoe je een SOAP-client kan aanmaken op basis van het .NET-Framework 2.0 en gebruikmakend van MercatorWebService. Dit voorbeeld is onderworpen aan volgende regels:

  • Het wordt geleverd als "as-is" en zonder ondersteuning
  • Het moet exception-handling (try-catch-finally) bevatten, om te voorkomen dat de webservice niet meer beschikbaar kan zijn.

Vooraleer je een webservice kan gebruiken, moet men, in Visual Studio verwijzen naar de service. Dit kan gedaan worden via rechtsklik op "References" en selecteer "Add reference". In de zone "Adres", moet men het volgende invullen http://testws.mercator.eu/MercatorWebService.asmx (aan te passen in functie van uw domein). In ons voorbeeld hebben we de namespace aangepast naar "MercatorWebService20".

mercatorwebserviceclient20

Opmerking: Indien de ontwikkeling van de client gebaseerd is op .NET-Framework 3.5 of hoger, maar men de webclient-technology van .NET-Framework 2.0 wenst te gebruiken, moet men volgende stappen volgen:

  • Rechtsklik op "References" -> "Add service-reference"
  • Klik op de knop "Geavanceerd"
  • Klik op de knop "Add web-reference"
  • Volgen zoals hieronder aangegeven

Maak een factuur aan in het journaal Factu:

Zoom
MercatorWebService20.MercatorWebService client = new MercatorWebService20.MercatorWebService();
MercatorWebService20.SecurityInfo si = new MercatorWebService20.SecurityInfo();
si.SecureKey = ... ;
client.SecurityInfoValue = si;

MercatorWebService20.StringMws s = client.BillingEngineInitNew(MercatorWebService20.TypeVAEnum.V, 1, "Factu");
if (!string.IsNullOrEmpty(s.LastError))
{
    MessageBox.Show("BillingEngineInitNew : " + s.LastError);
    return;
}
// à partir d'ici, il est obligatoire d'appeler la méthode BillingEngineClose
string uniqueId = s.Value;

MercatorWebService20.BooleanMws b = client.BillingEngineApplyCustomerSupplier(uniqueId, "INEO52209");
if (!string.IsNullOrEmpty(b.LastError))
{
    MessageBox.Show("ApplyCustomerSupplier : " + b.LastError);
}
else
{
    MercatorWebService20.Int32Mws i = client.BillingEngineAppendLine(uniqueId);
    if (!string.IsNullOrEmpty(i.LastError))
    {
        MessageBox.Show("BillingEngineAppendLine : " + i.LastError);
    }
    else
    {
        b = client.BillingEngineInsertItem2(uniqueId, "03102001", i.Value, 5); // q = 5
        if (!string.IsNullOrEmpty(b.LastError))
        {
            MessageBox.Show("InsertItem : " + b.LastError);
        }
        else
        {
            b = client.BillingEngineUpdateAmounts(uniqueId);
            if (!string.IsNullOrEmpty(b.LastError))
            {
                MessageBox.Show("BillingEngineUpdateAmounts : " + b.LastError);
            }
            else
            {
                b = client.BillingEngineSave(uniqueId);
                if (!string.IsNullOrEmpty(b.LastError))
                {
                    MessageBox.Show("BillingEngineSave : " + b.LastError);
                }
                else
                {
                    MercatorWebService20.Int64Mws p = client.BillingEngineSavedNumber(uniqueId);
                    if (!string.IsNullOrEmpty(p.LastError))
                        MessageBox.Show("BillingEngineSavedNumber : " + p.LastError);
                    else
                        MessageBox.Show(string.Format("La vente {0} {1} a été créée !", "Factu", p.Value));
                }
            }
        }
    }
}
MercatorWebService20.VoidMws v = client.BillingEngineClose(uniqueId); // toujours terminer par BillingEngineClose() après un InitNew fructueux
if (!string.IsNullOrEmpty(v.LastError))
    MessageBox.Show("BillingEngineClose : " + v.LastError);

 


 

Ontvang een DataTable met hierin de eerste client:

Zoom
MercatorWebService20.MercatorWebService client = new MercatorWebService20.MercatorWebService();
MercatorWebService20.SecurityInfo si = new MercatorWebService20.SecurityInfo();
si.SecureKey = ... ;
client.SecurityInfoValue = si;

MercatorWebService20.DataSetMws ds = client.Zselect("select top 1 * from cli");
if (!string.IsNullOrEmpty(ds.LastError))
{
    MessageBox.Show("Zselect : " + ds.LastError);
    return;
}
DataTable dt_cli1 = ds.Value.Tables[0];