« Consommer un Web Service Sage1000(ws) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
{{#customtitle:Consommer un Web Service Sage 1000}}
{{#customtitle:Exemple de création d'un dashboard simple}}


Nous allons créer un paquet de service local et l'utiliser avec .NET.
Nous allons créer un dashboard. L'ouverture de ce dashboard effectuera une requête d'initialisation, et le dashboard pourra invoquer une méthode.


===Création du paquet de service local===
{{tip|La création d'un dashboard créé un paquet métier, le créateur du dashboard doit avoir le droit correspondant.}}
[[image:dashboard_0.png]]


Les étapes sont :
===Création du dashboard===
*Création du paquet de stéréotype "Service Local"
*Occuper le paquet,
*Ajouter deux classes de stéréotype "Classe non persistantes" maClassParamIn et maClassParamOut (cette étape n'est pas obligatoire, on peut utiliser des types simples)
*Ajouter une classe de stéréotype "Classe support de service local"
*Sur cette classe ajouter une opération de service '''Function monOperationDeService(aParamIn:maClassParamIn):maClassParamOut;'''


<source lang='delphi'>
[[image:dashboard_1.png]]
//Function monOperationDeService(aParamIn:maClassParamIn):maClassParamOut;
[[image:dashboard_2.png]]
begin
[[image:dashboard_3.png]]
result := maClassParamOut.Create;
[[image:dashboard_4.png]]
result.monAttribut := 'echo ' + aParamIn.monAttribut;
[[image:dashboard_5.png]]
end;
[[image:dashboard_6.png]]
</source>
[[image:dashboard_7.png]]
[[image:dashboard_8.png]]
[[image:dashboard_9.png]]
[[image:dashboard_10.png]]
[[image:dashboard_11.png]]
[[image:dashboard_12.png]]
[[image:dashboard_14.png]]


*Libérer le paquet et le publier dans le référentiel
*redémarrer le service, on constate à l'adresse '''http://[hôte]/[service]/server/soap.l1000?wsdl''' que le web service est disponible
*le wsdl est visible à l'adresse '''http://[hôte]/[service]/server/soap.l1000?wsdl=TestServiceLocal'''
*on remarque en bas du wsdl la ligne <soap:address location=... qui représente le endpoint soap.


[[image:ConsommerWS 1.png]]
===Implémentation===


[[image:ConsommerWS 2.png]]
===Utilisation===


[[image:ConsommerWS 3.png]]


[[image:ConsommerWS 4.png]]
{{footer}}
 
[[Category:Portail]]
===Création du token d'authentification===
 
Outre les combinaisons utilisateur/mot de passe, il est possible de s'authentifier auprès d'un service web grâce à un token.
Cette méthode est préférable, elle évite la divulgation du mot de passe et permet la révocation d'un token sans révoquer l'utilisateur.
 
[[image:ConsommerWS 5.png]]
 
 
===Consommation du paquet de service local créé===
 
Le web service d'authentification est disponible à l'adresse '''http://[hôte]/[service]/server/soap.l1000?wsdl=Sage1000Authentication'''
 
 
[[image:ConsommerWS 6.png]]
 
[[image:ConsommerWS 7.png]]
 
[[image:ConsommerWS 8.png]]
 
[[image:ConsommerWS 9.png]]
 
 
 
<source lang='csharp'>
            //obtention de la session grâce au token
            Sage1000Auth.TdbmLocalServiceAuthenticationPortTypeClient auth = new Sage1000Auth.TdbmLocalServiceAuthenticationPortTypeClient();
            String session = auth.LocalServiceLoginToken("2E235A772C0D0105F4D1670CD60000005562BD0A1D2A13345A4A84A7D98DC9B7B736B0396E60E957ED499DD29EA3D2F86B832C7B571228B5BC612741A3EA7F17D9162C1E7122DD8DD3F88A8BEC2D6A337D2054DFDEE5331AD760D0C475FA3EBEA4D4A61C72D8ED99BE9006A0BB6BD7D67C8241E12AABEBC31E80D71EA0F7EC96F12731010E9520797256AF74C58AE37E31A5A5C6F83859DCA442DCD36DA814C53F3A66D52F7EC02A53A512D1E077FBEB6F5B85905CA9CA0E479250AE1C514AD12D138A80630AB84D12293CB7D63F7999C88AB211FDCDF29D1635CD1D2290BE1E5FEF7894B8D493BB");
            try
            {
                //Cet objet permet de passer la session lors de l'appel
                ServiceTest.SessionHeader sessionHeader = new ServiceTest.SessionHeader();
                sessionHeader.sessionId = session;
 
                ServiceTest.maClassParamIn paramIn = new ServiceTest.maClassParamIn();
                paramIn.monAttribut = "hello world";
 
                //invocation du service
                ServiceTest.maClasseSupportServiceLocalPortTypeClient srv = new ServiceTest.maClasseSupportServiceLocalPortTypeClient();
                ServiceTest.maClassParamOut paramOut = srv.monOperationDeService(sessionHeader, paramIn);
 
                MessageBox.Show(paramOut.monAttribut);
            }
            finally
            {
                auth.LocalServiceLogout(session);//ne pas oublier de se déconnecter à l'issue, sinon on risque la pénurie de licence
            }
</source>
 
 
 
 
 
{{Footer|Web Services (ws)}}
[[Category:Web Services]]

Version du 30 janvier 2015 à 09:35

{{#customtitle:Exemple de création d'un dashboard simple}}

Nous allons créer un dashboard. L'ouverture de ce dashboard effectuera une requête d'initialisation, et le dashboard pourra invoquer une méthode.

Tip : La création d'un dashboard créé un paquet métier, le créateur du dashboard doit avoir le droit correspondant.

Fichier:Dashboard 0.png

Création du dashboard

Fichier:Dashboard 1.png Fichier:Dashboard 2.png Fichier:Dashboard 3.png Fichier:Dashboard 4.png Fichier:Dashboard 5.png Fichier:Dashboard 6.png Fichier:Dashboard 7.png Fichier:Dashboard 8.png Fichier:Dashboard 9.png Fichier:Dashboard 10.png Fichier:Dashboard 11.png Fichier:Dashboard 12.png Fichier:Dashboard 14.png


Implémentation

Utilisation

{{#if:|

{{#if:{{{1}}}|— [[{{{1}}}]] |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}