2010-01-12 5 views
0

Je développe une application web de cartographie flexible qui obtient des données à partir de fichiers csv. Cette application est supposée être installée sur le site web d'un client. Le client utilise un système de gestion de serveur Web où les URL générées sont assez longues et contiennent des caractères non alphanumériques. Un exemple est donné ci-dessous:Récupérer des données dans des diagrammes flex de csv

http://www.example.com/EXTERNAL/ORGANIZATION/0,,contentMDK:20135608~pagePK:64060242~piPK:64060289~theSitePK:299948,00.html 

Le problème est que sur mon serveur de test, l'application fonctionne très bien. Mais lorsqu'il est déployé sur le site du client, l'application et les graphiques sont chargés, mais les données CSV ne se chargent pas. L'erreur est donnée:

Input output error: IO_ERROR 

J'ai essayé à la fois référence relatif (par rapport par rapport au fichier swf) et référence absolue à l'URL du fichier csv. Mais les deux approches ont échoué.

Des idées?

Je voudrais idéalement rester à l'écart des URL absolues car cela se décomposerait si les graphiques devaient se déplacer vers un autre emplacement.

Merci
Vinayak

+0

est le même OS sur votre boîte de test et la boîte client. Je veux dire dans unix "/" est utilisé mais dans les fenêtres "\" est utilisé Aussi le logiciel de gestion peut-être bloquer votre contenu CSV si chaque URL est acheminée en premier.Avez-vous mis le SWF et csv dans le même répertoire et vérifier – Rajat

+0

Le fichier csv fait-il référence à votre serveur de test? Est-ce que cela arrive sur tous les navigateurs? Quel est le message d'erreur associé à IOErrorEvent? Que se passe-t-il si vous mettez la référence du fichier csv directement dans la barre d'adresse de votre navigateur? –

+0

@Maffel: Si je mets le fichier CSV directement dans la barre d'adresse du navigateur, il me donne une erreur de fichier 404 non trouvée. @Rajat: J'ai mis dans le CSV et SWF dans le même dossier et envoyé au client pour le déploiement. En attente de leur réponse. – Vinayak

Répondre

1

Umm, je n » Je ne sais pas vraiment quoi dire. Ne sachant pas grand-chose sur le serveur, je devrai recourir à une liste de choses auxquelles je peux penser. Certains d'entre eux sont certes juste un coup de couteau dans le noir. En général, il semble qu'il s'agisse d'un problème côté serveur et, en tant que développeur frontal, vous ne pouvez pas espérer résoudre ce problème. Je sais que le fait de faire fonctionner l'application est la priorité ici, mais si vous n'avez pas accès au serveur, il n'y a pas grand-chose que vous puissiez faire pour résoudre ce problème.

D'abord éliminons le complètement évident. La fin du fichier est-elle censée être .html et non .csv?

À l'origine, je pensais que le CMS empêchait Flash de charger le contenu, mais permettait à un navigateur d'y accéder. Comme cela ne permettra pas non plus que trois options vous viennent à l'esprit:

1) Le serveur ou le navigateur fait quelque chose à l'URL lorsque vous faites la demande. Essayez d'installer l'extension LiveHTTPHeaders (link) pour Firefox, cela vous permettra d'examiner les requêtes HTTP brutes et les réponses. Il peut y avoir des redirections côté serveur qui affectent la demande. Les en-têtes HTTP devraient vous aider aussi.

2) Les fichiers .csv sont conservés dans un dossier auquel le serveur Web n'a pas accès en lecture. 3) vous devrez peut-être utiliser HTTPS au lieu de HTTP. Ce serait un peu étrange puisque vous obtenez l'URL du serveur en premier lieu.L'administrateur du serveur du client devrait être en mesure de le trier pour vous.

4) Je ne suis pas sûr de ce qui se passerait si le script qui gère votre requête est Python. En Python, les deux-points sont des séparateurs de répertoires, ce qui risque de tout gâcher.

5) Le système de gestion des clients fait quelque chose d'étrange à l'URL avant qu'il ne vous soit remis. Bien que je ne sois pas sûr de la façon dont tu testerais ça.

Voilà, je pense. Je n'ai plus d'idées pour le moment. Pour le test, j'oublierais l'application flexible et j'essayerais tout d'abord les requêtes depuis la barre d'adresse du navigateur. Puisque l'application fonctionne sur votre serveur de test, le problème ne devrait pas être votre code. Lorsque vous obtenez les demandes de travailler sur le navigateur, si elles ne fonctionnent toujours pas à partir de Flex, alors c'est votre code.

+0

Nous avons découvert le problème. Le système de gestion du client modifiait les noms de dossier du dossier de données csv et le remplaçait par un nombre généré de manière aléatoire. Nous avons contourné le problème en plaçant tous les fichiers dans le même dossier. Merci de votre aide. Une partie du crédit revient également à @Rajat mais je ne pense pas qu'il existe un moyen d'accepter un commentaire comme réponse. – Vinayak

1

Je ne sais pas combien il aide, mais il y a un as3 CSVLib disponible.

À propos de IOError, pouvez-vous s'il vous plaît coller le texte? Si vous écoutez le IOErrorEvent et tracer event.text dans le gestionnaire , vous devriez quelque chose de similaire à ceci:

Error #2035: URL Not Found. URL: yourFile.csv 

HTH, George

+0

Merci George. La bibliothèque est certainement utile. Et oui, il donne une URL non trouvée erreur. – Vinayak

+0

Le point est de voir le bit 'URL: yourFile.csv' pour votre situation et de fixer le chemin de votre application. Bonne chance! –

Questions connexes