Interfaz REST
Spectrum™ Technology Platform proporciona una interfaz REST a los servicios web. Los servicios web definidos por el usuario, que son las creadas en Enterprise Designer, admiten los métodos GET y POST. Los servicios predeterminados instalados como parte de un módulo solo admiten GET. Si desea acceder a uno de estos servicios con POST debe crear un servicio definido por el usuario en Enterprise Designer.
To view the REST web services available on your Spectrum™ Technology Platform server, go to:
http://server:port/rest
Extremos de servicio
El extremo para una respuesta XML es:
http://server:port/rest/service_name/results.xml
El extremo para una respuesta JSON es:
http://server:port/rest/service_name/results.json
Los extremos para servicios web definidos por usuarios se pueden modificar en Enterprise Designer para utilizar un URL diferente.
La URL de WADL
El WADL para un servicio web Spectrum™ Technology Platform es:
http://server:port/rest/service_name?_wadl
Por ejemplo:
http://myserver:8080/rest/ValidateAddress?_wadl
User Fields
You can pass extra fields through the web service even if the web service does not use them. Estos campos se obtienen, sin modificación, en la sección user_fields
de la respuesta. Para las solicitudes GET, los campos de usuario se pasan como parámetro en la URL como en ningún otro campo. Para las solicitudes POST, los campos de usuario se pasan como parte del elemento user_fields de la solicitud XML o JSON.
Solicitud REST de muestra utilizando GET con respuesta XML
El siguiente ejemplo ilustra cómo realizar una solicitud REST para el servicio ValidateAddress utilizando el método GET solicitando una respuesta en XML.
http://myserver:8080/rest/ValidateAddress/results.xml?Option.OutputCasing=U&Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
La solicitud de muestra resultaría en este respuesta, dado que se solicitó una respuesta XML:
<?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>
Solicitud REST de muestra utilizando GET con respuesta JSON
El siguiente ejemplo ilustra cómo realizar una solicitud REST para el servicio ValidateAddress utilizando el método GET solicitando una respuesta en JSON.
http://myserver:8080/rest/ValidateAddress/results.json?Option.OutputCasing=U&Data.AddressLine1=1825+Kramer+Lane&Data.PostalCode=78759
La solicitud de muestra resultaría en esta respuesta, dado que se solicitó una respuesta JSON:
{
"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"
}
}
}