PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD17] Webservice Soap
[WD17] Webservice Soap
Débuté par ETE, 18 oct. 2012 12:56 - 3 réponses
Membre enregistré
2 messages
Posté le 18 octobre 2012 - 12:56
Nous travaillons à une soap webservice qui ne pose aucun problème, tout fonctionne bien. Nous se demandons si l'on peut également lire les paramètres passés dans l'en-tête de soap (soap header) sur le côté serveur.
Jusqu'à présent, je ne pouvais pas trouver un moyen facile ou sont-il des fonctions WL pour le faire. Du côté client il ya quelques fonctions WL pour ajouter et extraire des informations d'en-tête du soap message.

Question: est-ce aussi possible sur le côté serveur.


exemple du message:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ean.nl" xmlns:ins="http://www.ins.nl" xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ EnvelopeWithMessages_ins.xsd">
<SOAP-ENV:Header>
<ins:SessionId>39001</ins:SessionId>
<ins:MessageId>31415</ins:MessageId>
<ins:MessageDate>2012-10-12T14:25:54</ins:MessageDate>
<ins:Sender/>
<ins:IsTestMessage>True</ins:IsTestMessage>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.gs1.nl" xsi:schemaLocation="http://www.gs1.nl Order_ins.xsd">
<OrderHeader>
<OrderVersion>005</OrderVersion>
<OrderTypeCode>220</OrderTypeCode>
<OrderProcessIndicator>4</OrderProcessIndicator>
<Document>
<DocumentNumber>506423</DocumentNumber>
<Date>2010-09-13</Date>
<Time>12:00:00</Time>
<FreeText>6152153</FreeText>
</Document>
<ScenarioCode>1B</ScenarioCode>
<Supplier>
..........
..........

Merci en avance.
Posté le 21 mai 2013 - 11:31
Bonjour,


J'ai la même problématique et donc la même question - [WD16] [WD17] [WD18].

Côté Client, pas de soucis, vu qu'il est toujours possible de construire le message XML à envoyer. on peu toujours trouver une solution.
Par contre en mode serveur, il ne me parraît pas possible d'accéder à l'entête du message, ni même de traiter le message XML complet reçu coté serveur.

Le but est de pouvoir accéder à l'entête est de pouvoir récupérer des infos de l'entête comme par exemple le username ou le password WSSE de l'entête comme ci-dessous :
<S11:Envelope xmlns:S11="..." xmlns:wsse="...">
<S11:Header>
...
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>TaxiDriver</wsse:Username>
<wsse:Password>YourTalkingToMe</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
...
</S11:Header>
...
</S11:Envelope>


Si il n'est vraiment pas possible de lire l'entête le seul moyen de passer un login et un mot de passe au webservice serait de l'inclure en paramètre d'entrée de la méthode (ce qui n'est pas très propre).

Quelqu'un a-t-il trouvé une solution pour lire des éléments de l'entête ou juste récupérer le message XML complet reçu au niveau du serveur ?

Merci beaucoup de vos :merci:
Posté le 20 juin 2014 - 17:20
Bonjour
Avez vous trouvé une solution a ce problème de lecture du header avec WINDEV ?
Merci
Membre enregistré
7 messages
Popularité : +1 (1 vote)
Posté le 22 février 2017 - 15:48
Bonjour,
Avez vous trouvé une solution a ce problème de lecture du header avec WEBDEV ?

D'autre part il est mentionné l'application du standard WS-adressing dans la version 21 mais aucune information concernant son utilisation dans la doc.
Merci