Wie löse ich "Pakete ist nicht definiert" in WSO2 Carbon 4.0.3 mit Application Server Features?

8

Ich versuche, von WSO2 Carbon 3.0.0 auf Carbon 4.0.3 zu aktualisieren. Mit Carbon 3.0.0 kann ich nach der Installation der notwendigen Funktionen JavaScript Mashup-Dienste schreiben, die externe Java-Bibliotheken aufrufen können - und da WSO2 Carbon Rhino verwendet, kann ich importPackage verwenden. Ich war nicht in der Lage, die gleiche Funktionalität auf Carbon 4.0.3 zu bekommen.

Die Vorgehensweise, die ich befolgt habe, ist:

  1. Downloaden und entpacken Sie WSO2 Carbon 4.0.3
  2. Starten Sie Carbon
  3. Navigieren Sie zur Seite "Featureverwaltung"
  4. Fügen Sie das 4.0.3 Carbon p2-Repository hinzu ( Ссылка )
  5. Suchen und installieren Sie die Funktion "Application Server"
  6. Starten Sie Carbon neu
  7. Stellen Sie meinen Test-Mashup-Service bereit
  8. Führe den Echo-Vorgang meines Test-Mashup-Dienstes mit dem "tryit" -Tool aus.

Mein Test-Mashup-Service (TestMashup.js):

%Vor%

Ich habe diesen Mashup-Dienst in CARBON_HOME / repository / deployment / server / jservices / admin /

installiert

Wenn ich diesen Vorgang auf Carbon 3.0.0 ausführe, erhalte ich folgende Antwort:

%Vor%

Wenn ich versuche, diese Operation auf Carbon 4.0.3 auszuführen, erhalte ich folgende Stack-Trace:

%Vor%

Wie behebe ich das Problem, damit ich weiterhin Java-Bibliotheken aus meinen JavaScript Mashup-Diensten verwenden kann?

    
GamerJosh 12.02.2013, 20:25
quelle

2 Antworten

1

Der Code, mit dem diese Funktion funktioniert, wurde deaktiviert.

Ich habe einige Zeit damit verbracht, das Carbon SVN-Repository durchzusehen und festgestellt, dass die% mashup-Komponente message-receiver so geändert wurde, dass verhindert wird, dass JavaScript Mashup-Services mit einem ImporterTopLevel -Kontext erstellt werden. Dies ist direkt in org.wso2.carbon.mashup.javascript.messagereceiver.JavaScriptEngine sichtbar, wobei frühere Versionen ImporterTopLevel erweitern, neuere Versionen jedoch nicht. Für zukünftige Referenz wurde diese Änderung gegen Revision 129254 festgeschrieben.

Ich konnte den Code ImporterTopLevel von 3.2.2 in die Version 4.0.3 von messagereceiver zusammenführen, um das Problem zu umgehen.

    
GamerJosh 28.02.2013, 19:11
quelle
-1

Wenn Sie erforderliche Funktionen auf dem Carbon Server installieren, prüfen Sie, ob in der Konsole Fehler angezeigt werden. Es kann zu Abhängigkeitsproblemen kommen. Nachdem Sie die Features installiert haben, starten Sie den WSO2 AS mit dem Befehl ./wso2server.sh -DosgiConsole und überprüfen Sie mit dem Befehl ss und comp , ob nicht aufgelöste OSGi-Abhängigkeiten vorhanden sind. Wenn dies der Fall ist, versuchen Sie, die erforderlichen Bundles in Repository / Komponenten / Drop-Ins einzulegen und den Server neu zu starten.

Und ich bin mir auch nicht sicher, ob nur die Installation der Application Server-Funktion Ihre Mashup-Anforderungen aktiviert. Prüfen Sie daher in diesem Repository, ob für Mashup Server relevante Funktionen verfügbar sind. Wenn ja, installieren Sie sie auch. Es scheint auf Ihrem Server, Host-Objekt "Pakete", hat ein Problem.

Wenn Sie einige Funktionen aufgrund von Abhängigkeitsproblemen nicht installieren können, können Sie versuchen, die erforderlichen Bundles im Drop-in-Verzeichnis zu speichern. Wenn dies ebenfalls fehlschlägt, müssen Sie möglicherweise den Code für diese Komponente auschecken und ihn auf Ihre Serverversion zurückportieren.

    
Maninda 24.02.2013 16:49
quelle

Tags und Links