Salut à tous
J'ai fait un formulaire que j'ai besoin d'enregistrer en BDD via un serviceWeb
Voici queques liens que j'ai trouvé intéressant, mais je n'arrive pas à les appliquer
http://office.microsoft.com/fr-ca/in...in=HP001096815
http://blogs.msdn.com/b/philoj/archi...08/490200.aspx (fichier ressources)
http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx
Donc j'ai bien générer une classe VB (DemandeNoteDeFrais)à partir du my:schema.xsd d'infopath
Mais je n'arrive pas à mettre mes données dedans :-(
En créant ma connexion de données côté infopath, j'envoie Formulaire entier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <WebMethod()> Public Sub EnregistrerNoteDeFrais(ByVal MaNote As DemandeNoteDeFrais) End Sub
Et je reçoit bien quelquechose, mais mes champs sont vides
Si je sélectionne côté infopath dans ma connexion de données "Champs ou groupe : Maemande" (Noeud racine de mes données) et Inclure "Sous arborescence XML comprenant l'élément sélectionné"
Idem que mon 1er essai Ma classe MaNote est instanciée mais mes champs son vide
J'ai essayé dans mon Webservice
Mais là je me prend une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <WebMethod()> Public Sub EnregistrerNoteDeFrais(ByVal MaNote As xmlNode) Dim ser As New XmlSerializer(GetType(DemandeNoteDeFrais)) Dim LaNoteFrais As DemandeNoteDeFrais = CType(ser.Deserialize(New XmlNodeReader(MaNote)), DemandeNoteDeFrais) End Sub
Si je met un point d'arrêt dans mon serviceWebInfoPath ne peut pas envoyer le formulaire.
Une erreur s'est produite lors de l'envoi du formulaire.
La réponse SOAP indique qu'une erreur s'est produite sur le serveur*:
System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la demande. ---> System.InvalidOperationException: Il existe une erreur dans le document XML. ---> System.InvalidOperationException: <Demande xmlns='http://schemas.microsoft.com/office/infopath/2003/myXSD/2005-09-23T12:28:27'> n'était pas attendu.
à Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderDemandeNoteDeFrais.Read12_DemandeNoteDeFrais()
--- Fin de la trace de la pile d'exception interne ---
à System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
à System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
à WebServiceAD.Service1.EnregistrerNoteDeFrais(XmlNode MaNote) dans D:\Workspaces\Workflows\WebServiceAD\App_Code\UtilsAD.asmx.vb:ligne 493
--- Fin de la trace de la pile d'exception interne ---
Dans ce cas je retrouve bien toutes mes données, apperemment j'ai un problème de cast avec cette méthode.
Je précise que pour envoyer les données d'infopath, je passe par la 2eme méthode Champs ou groupe/inclure
Quelqu'un peut-il m'aider?
Merci
Partager