Die REST-Schnittstelle - Spectrum_OnDemand - web_services - 23 - 23.1

Spectrum-Webdienste-Handbuch

Product type
Software
Portfolio
Integrate
Product family
Spectrum™ software
Product
Spectrum™ software > Web Services
Version
23.1
ft:locale
de-DE
Product name
Spectrum Technology Platform
ft:title
Spectrum-Webdienste-Handbuch
First publish date
2007
ft:lastEdition
2023-10-25
ft:lastPublication
2023-10-25T07:20:03.279000

Spectrum Technology Platform stellt eine REST-Schnittstelle für Webservices bereit. Die Schnittstelle unterstützt GET- und POST-Methoden. Im Spectrum Enterprise Designer erstellte benutzerdefinierte Webdienste unterstützen GET- und POST-Methoden. Als Teil eines Moduls installierte Standarddienste unterstützen nur die GET-Methode. Wenn Sie über die POST-Methode auf einen dieser Dienste zugreifen möchten, müssen Sie im Spectrum Enterprise Designer einen benutzerdefinierten Dienst erstellen.

Navigieren Sie zum folgenden Pfad, um die auf Ihrem Spectrum Technology Platform-Server verfügbaren REST-Webservices anzuzeigen:

http://server:port/rest

Anmerkung: Empfehlung: Beschränken Sie die Parameter aufgrund von URL-Längenbeschränkungen auf 2.048.
Anmerkung: Informationen zu HTTP-Statuscodes finden Sie unter HTTP-Statuscodes.

Dienstendpunkte

Der Endpunkt für eine XML-Anforderung lautet:

http://server:port/rest/service_name/results.xml

https://OnDemandServer/rest/service_name/results.xml

Der Endpunkt für eine JSON-Anforderung lautet:

http://server:port/rest/service_name/results.json

https://OnDemandServer/rest/service_name/results.json

Endpunkte für benutzerdefinierte Webdienste können im Spectrum Enterprise Designer geändert werden, um eine andere URL zu verwenden.

Anmerkung: Standardmäßig verwendet Spectrum Technology Platform den Port 8080 für die HTTP-Kommunikation. Eventuell hat Ihr Administrator einen anderen Port konfiguriert.

Eine Liste der Spectrum Technology Platform-Server finden Sie unter Herstellen einer Verbindung zu -Servern.

WADL-URL

Die WADL für einen Spectrum Technology Platform-Webservice lautet:

http://server:port/rest/service_name?_wadl

https://OnDemandServer/rest/service_name?_wadl

Eine Liste der Spectrum Technology Platform-Server finden Sie unter Herstellen einer Verbindung zu -Servern.

Beispiel:

http://myserver:8080/rest/ValidateAddress?_wadl

https://spectrum.precisely.com/rest/ValidateAddress?_wadl

Anmerkung: Wir fügen eventuell neue Felder oder Optionen hinzu, ohne Sie zu benachrichtigen. Neue Elemente sind stets optional, sodass Sie Ihren Code nicht ändern müssen, um eine Kompatibilität sicherzustellen, es sei denn, Sie möchten sie verwenden. Wenn wir Felder oder Optionen entfernen, kündigen wir die Änderungen im Voraus an, sodass Ihnen ausreichend Zeit bleibt, um Ihren Code zu aktualisieren.
Wichtig: Überprüfen Sie Antworten des Webservices nicht anhand der WADL. Spectrum Technology Platform-WADLs sind so gestaltet, dass sie im Laufe der Zeit erweitert werden, sodass alle Elemente in der WSDL optional sind. Das bedeutet, dass die Überprüfung einer Antwort anhand der WADL keine hilfreichen Ergebnisse liefert.

Benutzerfelder

Sie können zusätzliche Felder über den Webservice übergeben, auch wenn der Webservice die Felder nicht verwendet. Diese Felder werden unverändert im Bereich user_fields der Antwort zurückgegeben. Bei GET-Anforderungen werden Benutzerfelder ähnlich wie bei anderen Feldern als Parameter in der URL übertragen. Bei POST-Anforderungen werden Benutzerfelder als Teil des Elements user_fields in der XML- oder JSON-Anforderung übertragen.

Anmerkung: Die Namen von Benutzerfeldern dürfen keine Zeichen enthalten, die in XML- oder JSON-Elementnamen ungültig sind. Leerzeichen sind beispielsweise nicht gültig.

Beispiel: REST-Anforderung anhand von GET mit einer XML-Antwort

Im folgenden Beispiel wird veranschaulicht, wie eine REST-Anforderung an den ValidateAddress-Dienst anhand der GET-Methode durchgeführt wird, um eine Antwort in XML anzufordern.

http://myserver:8080/rest/ValidateAddress/results.xml?Option.OutputCasing=U&​Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
https://spectrum.precisely.com/rest/ValidateAddress/results.xml?Option.OutputCasing=U&​Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759

Die Beispielanforderung hätte das folgende Ergebnis zur Folge, da eine XML-Antwort angefordert wurde:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xml.ValidateAddressResponse xmlns="http://www.precisely.com/spectrum/services/ValidateAddress">     <output_port>         <Address>             <Confidence>82</Confidence>             <RecordType>Normal</RecordType>             <CountryLevel>A</CountryLevel>             <ProcessedBy>USA</ProcessedBy>             <MatchScore>0</MatchScore>             <AddressLine1>1825 KRAMER LN</AddressLine1>             <City>AUSTIN</City>             <StateProvince>TX</StateProvince>             <PostalCode>78758-4260</PostalCode>             <PostalCode.Base>78758</PostalCode.Base>             <PostalCode.AddOn>4260</PostalCode.AddOn>             <Country>UNITED STATES OF AMERICA</Country>             <user_fields/>         </Address>     </output_port> </xml.ValidateAddressResponse>

Beispiel: REST-Anforderung anhand von GET mit einer JSON-Antwort

Im folgenden Beispiel wird veranschaulicht, wie eine REST-Anforderung an den ValidateAddress-Dienst anhand der GET-Methode durchgeführt wird, um eine Antwort in JSON anzufordern.

http://myserver:8080/rest/ValidateAddress/results.json?Option.OutputCasing=U&​Data. AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
https://spectrum.precisely.com/rest/ValidateAddress/results.json? Option.OutputCasing=U&​Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759

Die Beispielanforderung hätte das folgende Ergebnis zur Folge, da eine JSON-Antwort angefordert wurde:

{ 	"ns1.json.ValidateAddressResponse" : 	{ 	"ns1.output_port" : 	{ 	"ns1.Confidence" : 82, 	"ns1.RecordType" : "Normal", 	"ns1.CountryLevel" : "A", 	"ns1.ProcessedBy" : "USA", 	"ns1.MatchScore" : 0, 	"ns1.AddressLine1" : "1825 KRAMER LN", 	"ns1.City" : "AUSTIN", 	"ns1.StateProvince" : "TX", 	"ns1.PostalCode" : "78758-4260", 	"ns1.PostalCode.Base" : 78758, 	"ns1.PostalCode.AddOn" : 4260, 	"ns1.Country" : "UNITED STATES OF AMERICA" 	} 	} }