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.DefaultWebResourceLoaderServiceDiecom.example.service.rest.ResourceLoaderService-Klasse inasset-integration-starter-Projekt ist eine Schnellstartimplementierung für denresource-loader-Service und wird von der folgenden Klasse abgeleitet:com.hcl.unica.system.integration.service.resourceloader .DefaultWebResourceLoaderServiceDefaultWebResourceLoaderService-Klasse ist die Standardimplementierung des vom Content Integration SDK bereitgestelltenresource-loader-Service. Wenn das Plug-in keinen eigenenresource-loader-Service implementiert, greift Content Integration Framework auf diese Standardimplementierung zurück. Die vom Content Integration SDK bereitgestellte Standardimplementierung vonresource-loaderfolgt 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 derDefaultWebResourceLoaderService-Klasse x abzuleiten. Es ist nicht erforderlich, dieresource-loader-Implementierung vonDefaultWebResourceLoaderServicezu 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 entwederHttpWebResourceLoaderServicefür HTTP basierte Vorgehensweise oderWebResourceLoaderServicefür eine funktionale Vorgehensweise abgeleitet werden.com.hcl.unica.system.integration.service.resourceloader.HttpWebResourceLoaderServiceDie zuvor behandelte
DefaultWebResourceLoaderService-Klasse wird von der abstrakten KlasseHttpWebResourceLoaderServiceabgeleitet. Diese Klasse definiert den Eingabetyp und den Typ der HTTP-Antwort, die von der Ziel-URL für denresource-loader-Service alscom.hcl.unica.system.model.request.resourceloader.ResourceRequestbzw.byte[]empfangen wird. DieResourceRequest-Klasse enthält die Ressourcen-URL und den Systembezeichner. In ähnlicher Weise arbeitetresource-loadermit 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 derDefaultWebResourceLoaderService-Klasse ableitet, muss es sich zumindest von dercom.hcl.unica.system.integration.service.resourceloader.HttpWebResourceLoaderService-Klasse ableiten, um von der Content Integration Frameworkalsresource-loader-Service erkannt zu werden (das funktionale Pendant, das später diskutiert wird, ist auch eine gültige Option für dieresource-loader-Services, die mit dem funktionalen Ansatz implementiert wurden).com.hcl.unica.system.integration.service.resourceloader.AbstractWebResourceLoaderServiceDie im vorigen Punkt behandelteHttpWebResourceLoaderService-Klasse wird von der abstrakten KlassenAbstractWebResourceLoaderServiceabgeleitet. Diese Klasse definiert die folgende Schnittstelle des Servicegateways für denresource-loader-Service:com.hcl.unica.system.integration.service.gateway .ResourceLoaderServiceGatewayInformationen über die Rolle von Servicegateways beim Serviceaufruf finden Sie unter Serviceaufruf.
ResourceLoaderServiceGatewayy-Schnittstelle definiertResourceRequestundHttpResponse<?>als Input- und Outputtypen für denresource-loader-Service.HttpResponseist eine Schnittstelle, die von derWebResource-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 angepassteresource-loader-Service den Inhalt nicht über das Web abrufen kann, muss er das Objekt derWebResource(oder anderen Implementierung vonHttpResponse), die mit den entsprechenden Details gefüllt ist, zurückgeben. Wenn Sie dasWebResourcenicht entsprechend ausfüllen, kann dies zu Problemen beim Laden von Inhalten für Clientanwendungen führen. DieWebResourcestellt eine Builder-API zur Verfügung, um ein Objekt mit erforderlichen Details zu erstellen Das wichtigste ist es, denContent-Type-Header zu füllen, damit die Clientanwendung die Nutzdaten entsprechend bearbeiten kann. Ebenso muss derContent-Disposition-Header entsprechend ausgefüllt werden, der den Dateinamen enthält, der dem Inhalt zugeordnet ist.