Date et web service [Résolu]

Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
- - Dernière réponse : luxior1
Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
- 20 août 2008 à 10:55
Bonjour,

j'ai un problème lors de l'utilisation d'un web service.

en entrée, je fournie une date en paramêtre. Pourtant les collègues qui fournissent le service ne l'on pas dans le flux d'arrivé . Les autres données autres que dates par contre sont bien présentes dans le flux d'arrivée.

si quelqu'un aurai une petite idée qui pourrait m'aider, ce serait sympa.
merci d'avance.
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
3
Merci
Enfin nous avons trouvé une solution. Je vous la communique au cas où cela puisse vous aider un jour.
Au fur a mesure de l'étude de l'erreur il devenait évident que le programme n'y était pas pour grand chose. Il semble que ce soit le module de liaison et sérialisation des informations qui n’arrivait pas a gérer la traduction des types Date. La solution la plus simple a été de le forcer à traduire les dates en chaine de caractères.

la manipulation suivante a donc été effectuée:
<ol style="MARGIN-TOP: 0pt" type="1"><li class="MsoNormal" style="MARGIN: 0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt">Ajoutez au fichier xxx.xsd</li></ol>  <xs:simpleType name="date"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

    <xs:restriction base="xs:string">

      <xs:maxLength value="10" />

    </xs:restriction>

  </xs:simpleType>

 

<ol style="MARGIN-TOP: 0pt" type="1" start="2"><li class="MsoNormal" style="MARGIN: 0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt">Remplacer toutes les définitions de dates xs:date par ns5:date, exemple : </li></ol><xs:element minOccurs="0" name="dateEffet" type="xs:date" />

remplacé par

<xs:element minOccurs="0" name="dateEffet" type="ns5:date" />

 

<ol style="MARGIN-TOP: 0pt" type="1" start="3"><li class="MsoNormal" style="MARGIN: 0pt; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt">dans le code VB.NET affectez :</li></ol>si cr est votre objet controlerRisque

cr.contexte.contrat.dateEffet = "2008-09-31"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 145 internautes nous ont dit merci ce mois-ci

Commenter la réponse de luxior1
Messages postés
3288
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
si tu nous donnais plus de précisions , on aurait peut être une chance de pouvoir t'aider
par exemple : De quel WebService parles tu ?

bonjour chez vous!
< body>
Commenter la réponse de gillardg
Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
0
Merci
Une entreprise partenaire me fournit un webservice: GestionContratAutoService.wsdl
Ce service est fournit par un server Apache Axis2 ADB et dévellopé en Java.
De mon coté, j'utilise un client ASP.NET soutenu par le VB.NET (2.0) pour utiliser leur service. Notre server est un server Windows 2000.

pour fournir les parametres d'entrées, nos partenaires mettent a notre disposition un ensemble des classes 'contenaire' où renseigner les champs définissant notre demande.
3 de ces champs sont des dates, sont renseignées mais n'arrivent pas à leur serveur. Les autres données de ces classes 'container' autres que des dates arrivent au webservice sans problème (les objets sont donc bien initialisé).

Il peut être interessant de savoir que pour un autre webservice du meme partenaire, ne date est aussi nécessaire en parametre d'entree et cela fonctionne (les technilogies logicielles sont donc capable d'echanger des dates entre elles).
Commenter la réponse de luxior1
Messages postés
3288
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
ça m'en dit pas plus je sais pas essayer donc je sais pas t'aider mais regrde le format de tes dates peut-être simplement des guillemets"" ou # ou alors changer les / en -

bonjour chez vous!
< body>
Commenter la réponse de gillardg
Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
0
Merci
merci c'est gentil,
j'ai essaye plusieur format:
- eux nécessite le format anglais: YYYY-MM-DD et je fournie du Francais DD-MM-YYYY.
- les séparateurs: eux veulent des '-' et j'utilise des '/'.
comme je l'ai dis dans un cas ca passe et dans l'autre non :( .
biensur dans le cas qui passe pas, j'ai essayer les formats anglais et francais ainsi que les différents séparateurs.
Commenter la réponse de luxior1
Messages postés
3288
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
es tu sur que c'est pas un string qu'il faut?

bonjour chez vous!
< body>
Commenter la réponse de gillardg
Messages postés
8
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2011
0
Merci
oui sur
le type définit dans les fichier wsdl et xsd est 'date'
par contre lors de la programmation VB.NET j'écris 'cr.contexte.contrat.dateEffet = "01/08/2008"
' et le cast se fait automatiquement par le language.
Commenter la réponse de luxior1