Bonjour,

je vous explique mon problème.

je suis en .Net 3.5

J'ai créé une application client WCF qui doit consommer un webservice SAP.

Le client doit appeler une méthode du webservice avec en paramètre une heure.

Le soucis c'est que le WSDL spécifie un pattern pour le type time comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
      <xsd:simpleType name="time">
        <xsd:restriction base="xsd:time">
          <xsd:pattern value="[0-9]{2}:[0-9]{2}:[0-9]{2}" />
        </xsd:restriction>
      </xsd:simpleType>
Pour ce paramètre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
          <xsd:element name="Keytime" type="n0:time" />
Qui dans la classe proxy générée est déclaré comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
public System.DateTime Keytime ...
Mais malgré tout, le message SOAP est envoyé comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Keytime>10:07:23.0000000+01:00</Keytime>
Et ça fait planter la fonction...

Y'a t'il un moyen de faire en sorte qu'il n'y ai pas la partie ".0000000+01:00" sans modifier la classe proxy qui est susceptible d'etre recréée, vu qu'on y ajoute souvent des méthodes?