Salut à tous,
J'ai un composant COM qui est utilisé pour générer un code barre, mais l'important n'est pas vraiment au niveau de sa fonctionnalité car je recontre plutôt un problème d'architecture, je m'explique.
Mon composant est enregistré sur le serveur A, sur lequel je l'ai créé en tant que package, dans les services de composants windows afin de pouvoir l'instancier de manière distante. Pour ce faire, j'ai dû l'exporter en tant que package .msi.
J'ai un serveur B, sur lequel tourne une application web, géré par IIS où le composant COM est instancié depuis une page asp par Server.CreateOject ... En réalité j'ai simplement installé le package .msi sur le serveur B, ce qui a créé une classe proxy qui me permet d'instancier le composant, comme s'il était local.
Si je teste l'appel du composant depuis le server B, simplement en testant la page asp de mon application, le composant est bien instancié de manière distante, je suppose que mon IIS sur le serveur B devient alors client sur server A, lequel créé l'objet localement puis le renvoit à IIS qui le renvoit à IE.
Jusque là tout fonctionne bien. Maintenant, si j'essaie de tester l'application depuis une autre machine, disons client C, c'est-a-dire j'ouvre un IE sur client C, je browse l'URL de mon site sur le server B, je teste la page qui est censé instancier le composant COM, cela ne fonctionne plus (le barcode est affiché normalement dans une balise img, elle est simplement vide!).
Je pensais au départ que c'était un probleme de droit (l'application asp utilise l'authentification windows et le composant COM aussi), mais j'ai tout essayé en utilsant des comptes Guest en accordant toutes les permissions possibles mais cela n'a rien changé, cela fonctionne uniquement si je teste le composant depuis server B.
Quelqu'un aurait-il une idée ?
Merci d'avance de votre aide.
Partager