SOAP インターフェイス
Spectrum™ Technology Platformサーバーは、ドキュメント/リテラル モードで SOAP を使用してサービスへのアクセスを実現します。Document/literal Web サービスは、WS-I 準拠形式の Web サービスです。
ご利用の Spectrum™ Technology Platformサーバーで使用できる SOAP Web サービスを確認するには、以下の URL にアクセスします。
http://server:port/soap
WSDL URL
Spectrum™ Technology PlatformWeb サービスの WSDL は以下のとおりです。
http://server:port/soap/service_name?wsdl
例:
http://myserver:8080/soap/ValidateAddress?wsdl
Web サービス モデルは、すべてのサービスを対象とする汎用モデルです。どのSpectrum™ Technology PlatformWeb サービスでも、WSDL に含まれるデータ タイプと操作の定義は同じです。WSDL が異なるのは、ターゲットとするサービスと、実行時に提供される値 (オプションとデータ) です。
ユーザ フィールド
Web サービスでは使用されない余分なフィールドを、サービスを介して渡すことができます。こうしたフィールドは、変更されずに応答の<user_fields>
要素で返されます。例えば、このリクエストに含まれるユーザ フィールド id の値は 5 です。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">
<soapenv:Header/>
<soapenv:Body>
<val:ValidateAddressRequest>
<val:input_port>
<val:Address>
<val:AddressLine1>3001 summer</val:AddressLine1>
<val:City>stamford</val:City>
<val:StateProvince>ct</val:StateProvince>
<val:user_fields>
<val:user_field>
<val:name>id</val:name>
<val:value>5</val:value>
</val:user_field>
</val:user_fields>
</val:Address>
</val:input_port>
</val:ValidateAddressRequest>
</soapenv:Body>
</soapenv:Envelope>
このユーザ フィールドは、変更されず、応答で返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns3:ValidateAddressResponse xmlns:ns2="http://spectrum.pb.com/" xmlns:ns3="http://www.pb.com/spectrum/services/ValidateAddress">
<ns3:output_port>
<ns3:Address>
<ns3:Confidence>86</ns3:Confidence>
<ns3:RecordType>HighRise</ns3:RecordType>
<ns3:RecordType.Default>Y</ns3:RecordType.Default>
<ns3:CountryLevel>A</ns3:CountryLevel>
<ns3:ProcessedBy>USA</ns3:ProcessedBy>
<ns3:MatchScore>0</ns3:MatchScore>
<ns3:AddressLine1>3001 Summer St</ns3:AddressLine1>
<ns3:City>Stamford</ns3:City>
<ns3:StateProvince>CT</ns3:StateProvince>
<ns3:PostalCode>06905-4317</ns3:PostalCode>
<ns3:PostalCode.Base>06905</ns3:PostalCode.Base>
<ns3:PostalCode.AddOn>4317</ns3:PostalCode.AddOn>
<ns3:Country>United States Of America</ns3:Country>
<ns3:AdditionalInputData.Base/>
<ns3:POBoxOnlyDeliveryZone/>
<ns3:user_fields>
<ns3:user_field>
<ns3:name>id</ns3:name>
<ns3:value>5</ns3:value>
</ns3:user_field>
</ns3:user_fields>
</ns3:Address>
</ns3:output_port>
</ns3:ValidateAddressResponse>
</soap:Body>
</soap:Envelope>
SOAP リクエストのサンプル
以下に示すサンプル SOAP 要求は、ValidateAddress サービスを呼び出します。オプションと行のセクションは使用する Web サービスのメタデータに依存するため、コンポーネントによってメタデータのエントリが異なります。また、user_fields セクションを使うと、変更されずにレスポンスで返されるフィールド値を渡すことができます。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:val="http://www.pb.com/spectrum/services/ValidateAddress">
<soapenv:Header/>
<soapenv:Body>
<val:ValidateAddressRequest>
<val:options>
<val:OutputFormattedOnFail>Y</val:OutputFormattedOnFail>
</val:options>
<val:input_port>
<val:Address>
<val:AddressLine1>1525B Kramer Lane</val:AddressLine1>
<val:AddressLine2>Suite 100</val:AddressLine2>
<val:PostalCode>78758</val:PostalCode>
</val:Address>
</val:input_port>
</val:ValidateAddressRequest>
</soapenv:Body>
</soapenv:Envelope>
SOAP レスポンスのサンプル
上記のサンプル要求により、以下の応答が返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns3:ValidateAddressResponse xmlns:ns2="http://spectrum.pb.com/" xmlns:ns3="http://www.pb.com/spectrum/services/ValidateAddress">
<ns3:output_port>
<ns3:Address>
<ns3:Confidence>88</ns3:Confidence>
<ns3:RecordType>Normal</ns3:RecordType>
<ns3:CountryLevel>A</ns3:CountryLevel>
<ns3:ProcessedBy>USA</ns3:ProcessedBy>
<ns3:MatchScore>0</ns3:MatchScore>
<ns3:AddressLine1>1525B Kramer Ln Ste 100</ns3:AddressLine1>
<ns3:City>Austin</ns3:City>
<ns3:StateProvince>TX</ns3:StateProvince>
<ns3:PostalCode>78758-4227</ns3:PostalCode>
<ns3:PostalCode.Base>78758</ns3:PostalCode.Base>
<ns3:PostalCode.AddOn>4227</ns3:PostalCode.AddOn>
<ns3:Country>United States Of America</ns3:Country>
<ns3:user_fields/>
</ns3:Address>
</ns3:output_port>
</ns3:ValidateAddressResponse>
</soap:Body>
</soap:Envelope>