2010-12-03 3 views
0

J'ai besoin d'intégrer une applet Java tierce dans un composant WebPart personnalisé que j'ai écrit pour SharePoint 2007. La partie Web charge simplement un contrôle utilisateur que j'ai créé et qui contient la plus grande partie de la fonctionnalité, et c'est là que l'applet ira. Je l'ai ajouté à mon projet de contrôle utilisateur et il fonctionne très bien en dehors de mon environnement SharePoint.Utilisation d'une applet Java dans un composant Web SharePoint

J'ai installé la partie Web mise à jour sur mon site de développement MOSS 2007 et la page de la partie se charge très bien. L'applet est déclenchée en cliquant sur un bouton de lien sur la page, qui exécute du JavaScript côté client pour le démarrer. Le problème est que rien ne semble se produire lorsque je clique sur le lien. Aucun message d'erreur n'apparaît, et les choses que l'applet est censée faire ne se produisent jamais (c'est pour faire des transferts de fichiers via FTP). J'ai le fichier .jar comme une ressource incorporée dans ma DLL de contrôle utilisateur, qui est déployée dans le dossier bin, et SharePoint approuve entièrement cette DLL. J'ai utilisé Firebug pour parcourir le code d'initialisation et j'ai vu un HTTP GET qui a échoué avec un message de non-autorisation, mais il n'a pas donné de détails et je ne suis pas certain qu'il était lié à l'applet.

Y at-il quelque chose de spécial que je dois faire pour que l'applet fonctionne? Ou est-ce que je vais à ce sujet dans le mauvais sens?

EDIT: Le problème s'est avéré être le fichier .jar pour l'applet n'a pas pu être trouvé. SharePoint fait clairement quelque chose de différent ici, et j'ai besoin de savoir quoi. Les applets Java peuvent-ils être utilisés dans un site SharePoint? This question suggère qu'ils peuvent, mais dans ce cas, un site Web Page Viewer a été utilisé, ce qui ne va pas vraiment fonctionner pour moi.

+0

Est-ce que le javascript s'exécute? Voyez-vous un HTTP Get pour l'applet jar? –

Répondre

1

Une applet en HTML est gérée par tag applet/objet. Votre composant WebPart doit simplement rendre la balise OBJECT/applet et ses attributs pertinents pour l'applet (code, height, width) ou laisser le JavaScript le faire et votre composant webpart peut fournir le marqueur div où l'applet doit être rendu. C'est à peu près tout et Sharepoint n'a pas besoin d'avoir plus de connaissances sur l'applet, car tout est pris en charge par le navigateur. Le paramètre archive pointe vers le fichier jar qui peut être situé sur votre serveur. Au lieu de le regrouper en tant que ressource dans la DLL, hébergez-le sur le serveur juste à l'extérieur du site Web Sharepoint. Vous devrez peut-être créer un répertoire virtuel sur un autre site Web pour le même. Cela simplifie le modèle de déploiement.

+0

Le problème s'est avéré être le fichier .jar en tant que ressource incorporée. Dès que je l'ai mis dans un site distinct, il s'est bien chargé. Et l'avoir séparé comme ça facilitera en effet le déploiement, donc +1 pour ça. –

0

Il est possible que l'applet faire un appel HTTP vers le site SharePoint et il ne passe pas les informations d'identification

+0

Je ne suis pas sûr. Une fois l'applet initialisée, je lui dis de se connecter à un serveur FTP distant, de transférer un fichier, puis de se déconnecter. L'interface pour faire tout cela est une bibliothèque JavaScript fournie par le fournisseur de l'applet. Je dois transmettre l'URL du fichier .jar à la fonction JavaScript de l'applet, et à ce moment la bibliothèque devra retourner sur le site SharePoint pour l'obtenir. Peut-être que j'ai besoin de stocker le fichier .jar dans le système de fichiers à la place? –