Die REST-Schnittstelle
Spectrum™ Technology Platform stellt eine REST-Schnittstelle für Webservices bereit. Benutzerdefinierte Webservices, nämlich die im Enterprise Designer erstellten Webservices, 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 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
Der Endpunkt für eine JSON-Anforderung lautet:
http://server:port/rest/service_name/results.json
Endpunkte für benutzerdefinierte Webservices können im Enterprise Designer geändert werden, um eine andere URL zu verwenden.
WADL-URL
Die WADL für einen Spectrum™ Technology Platform-Webservice lautet:
http://server:port/rest/service_name?_wadl
Beispiel:
http://myserver:8080/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
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.pb.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
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"
}
}
}