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
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.
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
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.
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" } } }