Partager via


Prise en charge des rapports de clients via HTTP

S'applique à: Application Virtualization 4.6

La version 4.6 du client App-V Client prend désormais en charge l'utilisation de la communication HTTP lors de l'envoi des données des rapports de clients vers le serveur de publication. Cette fonction prend en charge les scénarios dans lesquels un client a implémenté un serveur de publication HTTP(S) personnalisé configuré pour collecter et traiter les données du client.

Pour plus d'informations sur les serveurs de publication HTTP, reportez-vous à https://go.microsoft.com/fwlink/?LinkId=157426

Rapports des clients via HTTP

Le client démarre la collecte des données lorsqu'il reçoit un attribut “REPORTING=”TRUE”” dans le fichier XML de réponse d'actualisation de la publication depuis le serveur de publication. Une fois cet attribut reçu, le client envoie les données accumulées vers le serveur de publication qui a envoyé l'actualisation de la publication. Les détails de cette procédure se présentent ainsi :

  • Le client envoie une demande HTTP GET au serveur de publication pour une actualisation de la publication. L'en-tête de ce message contient un en-tête personnalisé “AppV-Op:Refresh” que le serveur de publication HTTP(S) personnalisé utilise pour identifier le type du message.

  • Le serveur de publication envoie ensuite le fichier XML de réponse d'actualisation de la publication qui contient une valeur “REPORTING=”TRUE””.

  • Le client envoie alors une demande HTTP POST vers le serveur de publication avec les données de rapports collectées depuis l'actualisation précédente. L'en-tête de ce message contient un en-tête personnalisé “AppV-Op:Report” que le serveur de publication HTTP(S) utilise pour identifier le type du message.

Le schéma suivant fournit les détails spécifiques du package et les données d'application envoyées vers le serveur.

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="CLIENT_DATA">
        <xs:complexType>
            <xs:all>
                <xs:element ref="PKG_LIST" minOccurs="1" maxOccurs="1"/>
                <xs:element ref="APP_RECORDS" minOccurs="1" maxOccurs="1"/>
            </xs:all>
            <!-- no regex for Ver because we want to allow tags like "Beta" -->
            <xs:attribute name="Ver" type="xs:normalizedString" use="required"/>
            <xs:attribute name="Host" type="xs:token" use="required"/>
            <xs:attribute name="CacheSize" type="xs:nonNegativeInteger" use="required"/>
            <xs:attribute name="CacheUsed" type="xs:nonNegativeInteger" use="required"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="PKG_LIST">
        <xs:complexType>
            <xs:choice>
                <xs:element ref="PKG_DATA" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>

    <xs:element name="PKG_DATA">
        <xs:complexType>
            <xs:attribute name="Name" type="xs:normalizedString" use="required"/>
            <xs:attribute name="Guid" type="xs:token" use="required"/>
            <xs:attribute name="Ver" type="xs:normalizedString" use="required"/>
            <xs:attribute name="VerGuid" type="xs:token" use="required"/>
            <xs:attribute name="Source" type="xs:normalizedString" use="required"/>
            <xs:attribute name="PctCached" use="required">
                <xs:simpleType>
                    <xs:restriction base="xs:nonNegativeInteger">
                        <xs:minInclusive value="0"/>
                        <xs:maxInclusive value="100"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
        </xs:complexType>
    </xs:element>

    <xs:element name="APP_RECORDS">
         <xs:complexType>
            <xs:choice>
                <xs:element ref="APP_RECORD" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
   </xs:element>

    <xs:element name="APP_RECORD">
            <xs:attribute name="Name" type="xs:normalizedString" use="required"/>
            <xs:attribute name="Ver" type="xs:normalizedString" use="required"/>
            <xs:attribute name="Server" type="xs:normalizedString" use="required"/>
            <xs:attribute name="User" type="xs:normalizedString" use="required"/>
            <xs:attribute name="Launched" type="xs:dateTime" use="required"/>
            <xs:attribute name="Shutdown" type="xs:dateTime" use="optional"/>
    </xs:element>

</xs:schema>

-----
Vous pouvez en savoir plus sur MDOP dans la bibliothèque TechNet, recherchez des informations de dépannage sur le wiki TechNet ou suivez-nous sur Facebook ou Twitter. Veuillez envoyer vos suggestions et commentaires sur la documentation de MDOP à MDOPdocs@microsoft.com.