Partager via


Procédure : utiliser des paramètres de requête pour appeler des formulaires InfoPath activés pour le navigateur

Quatre méthodes permettent d'appeler un formulaire InfoPath ou une version basée sur le navigateur du formulaire sur un serveur exécutant InfoPath Forms Services. Ces méthodes sont les suivantes : des URL qui font référence à un fichier de modèle de formulaire (.xsn), des URL qui font référence à un fichier de formulaire (.xml) basé sur un modèle, des URL qui font référence à la page Web FormServer.aspx intégrée et des URL qui contiennent une référence à une page personnalisée contenant le contrôle XmlFormView. Les trois premiers types d'URL prennent en charge l'utilisation des paramètres de requête pour contrôler les aspects du formulaire qui en résulte, notamment s'il est ouvert dans le client InfoPath ou rendu dans le navigateur, l'emplacement où le formulaire est enregistré et la page Web vers laquelle l'utilisateur est redirigé à la fermeture du formulaire.

Important

Par défaut, les formulaires InfoPath sont ouverts dans InfoPath, même si une version activée pour le navigateur existe. Si InfoPath n'est pas installé, le formulaire est ouvert dans le navigateur. Outre les paramètres de requête permettant de contrôler le mode d'ouverture des formulaires, les paramètres de bibliothèque SharePoint sont également utilisés pour contrôler l'emplacement de leur ouverture. Pour que le formulaire soit toujours ouvert dans le navigateur, choisissez Afficher en tant que page Web sur la page Paramètres avancés de la bibliothèque.

Vous pouvez utiliser neuf paramètres différents pour ouvrir les formulaires InfoPath. Certains en écrasent d'autres ou ne peuvent pas être utilisés ensemble, comme mentionné dans le tableau ci-dessous. Les paires nom/valeur qui n'apparaissent pas dans le tableau ci-dessous sont interprétées comme des paramètres d'entrée et transférées au formulaire. Ces paramètres sont constitués d'une ou plusieurs paires nom/valeur séparées par le caractère & et spécifiées lors de l'ouverture d'un modèle de formulaire à partir de la ligne de commande ou d'un fichier batch à l'aide de l'option de ligne de commande /InputParameters, ou lorsqu'un modèle de formulaire est ouvert à partir d'une URL. Pour plus d'informations sur l'utilisation des paramètres d'entrée, voir la propriété InputParameters de la classe LoadingEventArgs.

Nom du paramètre Description Valeurs possibles

XmlLocation

Utilisé pour ouvrir un formulaire existant. Les propriétés XmlLocation et XsnLocation s'excluent mutuellement ; une erreur se produit si vous spécifiez une valeur pour les deux paramètres.

Une URL valide vers un fichier de formulaire (.xml) de la même collection de sites.

XsnLocation

Utilisé pour ouvrir un nouveau formulaire à partir d'un modèle de formulaire. Si un paramètre XsnLocation est spécifié dans une URL utilisant FormServer.aspx, un paramètre SaveLocation doit également être spécifié si les boutons Enregistrer et Enregistrer sous doivent apparaître. Le paramètre Source doit toujours être spécifié, sinon le message « Le formulaire a été fermé. » apparaît lorsque l'utilisateur ferme le formulaire. Les propriétés XmlLocation et XsnLocation s'excluent mutuellement ; une erreur se produit si vous spécifiez une valeur pour les deux paramètres.

Une URL valide vers un fichier de modèle de formulaire (.xsn) publié sur la même collection de sites.

OpenIn

  • Si un paramètre de requête Source est spécifié, la valeur par défaut est Browser.

  • Si XmlLocation est spécifié, la valeur par défaut correspond au paramètre utilisé dans la bibliothèque.

  • Si seul XsnLocation est spécifié, la valeur par défaut est PreferClient.

  • Si Mobile est spécifié, le formulaire est redirigé vers la page MobileFormServer.aspx pour être rendu. La prise en charge des appareils mobiles doit être activée sur le modèle de formulaire. Dans le cas contraire, un message d'erreur est renvoyé.

  • Browser

  • Client

  • PreferClient

  • Mobile

Source

L'emplacement vers lequel l'utilisateur est redirigé à la fermeture du formulaire. L'URL doit être dans la même collection de sites. Dans le cas contraire, une erreur est renvoyée.

Une URL valide dans la même collection de sites que le formulaire.

Options

DisableSave est la seule valeur possible. Elle masque les boutons Enregistrer et Enregistrer sous et désactive l'enregistrement du formulaire lorsqu'il est rendu dans le navigateur.

DisableSave

SaveLocation

Une boîte de dialogue Enregistrer sous s'affiche et invite l'utilisateur à fournir un nom de fichier. Il est ensuite enregistré dans le dossier spécifié. Une erreur est renvoyée si le dossier spécifié n'existe pas.

Tout emplacement de dossier valide dans la collection de sites.

NoRedirect

Ne redirige pas vers la page FormServer.aspx pour la détection du client ou le rendu dans le navigateur. La valeur par défaut est false. Si true et un paramètre XmlLocation ou XsnLocation sont spécifiés, une boîte de dialogue Téléchargement de fichier apparaît lorsque vous utilisez Internet Explorer.

  • true

  • false (par défaut)

DefaultItemOpen

Il convient plutôt d'utiliser le paramètre OpenIn, qui écrase la valeur du paramètre DefaultItemOpen. La valeur 0 indique que la demande provient d'une bibliothèque de documents et qu'aucun client InfoPath n'a été détecté. La valeur 1 indique que la demande provient d'une bibliothèque de documents ou de formulaires dont le paramètre Afficher en tant que page Web est activé.

  • 0

  • 1

Notes

Les paramètres de requête et leurs valeurs ne respectent pas la casse, à l'inverse des propriétés correspondantes du contrôle XmlFormView, telles que les propriétés Options et SaveLocation.

Procédures

Pour réaliser les procédures suivantes, une collection de sites sur laquelle publier les modèles de formulaire, ainsi que la possibilité de créer de nouveaux sites dans la collection, sont nécessaires.

Des espaces réservés sont utilisés dans les exemples d'URL ci-dessous. Ils représentent les éléments de SharePoint et d'InfoPath suivants :

  • NomServeur : un serveur exécutant InfoPath Forms Services.

  • CollectionSites : le site de plus haut niveau d'une collection de sites.

  • BibliothèqueFormulaires : une bibliothèque de formulaires ou de documents contenant un modèle de formulaire activé pour le navigateur.

  • Form1.xml : un formulaire basé sur le modèle template.xsn de la bibliothèque BibliothèqueFormulaires.

  • NouveauDossier : un dossier de la bibliothèque BibliothèqueFormulaires.

  • NouveauSite : un site de la collection CollectionSites.

La valeur ~sitecollection utilisée dans les URL suivantes n'est pas un espace réservé. Il s'agit d'un jeton spécial utilisé avec InfoPath Forms Services pour activer les liens relatifs et les adresses URL à l'échelle des collections de sites.

Utilisation d'une URL avec le paramètre XmlLocation

  1. Créez un modèle de formulaire et chargez-le dans une nouvelle bibliothèque de formulaires.

  2. Créez un formulaire à partir de ce modèle et enregistrez-le sous le nom « Form1 » dans la bibliothèque.

  3. Entrez l'URL suivante, en remplaçant les valeurs des espaces réservés par les valeurs réelles :

    http://NomServeur/sites/CollectionSites/_layouts/FormServer.aspx?XmlLocation=~sitecollection/BibliothèqueFormulaires/Form1.xml

    Notes

    Notez que « Form1 » est rendu dans le navigateur.

Utilisation d'une URL avec les paramètres XsnLocation, SaveLocation et Source

  1. Créez un modèle de formulaire et chargez-le dans une nouvelle bibliothèque de formulaires.

  2. Entrez l'URL suivante, en remplaçant les valeurs des espaces réservés par les valeurs réelles :

    http://NomServeur/sites/CollectionSites/_layouts/FormServer.aspx?XsnLocation=~sitecollection/BibliothèqueFormulaires/Forms/template.xsn&SaveLocation=~sitecollection/BibliothèqueFormulaires&Source=~sitecollection/BibliothèqueFormulaires

    Notes

    Un nouveau formulaire basé sur le modèle de formulaire est rendu dans le navigateur.

  3. Enregistrez le nouveau formulaire.

    Notes

    Le formulaire est enregistré dans la bibliothèque de formulaires spécifiée par le paramètre SaveLocation.

  4. Fermez le formulaire pour revenir à la bibliothèque de formulaires spécifiée par le paramètre Source. Dans ce cas, la bibliothèque de formulaires est également l'endroit où le formulaire est enregistré car les paramètres SaveLocation et Source pointent vers le même emplacement.

Utilisation d'une URL avec les paramètres SaveLocation et Source

  1. Créez un modèle de formulaire et chargez-le dans une nouvelle bibliothèque de formulaires.

  2. Créez un formulaire à partir de ce modèle et enregistrez-le sous le nom « Form1 » dans la bibliothèque.

  3. Créez un nouveau dossier dans la bibliothèque de formulaires et utilisez son nom à la place de NouveauDossier dans l'URL ci-dessous.

  4. Créez un nouveau site sous le site de plus haut niveau existant dans la collection de sites et utilisez son nom à la place de NouveauSite dans l'URL ci-dessous.

  5. Entrez l'URL suivante, en remplaçant les valeurs des espaces réservés par les valeurs réelles :

    http://NomServeur/sites/CollectionSites/_layouts/FormServer.aspx?XmlLocation=~sitecollection/BibliothèqueFormulaires/Form1.xml&SaveLocation=~sitecollection/BibliothèqueFormulaires/NouveauDossier/&Source=~sitecollection/NouveauSite

  6. Enregistrez le formulaire existant et renommez-le dans la boîte de dialogue Enregistrer sous. Le formulaire est alors enregistré dans le nouveau dossier.

  7. Fermez le formulaire pour être redirigé vers le nouveau site.

Utilisation d'une URL avec le paramètre OpenIn=Browser

  1. Créez un modèle de formulaire et chargez-le dans une nouvelle bibliothèque de formulaires.

  2. Créez un formulaire à partir de ce modèle et enregistrez-le sous le nom « Form1 » dans la bibliothèque.

  3. Entrez l'URL suivante, en remplaçant les valeurs des espaces réservés par les valeurs réelles :

    http://NomServeur/sites/CollectionSites/BibliothèqueFormulaires/Form1.xml?OpenIn=Browser

    ou

    http://NomServeur/sites/CollectionSites/_layouts/FormServer.aspx?XmlLocation=~sitecollection/BibliothèqueFormulaires/Form1.xml&OpenIn=Browser

    Notes

    Même si Microsoft Office InfoPath 2007 est installé, l'URL force le rendu du formulaire dans le navigateur.

Utilisation d'une URL avec le paramètre NoRedirect

  1. Créez un modèle de formulaire et chargez-le dans une nouvelle bibliothèque de formulaires.

  2. Créez un formulaire à partir de ce modèle et enregistrez-le sous le nom « Form1 » dans la bibliothèque.

  3. Entrez l'URL suivante, en remplaçant les valeurs des espaces réservés par les valeurs réelles :

    http://NomServeur/sites/CollectionSites/BibliothèqueFormulaires/Form1.xml?NoRedirect=true

    et

    http://NomServeur/sites/CollectionSites/BibliothèqueFormulaires/Forms/template.xsn?NoRedirect=true

    Notes

    Le fichier de formulaire (.xml) et le modèle de formulaire (.xsn) ne sont pas redirigés vers la page FormServer.aspx. Au lieu de cela, la boîte de dialogue Téléchargement de fichier apparaît (si vous utilisez Internet Explorer) pour télécharger le fichier à partir du site SharePoint.

Il est parfois nécessaire de renvoyer un flux de contenu du code XML représentant le formulaire. Pour ce faire, procédez comme suit.

Renvoi d'un flux de contenu

  • Utilisez une URL avec le paramètre NoRedirect.

  • Insérez un en-tête « Translate:f » dans la demande HTTP GET, comme suit :

    myRequest.Headers.Add("Translate:f");
    myRequest.Headers["Translate"] = "F";
    
  • Utilisez l'agent utilisateur InfoPath approprié dans la demande HTTP GET : InfoPath.1 ou InfoPath.2.

Voir aussi

Autres ressources

Création de modèles de formulaire destinés à un appareil mobile