Sage 1000 - consommer un web service en V9

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Sage 1000 - consommer un web service en V9

de romulus001 » Mer 30 Déc 2020 13:38

Bonjour,

J'ai trouvé une page sur le wiki 1000, afin de pouvoir consommer un web service avec authentication

Le soucis que ce code ne fonctionne pas.
J'ai importé le web service authentication dans un projet Visual Studio, je vois bien les méthodes qui sont décrites dans le wiki1000, je l'ai nommé wsAuthentication.

Avec le code suivant :

Code: Tout sélectionner
 Dim auth As New wsAuthentication.TdbmLocalServiceAuthenticationPortTypeClient
            Dim session As String = ""

            Try
                session = auth.LocalServiceLoginToken("2E235A77.......")
 
            Catch ex As Exception
                MsgBox(ex.InnerException)
            Finally
                auth.LocalServiceLogout(session)
            End Try


J'ai une exception qui est retournée quand je fais appel à auth.LocalServiceLoginToken, et quand je regarde l'exception retournée, le contenu est vide.

Des idées à ce sujet?

Merci

Edit : j'arrive à avancer, l'erreur venait du jeton d'authentification, qui n'était pas le bon.
Nouveau soucis que je rencontre, c'est de savoir comment on passe ce SessionHeader.
J'ai essayé en faisant
Code: Tout sélectionner
Dim MonObjetWS as New MonServiceWeb.MaClasse
MonObjetWS.SessionHeaderValue = sessionHeader
'erreur fatale : authentification requiered
MonObjetWS.MaMethode()



Edit 2 : La manière dont le web service a été importé était à revoir, avant, il apparaissait comme étant un web reference, maintenant, il a été importé comme étant un service de reference.

Mon nouveau code maintenant :

Code: Tout sélectionner
Dim auth As wsAuthentication.TdbmLocalServiceAuthenticationPortTypeClient = New wsAuthentication.TdbmLocalServiceAuthenticationPortTypeClient
            Dim session As String = ""
            Dim sessionHeader As MonService.SessionHeader = New MonService.SessionHeader()
            Dim srv As MonService.MaClassePortTypeClient = New MonService.MaClassePortTypeClient ()

            Try
                ' génération d'une id session
                session = auth.LocalServiceLoginToken(gclJetonAuthentication)

                 sessionHeader.sessionId = session
                 srv.NomDeMaMethode(sessionHeader)

            Catch ex As Exception
                MsgBox(ex.InnerException)
            Finally
                auth.LocalServiceLogout(session)
            End Try



Le nouveau message d'erreur que j'obtiens, lors de l'appel d'une méthode, est :
L'encodage dans la déclaration 'ISO-8859-1' ne correspond pas à l'encodage du document 'utf-8'
Super Contributeur
Super Contributeur
 
Messages: 176
Inscription: Sam 28 Juin 2014 20:48

Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités