SOAP インターフェイス

Spectrum™ Technology Platformサーバーは、ドキュメント/リテラル モードで SOAP を使用してサービスへのアクセスを実現します。Document/literal Web サービスは、WS-I 準拠形式の Web サービスです。

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

http://server:port/soap

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

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>
注: ユーザ フィールドの名前に、XML 要素の名前で無効な文字を含めることはできません。例えば、スペースは有効ではありません。

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>