REST インターフェイス

Spectrum™ Technology Platform は、Web サービスに対する REST インターフェイスを提供します。Enterprise Designer で作成されたユーザ定義の Web サービスは、GET メソッドと POST メソッドをサポートします。モジュールの一部としてインストールされているデフォルトのサービスは、GET しかサポートしません。POST を使用してこれらのサービスのいずれかにアクセスしたい場合は、Enterprise Designer でユーザ定義サービスを作成する必要があります。

ご利用の Spectrum™ Technology Platform サーバーで使用できる REST Web サービスを確認するには、以下の URL にアクセスします。

http://server:port/rest

注: URL の長さの制限により、パラメーターは 2,048 文字以下に制限することをお勧めします。

サービスのエンドポイント

XML 応答のエンドポイント:

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

JSON 応答のエンドポイント:

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

ユーザ定義 Web サービスのエンドポイントは、別の URL を使用するように Enterprise Designer で変更できます。

注: Spectrum™ Technology Platform では、デフォルトで 8080 番ポートを HTTP 通信に使用します。管理者が別のポートを設定している場合もあります。

WADL の URL

Spectrum™ Technology Platform Web サービスの WADL:

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

例:

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

ユーザ フィールド

Web サービスでは使用されない余分なフィールドを、サービスを介して渡すことができます。こうしたフィールドは、変更されずに応答の user_fields セクションで返されます。GET 要求の場合、ユーザ フィールドは他のフィールドと同じように、URL におけるパラメータとして引き渡されます。POST 要求の場合、ユーザ フィールドは、XML または JSON リクエストにおける user_fields 要素の一部として引き渡されます。

注: ユーザ フィールド名に、XML や JSON 要素名で無効な文字を含めることはできません。例えば、スペースは有効ではありません。

GET を用いて XML レスポンスを求める、REST リクエストの例

以下に、GET メソッドを使用して XML レスポンスを要求する、ValidateAddress サービスに対する REST リクエストの記述例を示します。

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

この要求の例では、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>

GET を用いて JSON レスポンスを求める、REST リクエストの例

以下に、GET メソッドを使用して JSON レスポンスを要求する、ValidateAddress サービスに対する REST リクエストの記述例を示します。

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

この要求の例では、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"
	}
	}
}