Erreur 2308 : Citrix Online Plug-in a reçu un fichier ICA endommagé

Bonjour,



J’ai créé une web interface en ASP.Net à l’aide du tutorial du SDK WI5 permettant de créer une web interface from scratch.

Je ne passe pas par la mire de login, l’authentification se fait automatiquement à partir des identifiant postés à la web interface.

Au moment d’accéder à la ressource voulue, la vérification du fichier ICA génère une erreur du style :



"Citrix Online Plug-in a reçu un fichier ICA endommagé. La clé () ne possède aucune valeur associée."



J’utilise le plug-in online web 12.0 et je n’ai pas l’erreur avec les anciennes version du client citrix (v6…)



Point important : la web interface va interroger le service xml qui est sur une ancienne version Nfuse (cela peut-il jouer ?)



Si quelqu’un a une idée… Merci

dans ton debugging, actives tu un affichage du rendu du fichier ICA généré par la WI ?

avec le 12.0 (voire le 11.2 je sais plus) si le fichier ICA ne commence pas par [WFClient] une erreur similaire à la tienne sera produite

Bonjour,



Merci d’avoir répondu, ça fait plaisir de savoir que que qqun a eu un problème similaire.



Quand tu parles d’afficher le rendu du fichier ICA , c’est en fait regarder la tête du fichier généré ? Je crois que je peut voir le contenu du fichier au moment du débogage mais j’ai pas trouvé le moyen d’enregistrer le fichier sur le disque.



En admettant que le fichier ICA ne commence pas par [WFClient] comment je peux remédier à cela car je ne contrôle rien sur la génération du fichier ICA tout est automatique à partir du SDK de la WI. (je n’ai pas de template.ica comme dans les versions antérieures de NFuse).



Merci pour ton aide.

tout n’est pas si automatique… tu peux jouer sur le fichier ICA avec un default.ica ou directement avec le SDK.

Ok Merci je vais chercher dans ce sens.



Connaîtrais-tu par hasard des sites (ou des docs) qui parlent de ce sujet à savoir utiliser le SDK pour recréer une Web Interface from scratch et plus particulièrement accéder à des ressources citrix sans passer par la mire d’authentification (authentification transparente).



J’avoue que je suis novice sur le sujet, j’ai fait pas mal de recherche sur internet mais il n’y a aucun endroit où on en parle de manière détaillée.



En fait je voudrais remplacer l’ancienne version customisée de NFuse qui permettait de détecter la version du client citrix qu’il faut installer sur le poste et de s’authentifier de manière transparente puis d’accéder à la ressource. Ce sont les fameux fichier index.jsp, install.jsp et launch.jsp.



J’ai réussie à faire à peu près la même chose avec la WI5 mais de manière très basique et j’ai besoin de plus d’infos (notamment sur la détection du client et son installation en utilisant les méthodes du SDK)



Merci encore pour ton aide.

Je te souhaite bien du courage car le SDK WI est assez voire très pauvre et en plus il n’est plus à jour pour les versions > 5.1…

c’est dommage car la détection, l’installation, le SSO est en standard avec le site WI livré :slight_smile:

Merci pour vos réponses mais comment on fait si on veut customizer la WI sans passer par la mire de Login ??

sinon mon fichier ICA commence par '[WFClient] (avec une cote devant). Comment puis-je enlever la cote à l’aide du SDK. Merci.

"alray" wrote:
Merci pour vos réponses mais comment on fait si on veut customizer la WI sans passer par la mire de Login ??


Faut la mettre en authentification unique, car de manière générale tu nr pourras pas te passer d'authentification

Merci pour les infos, je les notes.

Je poste ici l’erreur que j’ai sur mon fichier ICA. Pouvez-vous m’aider ?



’[Encoding]

InputEncoding=UTF8



[WFClient]

ClientName=WING_unknown

ProxyType=Auto

TransportReconnectEnabled=On

VirtualCOMPortEmulation=On



[ApplicationServers]

Ulis=



[Ulis]

Address=xx.xx.xxx.xxx:xxxx

CGPAddress=*:2598

ClearPassword=B92AFA5DC43A87

ClientAudio=On

DesiredColor=4

DesiredHRES=1024

DesiredVRES=768

Domain=EEA9E7A58EEB42F3

FontSmoothingType=0

InitialProgram=#Ulis

LogonTicket=B92AFA5DC43A87EEA9E7A58EEB42F3

LogonTicketType=CTXS1

LongCommandLine=

ProxyType=Auto

SFRAllowed=Off

SSLEnable=Off

SessionsharingKey=4-basic-none-xxxxxxxxxxxxxxxx-Off-On—

TWIMode=Off

TransportDriver=TCP/IP’ n’est pas un chemin d’accès virtuel valide.

il faut effectivement virer les informations dans le fichier ICA qui posent problème…



vu que tu développe, tu devrais avec VS pouvoir tracer tout cela point à point

Bonjour,



j’ai fait un test avec un fichier ICA (test.ica) très simple du type :



[ApplicationServers]

monappli=

[monappli]

Address=...:

TransportDriver=TCP/IP



quand je lance mon fichier test.ica la connexion s’établit bien avec le plugin Web v12.XX



j’ai fait le même test en générant le fichier ICA dans une page c# dont voici le code :



Response.Charset = “null”;

Response.ContentType = “application/x-ica”;

Response.Expires = -10000;



Response.Write(Environment.NewLine);

Response.Write("[ApplicationServers]");

Response.Write(Environment.NewLine);

Response.Write(“monappli=”);

Response.Write(Environment.NewLine);

Response.Write("[monappli]");

Response.Write(Environment.NewLine);

Response.Write("Address=...
:
** ");

Response.Write(Environment.NewLine);

Response.Write(“TransportDriver=TCP/IP”);



et là j’obtient l’erreur 2308 : "Citrix Online Plug-in a reçu un fichier ICA endommagé. La clé () ne possède aucune valeur associée."



J’ai l’impression qu’il y a un problème d’encodage ??

J’ai enlevé un maximum d’info du fichier ICA mais ça ne change rien

Le même test fonctionne avec une ancienne version du client citrix.

Avez-vous une idée ??

Merci.

quand tu créé ton fichier en c#, quel encodage tu utilises pour créer ton fichier “texte” via StreamReader ? par défaut c’est de l’UTF-8 ce qui est utilisé par la Web Interface normalement (si je me trompe pas) mais peut-être que cela a été configuré differemment sur ton .net



http://msdn.microsoft.com/en-us/library/system.io.streamreader(VS.71).aspx

J’ai suivi ton conseil merci mais j’ai toujours le msg d’erreur



Voici mon code



try

{

// Create an instance of StreamReader to read from a file.

// The using statement also closes the StreamReader.

using (StreamReader sr = new StreamReader(“E:\Documents and Settings\a000acz\Mes documents\WebCitrix\fichiers ICA\version de base qui fonctionne avec plugin 12.ica”))

{

String line;

// Read and display lines from the file until the end of

// the file is reached.

while ((line = sr.ReadLine()) != null)

{

Response.Write(line);

Response.Write(Environment.NewLine);

}

}

}

catch (Exception ex)

{

// Let the user know what went wrong.

Response.Write(“The file could not be read:”);

Response.Write(Environment.NewLine);

Response.Write(ex.Message);

}





Je n’ai rien modifié pour l’encodage, c’est donc de l’utf8 par défaut comme tu le dis.

Si je double clique sur le fichier sur mon disque la connexion citrix se fait bien.

Il y’a un problème avec l’objet Response, y’a t-il un paramétrage que j’aurais oublié ?

(Response.charset = “utf-8” ?? )

je n’aurais pas le temps today mais demain je vais faire un test avec le Session Management Tool 3.0 qui crée un fichier ICA à la volée (code en .net 3.0)

Bonjour,



J’ai trouvé d’où venait le problème.

Il s’agissait en fait du html qui se trouvait dans la page .aspx associée à mon fichier .cs.

Il y avait la balise qui posait problème



Un truc bête :frowning:



Merci pour votre aide…

bravo !