aVogt
Returning Creator

enterprise:one Fehler über PushApi nach Aktualisierung auf Modul 1.5

Hallo,

ich habe  eben versucht mit dem neuen Modul (1.5) für enterprise:one (4.6) unseren PushApi-Job zu akualisieren.
Der Job und die notwendigen Jars haben wir ein Modul gepackt, da auch noch nach Exalead Cloudview (5.1) Daten gepusht werden und sich sonst die unterschiedlichen Jars behindern. In dem Modul habe ich die Jars (mit denen aus dem neuen Modul enterprisesearch-fsm-1.5.37.fsm) ausgetauscht.

Nun bekomme ich beim Ausführen einen Fehler:

java.lang.NoSuchMethodError: de.espirit.ps.exalead.pushapi.PushAPIDocumentValues.setAdditionalValue(Ljava/lang/String;Ljava/lang/Object;)V
(siehe Anhang)

Der Fehler wird in nachfolgender zeile geworfen:
doc.setAdditionalValue("inter_name", fpName);

das "doc" kommt aus de.espirit.ps.exalead.pushapi.PushAPIDocumentValues

Bisher funktionierte das ohne Probleme.

Als Test habe ich unser Modul (sowohl für enterprise:one (4.6) als auch Exalead Cloudview (5.1)) deinstalliert und das enterprisesearch-fsm-1.5.37.fsm installiert. Nun habe ich als Script im JavaClient folgende Zeilen ausführen wollen:

PushAPIDocumentValues doc = new PushAPIDocumentValues();
String text = "das ist ein einfacher text";
doc.setContent(text.getBytes());

doc.setAdditionalValue("inter_bereich", "menue");

Auch hier kommt der Fehler bei doc.setAdditionalValue. (siehe Anhang)

Hat sich an dem pushen der Zusätzlichen Werte etwas geändert?

FS-Version:  4.2.454.47473

Grüße Andreas

0 Kudos
6 Replies
feddersen
Community Manager

Hallo Herr Vogt,

welche Version des Exalead Moduls hatten sie denn davor im Einsatz?

Viele Grüße

Christoph Feddersen

0 Kudos

Das kann ich nicht wirklich sagen, die jars hab ich seit Anfang an, als der Job erstellt wurde (mit Hilfe von FS)

zumindest sind da folgende libs enthalten:

papi-java-helper.jar

exalead.jar

ps-lib.jar

Diese im Anhang.

0 Kudos
marro
Crownpeak employee

Hallo Andreas,

kann es sein, dass ihr da mal eine Eigenentwicklung der Klasse PushAPIDocumentValues verwendet habt? Denn die Klasse PushAPIDocumentValues aus unserem Modul besaß noch nie eine Methode namens setAdditionalValue.

Viele Grüße,

Donato

0 Kudos
aVogt
Returning Creator

Hallo Donato,

das pushen haben wir entwickelt (bzw. lassen).

Ich hab mal nachgesehen. In der Entwicklungsumgebung habe ich jede Menge weiterer Klassen, die ich mit geliefert bekommen habe. Warum? Keine Ahnung mehr.

Die zusätzlichen Klassen werden aber NICHT in unser Modul mit aufgenommen. Nur die o.g. jars.

de.espirit.ps.exalead.pushapi

  PushAPIDocumentValues

  PushAPIHelper

  RecursiveFileLister

de.espirit.ps.exalead.admin

  LibraryApp

de.espirit.ps.util

  ProjectProperties

  Util

org.jetbrains.annotations

  NotNull

  Nullable

Das Modul besteht aus den Jars und einem eigenen Jar. Das enthält nur 3 Klassen für die unterschiedlichen projekte. Die Klassen  sind Executable.

Wie kann ich mit der neuen Version zusätzliche Felder übergeben?

Grüße

Andreas

0 Kudos
aVogt
Returning Creator

Hallo Donato,

hab nun mal alles "alte" gelöscht. da wird nun wirklich das setAdditionalValue nicht gefunden.

Beim Pushen für die 5.1 verwende ich:

HashMap metaAttributes = new HashMap();

metaAttributes.put("gaf_text", gafText);

...

doc.setMetaAttributes(metaAttributes);

Zumindest existiert die methode nun auch in dem neues Modul.

Ich vermute mal dass wird schon funktionieren (komme aber erst nächste Woche dazu)

Grüße

Andreas

0 Kudos
marro
Crownpeak employee

Das ist richtig, die setMetaAttributes-Methoden sind in beiden Versionen des Moduls enthalten. Wenn das Setzen zusätzlicher Werte alles an Funktionalität war, was die Erweiterung des Moduls zusätzlich zur Verfügung gestellt hat, dann sollte das über die MetaAttribute abzudecken sein.

Viele Grüße,

Donato