IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XMLRAD Discussion :

Portage d'application XMLRAD6


Sujet :

XMLRAD

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut Portage d'application XMLRAD6
    Bonjour,

    J'avais développé il y a plusieurs années une application xmlrad6 qui vivait son bonhomme de chemin sans problème. Mais voilà, ma société a changé de serveur web, nous sommes passés à Win2003/II6.
    J'ai voulu suivre la prodedure que j'avais dejà appliqué pour le déploiement de mon application sur l'ancien serveur :
    1. Installer le package XMLRAD6SP1.EXE (il date de 2001!)
    2. Installer mon application dans IIS en suivant la procedure standard.

    Le premier problème est que le package XMLRAD6SP1.EXE génère une bonne dizaine d'erreurs pendant l'installation. Au terme de l'install xmlrad semble cependant installé. Mais passons.

    le vrai problème est le suivant : mon application refuse désespérément de s'executer. Quand J'execute l'url http://www.MonServeur.com/MonAppliBin/MonAppli.dll, je recois le message suivant :

    "Le document XML doit contenir un élément de niveau supérieur. Erreur de traitement de la ressource http://www.Monserveur.com/A..."

    J'ai le souvenir que j'obtenais la meme erreur quand xmlrad n'etait pas installé sur le serveur web.

    J'ai essayé comme méthode alternative d'utiliser le didacticiel de déploiement "Deploying XMLCLX Applications". J'ai donc Installé :
    - Dac.TLB (dans le rep de ma dll)
    - StdXML.dll (dans le rep de ma dll)
    - LibDacAdo.dll (dans c:\windows\system32 + regsvr32)

    Mais ca ne change strictement rien. J'obtiens toujours la meme erreur. je précise que , bien sur, j'ai autorisé les dll ISAPI sur mon serveur web.

    QQun pourrait-il m'aider ?? Je compte bien réecrire cette application dans une version plus récente du framework mais là il faut que ca fonctionne. J'ajoute que la meme application est installée sur un autre serveur, aussi en Windows 2003 mais avec IIS5. elle fonctionne sans problème sur cet autre serveur.

    J'attends votre aide avec impatience.

    Cordialement
    FR

  2. #2
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Hello!

    Jetes un oeil à ce fil, c'est peut etre une piste:
    XMLComponent v4 et Windows2003

    Michael

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Merci Michael,

    Cela veut-dire en substance :
    - Réinstaller l'ancien framework sur mon poste de dev (puis-je faire tourner le framework pour Delphi 6 avec Delphi 7?)
    - Recompiler le projet
    - Remplacer la dll sur le serveur

    C'est bien ca? Pas d'autre moyen?

    A+
    FR

  4. #4
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    Si tu penses qu'il s'agit du même problème, oui tu dois recompiler le framework et donc ta dll.
    Retrouves tu dans les logs de ton appli la meme erreur ? Qu'est ce que tu as dans les traces ? Tu ne nous as pas donné ton message d'erreur. Au pire fait un clic droit et affiche le source de ta page d'erreur.

    Michael

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    "Error -2147221020 on line 0, char 0 in "\\?\D:\Inetpub\WEBEra\Activite.xml"

    Il me semble que je suis en plein dans le problème que tu avais eu!

    je vais donc me battre pour installer ma vielle version de XMLRAD sur Delphi7, faire ta modif, essayer de compiler et croiser les doigts^^

    Rendez vous dans... je sais pas cbien de temps

    Merci bcp pour ton aide.

    FR

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Mauvaise nouvelle...

    Il n'y a aucune fonction GetAppFileName dans xmlutils.pas

    L'entete de mon unite xmlutils est la suivante :

    {****************************************************************************}
    { }
    { XMLComponents Library }
    { }
    { Copyright (c) 1999,2001 e-delos.com / XMLComponents. All rights reserved. }
    { See license before use. }
    { }
    { http://xmlcomponents.com }
    { }
    {****************************************************************************}

    Une idée qqun??? Je ne sais vraiment pas quoi faire la....

    A+
    FR

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    par contre j'ai recherché toutes les références à AppFileName dans le source de XMLCOmponents et je trouce cette liste :

    ...\EventLog\EVLog.pas(704): AppFileName: string;
    ...\EventLog\EVLog.pas(710): SetLength(AppFileName, MAX_PATH);
    ...\EventLog\EVLog.pas(711): SetLength(AppFileName, GetModuleFileName(hInstance, PChar(AppFileName), MAX_PATH));
    ...\EventLog\EVLog.pas(711): SetLength(AppFileName, GetModuleFileName(hInstance, PChar(AppFileName), MAX_PATH));
    ...\EventLog\EVLog.pas(712): XmlEventLog.LogFileName := ChangeFileExt(AppFileName, '.XMLComponents.log');
    ...\StdXML_TLB.pas(427): function Get_AppFileName: WideString; safecall;
    ...\StdXML_TLB.pas(436): property AppFileName: WideString read Get_AppFileName;
    ...\StdXML_TLB.pas(436): property AppFileName: WideString read Get_AppFileName;
    ...\StdXML_TLB.pas(450): property AppFileName: WideString readonly dispid 2;
    ...\XMLApp.pas(70): function Get_AppFileName: WideString; safecall;
    ...\XMLApp.pas(83): FAppFileName: string;
    ...\XMLApp.pas(126): procedure Set_AppFileName(const Value: WideString);
    ...\XMLApp.pas(171): property AppFileName: WideString read Get_AppFileName write Set_AppFileName;
    ...\XMLApp.pas(171): property AppFileName: WideString read Get_AppFileName write Set_AppFileName;
    ...\XMLApp.pas(171): property AppFileName: WideString read Get_AppFileName write Set_AppFileName;
    ...\XMLApp.pas(574): SetLength(FAppFileName, MAX_PATH);
    ...\XMLApp.pas(575): SetLength(FAppFileName, GetModuleFileName(hInstance, PChar(FAppFileName), MAX_PATH));
    ...\XMLApp.pas(575): SetLength(FAppFileName, GetModuleFileName(hInstance, PChar(FAppFileName), MAX_PATH));
    ...\XMLApp.pas(576): FAppPath := ExtractFilePath(FAppFileName);
    ...\XMLApp.pas(1528): function TXMLApplication.Get_AppFileName: WideString; safecall;
    ...\XMLApp.pas(1530): Result := FAppFileName;
    ...\XMLApp.pas(1891): ConfigFileName := ChangeFileExt(Self.AppFileName, '.xml');
    ...\XMLApp.pas(2114): FileName := ChangeFileExt(Self.AppFileName, '.Authorized.txt');
    ...\XMLApp.pas(2128): FileName := ChangeFileExt(Self.AppFileName, '.Forbidden.txt');
    ...\XMLApp.pas(2142): FileName := ChangeFileExt(Self.AppFileName, '.Priorities.txt');
    ...\XMLApp.pas(2251): FileName := ChangeFileExt(Self.AppFileName, '.Authorized.txt');
    ...\XMLApp.pas(2267): FileName := ChangeFileExt(Self.AppFileName, '.Forbidden.txt');
    ...\XMLApp.pas(2283): FileName := ChangeFileExt(Self.AppFileName, '.Priorities.txt');
    ...\XMLApp.pas(2293): procedure TXMLApplication.Set_AppFileName(const Value: WideString);
    ...\XMLApp.pas(2295): FAppFileName := Value;
    ...\XMLComponentEd.pas(657): XMLApplication.AppFileName := ChangeFileExt(ToolServices.GetProjectName, '.xml');
    ...\XMLComponentEd.pas(659): XMLApplication.AppFileName := ChangeFileExt(Application.ExeName, '.xml');
    ...\XMLModuleConfigEditor.pas(138): FXMLAppFileName: WideString;
    ...\XMLModuleConfigEditor.pas(164): AliasesFileName := ChangeFileExt(FXMLAppFileName, sAliasesExtension);
    ...\XMLModuleConfigEditor.pas(203): GlobalParamsFileName := ChangeFileExt(FXMLAppFileName, sGlobalParamsExtension);
    ...\XMLModuleConfigEditor.pas(225): InitParamsFileName := ChangeFileExt(FXMLAppFileName, sInitParamsExtension);
    ...\XMLModuleConfigEditor.pas(370): FileName := ChangeFileExt(FXMLAppFileName, sXMLModulesExtension);
    ...\XMLModuleConfigEditor.pas(433): FXMLAppFileName := ToolServices.GetProjectName;
    ...\XMLModuleConfigEditor.pas(435): FXMLAppFileName := Application.ExeName;
    ...\XMLModuleConfigEditor.pas(437): ConfigFileName := ChangeFileExt(FXMLAppFileName, sConfigExtension);
    ...\XMLModuleConfigEditor.pas(439): XMLModulesFileName := ChangeFileExt(FXMLAppFileName, sXMLModulesExtension);
    ...\XMLModuleConfigEditor.pas(451): DataSourcesFileName := ChangeFileExt(FXMLAppFileName, sDataSourcesExtension);
    ...\XMLModuleConfigEditor.pas(454): QueriesFileName := ChangeFileExt(FXMLAppFileName, QueriesExtension);
    ...\XMLModuleConfigEditor.pas(457): XMLServicesFileName := ChangeFileExt(FXMLAppFileName, XMLServiceExtension);

    Si j'ai bien compris le thread que tu m'as indiqué je dois virer la chaîne \\?\ de la Chaine AppFileName. Est-ce bien ca? Il se debrouillera avec la suite?
    Si a chaque fois qu'on utilise AppFileName, je remplace par une fonction qui tronque le debut si il est égal à \\?\ est-ce suffisant???

  8. #8
    Membre actif Avatar de Jeweller
    Inscrit en
    Août 2003
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 357
    Points : 278
    Points
    278
    Par défaut
    C'est la ou il y a la méthode GetModuleFileName que tu dois t'arranger pour qu'en sortie il n'y ait plus le "\\?\". Fais une recherche de "GetModuleFileName" (dans XMLApp je crois) et inspire toi de ce que RDM propose pour patcher ton code.

    Michael

  9. #9
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    oui à l'époque c'était dans XMLApp.pas

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Alors j'ai pu faire la modif sur le framework. L'application qui ne fonctionnait pas sur mon serveur de test (IIS5) fonctionne désormais. Par contre quand je la déplace sur le serveur de prod (IIS6), ca plante ("service indisponible" après que ca tourne dans le vide environ une minute).

    J'etais tombé qq part sur un thread expliquant comment faire tourner une dll ISAPI sur IIS6 et je ne le trouve plus (il fallait créer un pool sur IIS6). Savez-vous ou il se trouve?

    Merci d'avance.
    Cordialement
    FR

  11. #11
    Membre habitué
    Inscrit en
    Novembre 2002
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 243
    Points : 192
    Points
    192
    Par défaut
    normallement ce n'est pas trop une histoire de pool. Tu peux en créer un spécifique pour ta ou tes applis mais il y a déjà le pool par défaut.
    Il faut voir si tu as autorisé l'exécution d'ISAPI. C'est dans le gestionnaire des services internet (en dessous de sites web) et ça s'appelle Extensions du service Web. Là tu ajoutes l'extension ISAPI

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/05/2011, 11h48
  2. Portage d'application DOS & Borland 4.0 -> WinXP et Linux : Interruption
    Par Invité(e) dans le forum Bibliothèque standard
    Réponses: 4
    Dernier message: 14/10/2009, 14h24
  3. Portage d'application CLX sous .NET
    Par Phébus dans le forum Delphi
    Réponses: 3
    Dernier message: 11/04/2007, 20h38
  4. Surprise au portage d'application
    Par kwakanar dans le forum Qt
    Réponses: 12
    Dernier message: 07/10/2005, 18h28
  5. [Kylix] portage d'application kylix3
    Par lefort dans le forum EDI
    Réponses: 1
    Dernier message: 14/11/2002, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo