Consommer un webservice 2

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Consommer un webservice 2

Messagepar mike76 » 09 Déc 2010 à 10:04

Mon agent :
Code : Tout sélectionner
Use "mapweb"

Sub Initialize
   Dim ws As New ServiceSoap_n0
   Dim b As boolean
   
   b=ws.Isloginvalid("admin","")
   
End Sub


L'agent ne veut pas compiler il me met type mismatch sur la ligne :
b=ws.Isloginvalid("admin","")



Mon webservice :
Code : Tout sélectionner
%INCLUDE "lsxsd.lss"
Class MapDocument_n0 As XSD_ANYTYPE
   
   Public datas As ArrayOfString_n0
   Public nb_page As XSD_STRING
   Public spool As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class Critere_n0 As XSD_ANYTYPE
   
   Public m_critere As XSD_STRING
   Public m_type As XSD_STRING
   Public m_format As XSD_STRING
   Public m_description As XSD_STRING
   Public m_visu As XSD_STRING
   Public m_visuSearch As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class MapResultatPages_n0 As XSD_ANYTYPE
   
   Public limit As MapLimit_n0
   Public header As ArrayOfString_n0
   Public pages As ArrayOfPages_n0
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfCriteres_n0 As XSD_ANYTYPE
   
   Public Critere() As Critere_n0
   
   Sub NEW
   End Sub
   
End Class

Class CriteriaSearch_n0 As XSD_ANYTYPE
   
   Public criteriaName As XSD_STRING
   Public searchType As XSD_STRING
   Public valueToSearch_begin As XSD_STRING
   Public valueToSearch_end As XSD_STRING
   Public nextPage As XSD_STRING
   Public user_can_modify As XSD_STRING
   Public isGlobal As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class MapResultat_n0 As XSD_ANYTYPE
   
   Public type As XSD_STRING
   Public limit As MapLimit_n0
   Public header As ArrayOfString_n0
   Public documents As ArrayOfDocuments_n0
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfVolumes_n0 As XSD_ANYTYPE
   
   Public Volume() As Volume_n0
   
   Sub NEW
   End Sub
   
End Class

Class MapPage_n0 As XSD_ANYTYPE
   
   Public datas As ArrayOfString_n0
   Public num_page As XSD_STRING
   Public spool As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfPages_n0 As XSD_ANYTYPE
   
   Public page() As MapPage_n0
   
   Sub NEW
   End Sub
   
End Class

Class MapLimit_n0 As XSD_ANYTYPE
   
   Public previous As XSD_STRING
   Public current As XSD_STRING
   Public next As XSD_STRING
   Public last As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class Volume_n0 As XSD_ANYTYPE
   
   Public m_description As XSD_STRING
   Public m_volume As XSD_STRING
   Public m_groupcriteria As XSD_STRING
   Public m_groupTitle As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfString_n0 As XSD_ANYTYPE
   
   Public string() As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfDocuments_n0 As XSD_ANYTYPE
   
   Public document() As MapDocument_n0
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfPredefineSearchCriteria_n0 As XSD_ANYTYPE
   
   Public PredefineSearchCriteria() As PredefineSearchCriteria_n0
   
   Sub NEW
   End Sub
   
End Class

Class MapLayer_n0 As XSD_ANYTYPE
   
   Public m_numLayer As XSD_STRING
   Public m_nomFileLayer As XSD_STRING
   Public m_nomLayer As XSD_STRING
   Public m_isDefault As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfPredefineSearch_n0 As XSD_ANYTYPE
   
   Public PredefineSearch() As PredefineSearch_n0
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfLayers_n0 As XSD_ANYTYPE
   
   Public layer() As MapLayer_n0
   
   Sub NEW
   End Sub
   
End Class

Class PredefineSearchCriteria_n0 As XSD_ANYTYPE
   
   Public critere As XSD_STRING
   Public description As XSD_STRING
   Public typeSearch As XSD_STRING
   Public begin As XSD_STRING
   Public end As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class PredefineSearch_n0 As XSD_ANYTYPE
   
   Public m_numRecherche As XSD_STRING
   Public m_nomRecherche As XSD_STRING
   Public m_listCriteres As ArrayOfPredefineSearchCriteria_n0
   Public m_nextPage As XSD_STRING
   Public m_nomTravail As XSD_STRING
   Public m_nomUser As XSD_STRING
   Public m_fichierSpool As XSD_STRING
   Public m_OUTQ As XSD_STRING
   Public m_reference As XSD_STRING
   Public m_formatPapier As XSD_STRING
   Public m_sequence As XSD_STRING
   Public m_format As XSD_STRING
   Public m_programmeEdition As XSD_STRING
   Public m_nomPC As XSD_STRING
   
   Sub NEW
   End Sub
   
End Class

Class ArrayOfCriteriaSearch_n0 As XSD_ANYTYPE
   
   Public CriteriaSearch() As CriteriaSearch_n0
   
   Sub NEW
   End Sub
   
End Class

Const n0 = "HelloServer"
Class ServiceSoap_n0 As PortTypeBase
   
   Sub NEW
      Call Service.Initialize ("HelloServerService", _
      "Service.ServiceSoap", "http://10.91.1.12/MapWebFiles/mapSoapServer.php", _
      "ServiceSoap_n0")
      
   End Sub
   
   Function changePass(login As XSD_STRING, passwd As XSD_STRING, passwd_new As XSD_STRING, _
   passwd_confirm As XSD_STRING) As Boolean
      Let changePass = Service.Invoke("changePass", login, passwd, passwd_new, passwd_confirm)
   End Function
   
   Function getLayers(login As XSD_STRING, passwd As XSD_STRING) As ArrayOfLayers_n0
      Set getLayers = Service.Invoke("getLayers", login, passwd)
   End Function
   
   Function sendByMail(login As XSD_STRING, passwd As XSD_STRING, mail_from As XSD_STRING, _
   mail_to As XSD_STRING, mail_subject As XSD_STRING, mail_attach As XSD_STRING, mail_mesg As XSD_STRING, _
   spool As XSD_STRING, pages As XSD_STRING, layer As XSD_STRING, volumes As ArrayOfString_n0, _
   CriteriaSearch As ArrayOfCriteriaSearch_n0, nextPage As Boolean) As Boolean
      Let sendByMail = Service.Invoke("sendByMail", login, passwd, mail_from, mail_to, mail_subject, mail_attach, mail_mesg, spool, pages, layer, volumes, CriteriaSearch, nextPage)
   End Function
   
   Function getPredefineSearch(login As XSD_STRING, passwd As XSD_STRING, volumes As ArrayOfString_n0) As ArrayOfPredefineSearch_n0
      Set getPredefineSearch = Service.Invoke("getPredefineSearch", login, passwd, volumes)
   End Function
   
   Function isLoginValid(login As XSD_STRING, passwd As XSD_STRING) As Boolean
      Let isLoginValid = Service.Invoke("isLoginValid", login, passwd)
   End Function
   
   Function getFile(login As XSD_STRING, passwd As XSD_STRING, spool As XSD_STRING, _
   pages As XSD_STRING, layer As XSD_STRING, typeFile As XSD_STRING) As XSD_BASE64BINARY
      Set getFile = Service.Invoke("getFile", login, passwd, spool, pages, layer, typeFile)
   End Function
   
   Function getFileNoPages(login As XSD_STRING, passwd As XSD_STRING, spool As XSD_STRING, _
   typeFile As XSD_STRING, layer As XSD_STRING, volumes As ArrayOfString_n0, CriteriaSearch As ArrayOfCriteriaSearch_n0, _
   nextPage As Boolean) As XSD_BASE64BINARY
      Set getFileNoPages = Service.Invoke("getFileNoPages", login, passwd, spool, typeFile, layer, volumes, CriteriaSearch, nextPage)
   End Function
   
   Function getCriteres(login As XSD_STRING, passwd As XSD_STRING, volumes As ArrayOfString_n0) As ArrayOfCriteres_n0
      Set getCriteres = Service.Invoke("getCriteres", login, passwd, volumes)
   End Function
   
   Function getVolumes(login As XSD_STRING, passwd As XSD_STRING) As ArrayOfVolumes_n0
      Set getVolumes = Service.Invoke("getVolumes", login, passwd)
   End Function
   
   Function Search(login As XSD_STRING, passwd As XSD_STRING, volumes As ArrayOfString_n0, _
   viewCriterias As ArrayOfString_n0, CriteriaSearch As ArrayOfCriteriaSearch_n0, limit As XSD_INTEGER, _
   nextPage As Boolean, SearchGlobal As Boolean) As MapResultat_n0
      Set Search = Service.Invoke("Search", login, passwd, volumes, viewCriterias, CriteriaSearch, limit, nextPage, SearchGlobal)
   End Function
   
   Function SearchPages(login As XSD_STRING, passwd As XSD_STRING, spool_name As XSD_STRING, _
   critere As XSD_STRING, critereValeur As XSD_STRING, volumes As ArrayOfString_n0, _
   viewCriterias As ArrayOfString_n0, CriteriaSearch As ArrayOfCriteriaSearch_n0, limit As XSD_INTEGER, _
   nextPage As Boolean, SearchGlobal As Boolean) As MapResultatPages_n0
      Set SearchPages = Service.Invoke("SearchPages", login, passwd, spool_name, critere, critereValeur, volumes, viewCriterias, CriteriaSearch, limit, nextPage, SearchGlobal)
   End Function
   
End Class


Je ne comprends pas pourquoi ??
Dernière édition par mike76 le 09 Déc 2010 à 10:35, édité 1 fois.
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 09 Déc 2010 à 10:19

Apparemment il n'aime pas la chaine "admin" et ""
b=ws.Isloginvalid("admin","")

la fonction IsLoginValid attend 2 paramètres de types XSD_String ???

Isloginvalid(Login As Xsd_string, Passwd As Xsd_string) As Boolean - SERVICESOAP_N0 - Mapweb
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 09 Déc 2010 à 10:29

Lorsque je fais ça pas d'erreur à la compilation, mais comment affecter une valeur à mes variables user et pwd ??
J'ai essayé user="admin" mais ça ne passe pas :(

Code : Tout sélectionner
Use "mapweb"

Sub Initialize
   Dim ws As New ServiceSoap_n0
   Dim b As Boolean
   Dim user As Xsd_string
   Dim pwd As Xsd_string
   
   b=ws.isLoginValid(user, pwd)
End Sub   
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 09 Déc 2010 à 10:34

J'ai réussi, voici le code :

Code : Tout sélectionner
Use "mapweb"

Sub Initialize
   Dim ws As New ServiceSoap_n0
   Dim b As Boolean
   Dim user As New Xsd_string
   Dim pwd As New Xsd_string
   
   Call user.Setvaluefromstring("admin")
   Call pwd.Setvaluefromstring("")
   
   b=ws.isLoginValid(user, pwd)
   If b Then
      MsgBox "ok"
   Else
      MsgBox "nok"
   End If
End Sub   
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN


Retour vers Développement