FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Webservice
Webservice
Débuté par Stéphane, 25 mai 2018 11:48 - 7 réponses
Connectez-vous…
Stéphane
#1
Posté le 25 mai 2018 - 11:48
Bonjour à tous,
Je voudrais simplement écrire une valeur dans un webservice mais cela ne fonctionne pas.
Voici comment je procède :
monTabVar
est un tableau de chaînes
= [
"FABRIC.EM.TAB_RC.DONNEES.VARIABLES_01"
]
monTabVal
est un tableau de chaînes
= [
"9397"
]
WriteVar
est
RealTimeData.Write
WriteVarReponse
est un
RealTimeData.WriteResponse
WriteVar.SessionId
=
idSession
WriteVar.variableNames.string
=
monTabVar
WriteVar.variableValues.anyType
=
monTabVal
WriteVarReponse
=
RealTimeData.Write
(
WriteVar
)
machaine
est une chaîne
=
"Code : "
+
WriteVarReponse.results.Result.code
Info
(
machaine
)
Voici un impEcran de mon webservice :
On peux voir sur la variable anytype qu'elle est en dynamique.
Et voici le XML :
POST
/
realtimedata
/
realtimedata.asmx HTTP
/
1.1
Host
:
localhost
Content
-
Type
:
text
/
xml
;
charset
=
utf
-
8
Content
-
Length
:
length
SOAPAction
:
"http://WebServicesToolkit.net/SV/RealTimeData/v1.0/Write"
<
?
xml version
=
"1.0"
encoding
=
"utf-8"
?
>
<
soap
:
Envelope
xmlns
:
xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns
:
xsd
=
"http://www.w3.org/2001/XMLSchema"
xmlns
:
soap
=
"http://schemas.xmlsoap.org/soap/envelope/"
>
<
soap
:
Header
>
<
MessageHeader xmlns
=
"http://WebServicesToolkit.net/SV/RealTimeData/v1.0/"
>
<
MessageTimeStamp
>
string
<
/
MessageTimeStamp
>
<
MessageIssuer
>
string
<
/
MessageIssuer
>
<
Signature
>
string
<
/
Signature
>
<
/
MessageHeader
>
<
/
soap
:
Header
>
<
soap
:
Body
>
<
Write xmlns
=
"http://WebServicesToolkit.net/SV/RealTimeData/v1.0/"
>
<
SessionId
>
string
<
/
SessionId
>
<
variableNames
>
<
string
>
string
<
/
string
>
<
string
>
string
<
/
string
>
<
/
variableNames
>
<
variableValues
>
<
anyType
/
>
<
anyType
/
>
<
/
variableValues
>
<
writeParameters
>
<
CustomUserName
>
string
<
/
CustomUserName
>
<
/
writeParameters
>
<
/
Write
>
<
/
soap
:
Body
>
<
/
soap
:
Envelope
>
Il me renvoi bien qu'il a écrit dans la variable, mais lorsque je vais voir dans la variable la valeur, il y a :
System.Xml.XmlNode[]
Merci d'avance de votre aide.
Signaler
0
0
Stéphane
#2
Posté le 25 mai 2018 - 14:30
up
Signaler
0
0
Stéphane
#3
Posté le 28 mai 2018 - 12:00
Bonjour à tous,
Quelqu'un aurait une petite idée pour me faire avancer sur mon problème ?
Merci d'avance.
Signaler
0
0
Stéphane
#4
Posté le 29 mai 2018 - 10:03
Salut Tous,
Y'a-t-il vraiment personne pour me donner un coup de main ?
Help Me
Signaler
0
0
Jérôme
#5
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 13 juin 2018 - 11:58
Bonjour Stéphane,
Essayez avec cette syntaxe :
monTabVar
est un tableau de chaînes
= [
"FABRIC.EM.TAB_RC.DONNEES.VARIABLES_01"
]
monTabVal
est un tableau de chaînes
= [
"9397"
]
WriteVar
est
RealTimeData.Write
WriteVarReponse
est un
RealTimeData.WriteResponse
WriteVar.SessionId
=
idSession
WriteVar.variableNames.string
=
monTabVar
WriteVar.variableValues.anyType
[
1
] =
"9397"
WriteVarReponse
=
RealTimeData.Write
(
WriteVar
)
machaine
est une chaîne
=
"Code : "
+
WriteVarReponse.results.Result.code
Info
(
machaine
)
Pas dit que ça fonctionne mais je m'en suis parfois sorti avec cette syntaxe pour faire passer des tableaux à un webservice.
Signaler
1
0
Stéphane
#6
Posté le 20 juin 2018 - 11:18
Bonjour Jérôme,
Merci de ta réponse mais sa ne fonctionne pas.
J'ai fais un test avec un logiciel de nom SOAPUI et si je modifie cette balise :
<
anyType
>
21.3
<
/
anyType
>
en :
<
ns1
:
anyType
xsi
:
type
=
"xsd:string"
>
21.3
<
/
ns1
:
anyType
>
Cela fonctionne.
Donc ma question, comment faire pour modifier la balise.
Merci d'avance de vos réponse.
Signaler
0
0
Jérôme
#7
Membre enregistré
179 messages
Popularité : +17 (17 votes)
Posté le 21 juin 2018 - 16:39
J'ai rencontré le même soucis et je m'en suis sorti avec la fonction SOAPAjouteAttribut()
Peut-être comme ceci :
monTabVar
est un tableau de chaînes
= [
"FABRIC.EM.TAB_RC.DONNEES.VARIABLES_01"
]
monTabVal
est un tableau de chaînes
= [
"9397"
]
WriteVar
est
RealTimeData.Write
WriteVarReponse
est un
RealTimeData.WriteResponse
WriteVar.SessionId
=
idSession
WriteVar.variableNames.string
=
monTabVar
WriteVar.variableValues.anyType
[
1
] =
"9397"
SOAPAjouteAttribut
(
WriteVar.variableValues.anyType
[
1
]
,
"xsi:type"
,
"anyType"
)
WriteVarReponse
=
RealTimeData.Write
(
WriteVar
)
machaine
est une chaîne
=
"Code : "
+
WriteVarReponse.results.Result.code
Info
(
machaine
)
Il faut dans tous les cas regarder ce qui est réellement envoyé au webservice avec les type wsRequête et wsRéponse.
monTabVar
est un tableau de chaînes
= [
"FABRIC.EM.TAB_RC.DONNEES.VARIABLES_01"
]
monTabVal
est un tableau de chaînes
= [
"9397"
]
WriteVar
est
RealTimeData.Write
WriteVarReponse
est un
RealTimeData.WriteResponse
WriteVar.SessionId
=
idSession
WriteVar.variableNames.string
=
monTabVar
WriteVar.variableValues.anyType
[
1
] =
"9397"
SOAPAjouteAttribut
(
WriteVar.variableValues.anyType
[
1
]
,
"xsi:type"
,
"anyType"
)
C
est un wsRequête
c
Rep
est un wsRéponse
c
Rep
=
RealTimeData.Write
(C,
WriteVar
)
Trace
(C..
SourceXML
)
WriteVarReponse
=
c
Rep
machaine
est une chaîne
=
"Code : "
+
WriteVarReponse.results.Result.code
Info
(
machaine
)
ça permet de faire des comparaisons avec SoapUI et de s'en sortir!
Signaler
1
0
Stéphane
#8
Posté le 02 juillet 2018 - 19:06
Salut Jérôme,
Oui avec SOAPAjouteAttribut sa fonctionne parfaitement.
Merci encore pour ton aide.
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte