2010-12-03 6 views
0

Ich muss ein Java-Applet von Drittanbietern in einen benutzerdefinierten Webpart integrieren, den ich für SharePoint 2007 geschrieben habe. Der Webpart lädt einfach ein von mir erstelltes Benutzersteuerelement, das den Großteil enthält die Funktionalität, und das ist, wo das Applet gehen wird. Ich habe es meinem Benutzersteuerelement hinzugefügt und es funktioniert gut außerhalb meiner SharePoint-Umgebung.Verwenden eines Java-Applets in einem SharePoint-Webpart

Ich habe den aktualisierten Webpart auf meiner MOSS 2007-Entwicklungssite installiert, und die Seite des Teils wird geladen. Das Applet wird durch Klicken auf eine Verknüpfungsschaltfläche auf der Seite ausgelöst, auf der clientseitiges JavaScript ausgeführt wird, um es zu starten. Das Problem ist, dass nichts passiert, wenn ich auf den Link klicke. Es werden keine Fehlermeldungen angezeigt, und das, was das Applet eigentlich tun soll, kommt nie vor (es geht um Dateiübertragungen per FTP). Ich habe die .jar-Datei als eine eingebettete Ressource in meiner Benutzersteuerungs-DLL, die im bin-Ordner bereitgestellt wird, und SharePoint vertraut dieser DLL vollständig.

Ich benutzte Firebug, um durch den Initialisierungscode zu gehen, und ich sah eine HTTP-GET, die mit einer Nachricht über nicht autorisiert fehlgeschlagen ist, aber es gab keine Details und ich bin nicht positiv, dass es mit dem Applet verwandt war.

Gibt es etwas Besonderes, was ich tun muss, damit das Applet funktioniert? Oder mache ich das falsch?

EDIT: Das Problem stellte sich heraus, dass die .jar-Datei für das Applet nicht gefunden werden konnte. SharePoint macht hier offensichtlich etwas anderes, und ich muss herausfinden, was. Können Java-Applets auf einer SharePoint-Website verwendet werden? This Frage schlägt vor, sie können, aber in diesem Fall ein Page Viewer Webpart wurde verwendet, die nicht wirklich für mich arbeiten wird.

+0

Läuft das Javascript? Siehst du ein HTTP Get für das Applet-Jar? –

Antwort

1

Ein Applet in HTML wird durch Applet/Objekt-Tag behandelt. Ihr Webpart sollte nur das OBJECT/Applet-Tag und seine Attribute für das Applet relevant machen (Code, Höhe, Breite) oder Sie können das JavaScript alles tun lassen und Ihr Webpart kann das Marker-Div bereitstellen, wo das Applet gerendert werden soll. Das ist alles und Sharepoint muss nicht mehr über das Applet wissen, da es sich um den Browser kümmert. Der Archivparameter zeigt auf das Jar, das sich auf Ihrem Server befinden kann, als es durchsucht werden kann. Anstatt es als Ressource in der DLL zu bündeln, hosten Sie es auf dem Server außerhalb der Sharepoint-Website. Sie müssen möglicherweise ein virtuelles Verzeichnis auf einer anderen Website für dasselbe erstellen. Dies vereinfacht das Bereitstellungsmodell.

+0

Es stellte sich heraus, dass die .jar-Datei eine eingebettete Ressource war. Sobald ich es in eine separate Site legte, lud es gut. Und wenn es so getrennt wird, wird das Deployment tatsächlich einfacher, also +1 für das. –

0

Es ist möglich, das Applet einen HTTP-Aufruf zurück auf die Sharepoint-Website machen und es nicht besteht keine Anmeldeinformationen

+0

Ich bin mir nicht sicher. Sobald das Applet initialisiert ist, sage ich ihm, dass er sich mit einem entfernten FTP-Server verbinden, eine Datei übertragen und dann die Verbindung trennen soll. Die Schnittstelle für all dies ist eine JavaScript-Bibliothek, die der Applet-Anbieter zur Verfügung stellt. Ich muss die URL der JAR-Datei an die JavaScript-Funktion übergeben, die das Applet enthält, und an diesem Punkt muss die Bibliothek auf die SharePoint-Website zurückkehren, um sie zu erhalten. Vielleicht muss ich die .jar-Datei stattdessen im Dateisystem speichern? –