Ableitungen von HttpService

Nur der resource-loader-Standardservice ist als HttpService implementiert, da er sich auf die standardmäßige HTTP-GET-Operation bezieht. Sie können auch RestService verwenden, ohne dass dadurch irgendwelche Fähigkeiten verloren gehen.

Ressourcenlader (resource-loader)

Im Folgenden sind die spezialisierten Schnittstellen und Klassen aufgeführt, die für den Ressourcenlader-Service zur Verfügung stehen:

  • com.hcl.unica.system.integration.service.resourceloader.DefaultWebResourceLoaderService
    Die com.example.service.rest.ResourceLoaderService-Klasse in asset-integration-starter-Projekt ist eine Schnellstartimplementierung für den resource-loader-Service und wird von der folgenden Klasse abgeleitet:
    com.hcl.unica.system.integration.service.resourceloader
    .DefaultWebResourceLoaderService

    DefaultWebResourceLoaderService-Klasse ist die Standardimplementierung des vom Content Integration SDK bereitgestellten resource-loader-Service. Wenn das Plug-in keinen eigenen resource-loader-Service implementiert, greift Content Integration Framework auf diese Standardimplementierung zurück. Die vom Content Integration SDK bereitgestellte Standardimplementierung von resource-loader folgt einfach der angegebenen Ressourcen-URL und ruft die Webressource vom Zielsystem ab. Es enthält die standardmäßige HTTP-GET-Operation.

    Wenn das Plug-in eine eigene resource-loader-Implementierung benötigt, die den Standard-HTTP-GET leicht modifiziert, empfehlen wir, es von der DefaultWebResourceLoaderService-Klasse x abzuleiten. Es ist nicht erforderlich, die resource-loader-Implementierung von DefaultWebResourceLoaderService zu erweitern, wenn das Plug-in einen ganz anderen Ansatz zum Laden von Inhalten verwenden muss, z. B. das Lesen von Dateisystem, Datenbank, FTP-Server usw. In einem solchen Fall muss der Wert von entweder HttpWebResourceLoaderService für HTTP basierte Vorgehensweise oder WebResourceLoaderService für eine funktionale Vorgehensweise abgeleitet werden.

  • com.hcl.unica.system.integration.service.resourceloader.HttpWebResourceLoaderService

    Die zuvor behandelte DefaultWebResourceLoaderService-Klasse wird von der abstrakten Klasse HttpWebResourceLoaderService abgeleitet. Diese Klasse definiert den Eingabetyp und den Typ der HTTP-Antwort, die von der Ziel-URL für den resource-loader-Service als com.hcl.unica.system.model.request.resourceloader.ResourceRequest bzw. byte[]empfangen wird. Die ResourceRequest-Klasse enthält die Ressourcen-URL und den Systembezeichner. In ähnlicher Weise arbeitet resource-loader mit einem Bytearray, wenn der Inhalt von einer entfernten HTTP-URL erfolgreich gelesen wurde.

    Wenn das Wenn das Plug-in seine resource-loader-Implementierung nicht von der DefaultWebResourceLoaderService-Klasse ableitet, muss es sich zumindest von der com.hcl.unica.system.integration.service.resourceloader.HttpWebResourceLoaderService-Klasse ableiten, um von der Content Integration Frameworkals resource-loader-Service erkannt zu werden (das funktionale Pendant, das später diskutiert wird, ist auch eine gültige Option für die resource-loader-Services, die mit dem funktionalen Ansatz implementiert wurden).

  • com.hcl.unica.system.integration.service.resourceloader.AbstractWebResourceLoaderService
    Die im vorigen Punkt behandelte HttpWebResourceLoaderService-Klasse wird von der abstrakten Klassen AbstractWebResourceLoaderService abgeleitet. Diese Klasse definiert die folgende Schnittstelle des Servicegateways für den resource-loader-Service:
    com.hcl.unica.system.integration.service.gateway
    .ResourceLoaderServiceGateway

    Informationen über die Rolle von Servicegateways beim Serviceaufruf finden Sie unter Serviceaufruf. ResourceLoaderServiceGatewayy-Schnittstelle definiert ResourceRequest und HttpResponse<?> als Input- und Outputtypen für den resource-loader-Service. HttpResponse ist eine Schnittstelle, die von der WebResource-Klasse implementiert wird. Darin werden die HTTP-Antwortheader, der Textkörper oder die Nutzdaten sowie die Cookies, die von der entfernten URL empfangen werden, eingekapselt. Auch wenn der angepasste resource-loader-Service den Inhalt nicht über das Web abrufen kann, muss er das Objekt der WebResource (oder anderen Implementierung von HttpResponse), die mit den entsprechenden Details gefüllt ist, zurückgeben. Wenn Sie das WebResource nicht entsprechend ausfüllen, kann dies zu Problemen beim Laden von Inhalten für Clientanwendungen führen. Die WebResource stellt eine Builder-API zur Verfügung, um ein Objekt mit erforderlichen Details zu erstellen Das wichtigste ist es, den Content-Type-Header zu füllen, damit die Clientanwendung die Nutzdaten entsprechend bearbeiten kann. Ebenso muss der Content-Disposition-Header entsprechend ausgefüllt werden, der den Dateinamen enthält, der dem Inhalt zugeordnet ist.