PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → serviceweb meteo
serviceweb meteo
Débuté par lenny C# lenstrike, 12 oct. 2006 19:34 - Aucune réponse
Posté le 12 octobre 2006 - 19:34
bonjour,

j'ai intégré à un de mes projets un serviceweb météo, pour paramétré correctement j'ai suivit l'exemple didactique du livre d'autoformation.

pas d'erreur à la compilation mais une fois la methode searchStationByName oui,

STSearch_StationByName ne peut pas etre converti vers le type chaine??

et le debugueur pointe dans le code .net fourni...

quelle correction faut il que j'apporte pour que ce la marche??


merci d'avance lenny


voici les codes: pour ceux qui ont le courage de lire!! lol




//clic BOUTON Meteo::

ResultatXML est une chaîne=""

LaMeteo est Get_Weather.STSearch_StationByName
LaMeteo:m_name=SAI_NOMSTATION



ResultatXML=Search_StationByName(LaMeteo)
ResultatXML= XMLVersTexte(ResultatXML)
//ResultatXML= XMLVersTexte("Search_StationByName(LaMeteo)")//(ResultatXML)

CodeICAO est une chaîne=""
CodeICAO=XMLExtraitChaîne(ResultatXML,"icao")

SI CodeICAO~="" ALORS
Erreur("La Sation "+SAI_NOMSTATION+RC+" n'est pas reconnue par ce service.")
RETOUR
FIN

Lameteo2 est GET_Weather.STGet_WeatherReport
Lameteo2:m_code=CodeICAO

ResultatXML=Get_WeatherReport(Lameteo2)


//renseignements des champs

SAI_TEMPERATURE=XMLExtraitChaîne(ResultatXML,"ambient")
SAI_POINTROSEE=XMLExtraitChaîne(ResultatXML,"dewpoint")
SAI_HUMIDITE=Val(XMLExtraitChaîne(ResultatXML,"relative_humidity"))
SAI_PRESSION=XMLExtraitChaîne(ResultatXML,"altimeter")

ValeurBaliseSky, Résultat sont des chaînes
i est un entier
ValeurBaliseSky=XMLExtraitChaîne(ResultatXML,"sky")

i=0
BOUCLE
i++
Résultat=XMLExtraitChaîne(ValeurBaliseSky,"string")
SI Résultat~="" ALORS SORTIR
SAI_CIEL=SAI_CIEL+Résultat+RC

FIN







code importe du .net

PROCEDURE Search_StationByName(name)


DotNet.Nom[1]="name"
DotNet.Type[1]=DotNetTypeChaîne
//
//
DotNet.Valeur[1]=name // !!!!!!!!!!!!!!! le debugueur pointe là!!!!

//
//
bRes est un booléen
bRes=DotNetExécute("http://www11.brinkster.com/bgx/webservices/GET_Weather.asmx", "Search_StationByName", "http://www11.brinkster.com/bgx/webservices/publicGET", "http://www11.brinkster.com/bgx/webservices/publicGET/Search_StationByName")
SI PAS bRes ALORS
SI DotNetErreur(DotNetErrMessage)~="" ALORS
Erreur(ErreurInfo())
SINON
Erreur(DotNetErreur(DotNetErrMessage))
FIN
FIN

docres est une chaîne="docres"
res est un GET_Weather.STSearch_StationByNameResponse
XMLDocument(docres,DotNetDonneRésultat(DotNetRésultatXML))
SI PAS XMLExécuteXPath(docres,"//*/*[local-name()='Search_StationByNameResponse']") ALORS
RENVOYER res
FIN
SI XMLTrouve(docres) ALORS

sidRes est une chaîne =XMLDonnée(docres,"href")
SI sidRes<>"" ALORS
sidRes=sidRes[[2 A ]]
XMLExécuteXPath(docres, "//*/*/*[@id='"+sidRes+"']")
FIN

GET_Weather._STSearch_StationByNameResponse_DepuisXML(res, docres);
FIN
RENVOYER res

FIN:
XMLTermine(docres)