2009-12-10 4 views
1

Je souhaite récupérer et soumettre des données contenant du texte enrichi à un service Web, mais j'ai des problèmes avec le type de données particulier du côté du service Web.Utilisation de la zone de texte enrichi avec Infopath et Webservices

Si j'ai un type de chaîne simple provenant du webservice, infopath n'autorise pas de boîte RTF car ce n'est pas le bon type de données (qui est XHTML).

Quelqu'un a des idées?

Édition: Lancement de la prime.

Répondre

2

Vous avez raison de dire que la zone de texte enrichi ne se lie pas à une chaîne simple. Le type de schéma XML serait erroné.

Si vous êtes en mesure d'affecter le schéma du service Web auquel vous vous connectez, cela pourrait être fait.

Voici quelques informations plus détaillées: How to bind a Rich Text Box control to an element that is returned from a Web service in InfoPath and Visual Studio .NET 2003

Cette solution fonctionne si vous êtes en mesure de modifier le service Web. D'un autre côté, si vous ne l'êtes pas, vous devrez probablement compter sur l'écriture d'un code dans votre formulaire InfoPath qui copie les données des données de service Web dans une zone de texte enrichi non liée et vice-versa. Par ailleurs, je suppose que vous avez déjà utilisé la zone de texte enrichi d'InfoPath et vu le code HTML malveillant qu'il produit. Si vous allez l'utiliser, je ne suggérerais pas d'essayer d'utiliser ce HTML autrement que de le ré-afficher dans la zone de texte enrichi d'InfoPath.

+0

Merci Mike. Je suis capable d'affecter le webservice car je l'écris aussi. n'ont pas encore eu l'occasion de l'essayer. Peut être demain. Jusqu'à présent, il semble que cela devrait fonctionner. En ce qui concerne le HTML que retourne infopath, non je ne l'ai pas vu. On dirait que je devrais enquêter sur la façon dont les utilisateurs ont l'intention d'utiliser les résultats et de les éloigner de la riche zone de texte. si des rapports sont invoqués. –

0

créer une référence personnalisée sur le fichier xml comme comme ci-dessous

**<xsd:element name="myxhtmltest"> 
    <xsd:complexType mixed="true"> 
    <xsd:sequence> 
     <xsd:any namespace="http://www.w3.org/1999/xhtml" processContents="lax" 
    minOccurs="0" maxOccurs="unbounded"/> 
    </xsd:sequence> 
    </xsd:complexType> 
</xsd:element>** 

Ensuite, utilisez la balise ci-dessus comme référence où l'élément est **<s:element ref="tns:myxhtmltest" minOccurs="0" maxOccurs="1"/>**

Questions connexes