Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Client de MercatorWebService sur base du framework .net 2.0

0000002264     -      24/06/2016

Cet exemple montre comment créer un client SOAP sur base du framework .net 2.0 et utilisant MercatorWebService. Cet exemple est soumis aux réserves suivantes :

  • il est fourni "as is" et sans support
  • il convient d'y ajouter une gestion des exceptions (try catch) afin de gérer les cas où le web service n'est pas ou plus disponible.

Afin de pouvoir utiliser un web service, il faut, dans Visual Studio, ajouter une référence web. Cela se fait via un clic-droit sur "Références" et sélection de "Ajouter une référence web". Dans la zone URL, il faut saisir http://testws.mercator.eu/MercatorWebService.asmx (adaptée en fonction de votre domaine). Dans notre exemple, nous avons adapté le "Nom de la référence Web" en "MercatorWebService20"

mercatorwebserviceclient20

Note : pour information : si le développement du client est basé sur le framework .net 3.5 ou ultérieur, mais qu'on souhaite utiliser la technologie web client du framework 2.0, il faut procéder comme suit :

  • clic-droit sur "Références" / Ajouter une référence de service
  • Cliquer sur le bouton "Avancé"
  • Cliquer sur le  bouton "Ajouter une référence Web"
  • Poursuivre comme indiqué ci-dessus

Créer une facture dans le journal 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);

 


 

Obtenir une dataTable contenant le premier 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];