IPS Web サービス WSDL のバージョン ips-web-service-wsdl-versions

IPS Web サービスは、IPS Web サービスコンポーネントがインストールされている IPS インストールからアクセスする WSDL (Web Services Description Language) ドキュメントのセットによってサポートされています。 各 IPS API リリースには、バージョン管理されたターゲット XML 名前空間を参照する新しい WSDL ファイルが含まれています。 既存のアプリケーションとの下位互換性を保つために、以前のバージョンの WSDL 名前空間もサポートされています。

WSDL アクセス section-62e69fa2c87f4dc9bca72f10ba028f6c

Scene7 WSDL にアクセスします(下図を参照)。

https://<IPS_hostname:<IPS_port>/<IPS_webapp>/
webservice/IpsApi[-<API_version>].wsdl

<IPS_webapp> のデフォルト値は scene7 です。

サービスの場所

サービス URL は、IPS web サービス WSDL ドキュメントのサービスセクションで指定されます。 サービス URL は、通常、次の形式で指定します。

https://<IPS_hostname>:<IPS_port>/<IPS_webapp>/
services/IpsApiService

Dynamic Media リージョンのアクセス URL

地理的位置
実稼動 URL
ステージング URL (実稼動前の開発およびテストに使用)
北米
https://s7sps1apissl.scene7.com/scene7/
https://s7sps1apissl-staging.scene7.com/scene7/
ヨーロッパ、中東、アジア
https://s7sps3apissl.scene7.com/scene7/
https://s7sps3apissl-staging.scene7.com/scene7/
日本/アジア太平洋
https://s7sps5apissl.scene7.com/scene7/
https://s7sps5apissl-staging.scene7.com/scene7/

サポートされる WSDL section-ebbba69880f94e9c823f1147974eb404

最新バージョンの IPS API の機能を使用する場合は、コードを変更する必要がある場合があります。 IPS API では、次のバージョンの WSDL がサポートされています。

API リリースバージョン
WSDL
API 名前空間
6.8/2014R1
IpsApi-2014-04-03.wsdl
http://www.scene7.com/IpsApi/xsd/2014-04-03
6.6/2013R1
IpsApi-2013-02-15.wsdl
http://www.scene7.com/IpsApi/xsd/2013-02-15
6.0/2012R1
IpsApi-2012-02-14.wsdl
http://www.scene7.com/IpsApi/xsd/2012-02-14
4.5
IpsApi-2010-01-31.wsdl
http://www.scene7.com/IpsApi/xsd/2010-01-31
4.4
IpsApi-2009-07-31.wsdl
http://www.scene7.com/IpsApi/xsd/2009-07-31
4.2
IpsApi-2008-09-10.wsdl
http://www.scene7.com/IpsApi/xsd/2008-09-10
4.0
IpsApi-2008-01-15.wsdl
http://www.scene7.com/IpsApi/xsd/2008-01-15
4.0 より前
.wsdl
http://www.scene7.com/IpsApi/xsd

新しい機能を使用するために変更が必要な既存のアプリケーションは、最新の API バージョンにアップグレードする必要があり、既存のコードを変更する必要が生じる場合があります。 詳しくは、変更ログを参照してください。

SOAP section-51e7ecbd1d7f451b9e4f6bf7e1579cae

バインディング

IPS API web サービスは、SOAP バインディングのみをサポートしています。

サポートされるトランスポート

IPS API のSOAP バインディングは、HTTP トランスポートのみをサポートしています。 すべてのSOAP リクエストは HTTPS POST方式を使用して行います。

SOAP アクションヘッダー

リクエストを処理するには、SOAPAction HTTP ヘッダーをリクエストされた操作の名前に設定します。 WSDL 結合セクションの操作名属性が名前を指定します。

メッセージの形式

ドキュメント/リテラルスタイルは、XML スキーマ定義言語(https://www.w3.org/TR/xmlschema-0/)に基づき、WSDL ファイルで指定された型を持つすべての入力および出力メッセージで使用されます。 すべてのタイプには、WSDL ファイルで指定されたターゲット名前空間の値を使用して、修飾名が必要です。

認証をリクエスト

API リクエストで認証資格情報を渡すための推奨される方法は、IPS API WSDL で定義された authHeader 要素を使用することです。

<element name="authHeader">
    <complexType>
       <sequence>
            <element name="user" type="xsd:string"/>
            <element name="password" type="xsd:string"/>
            <element name="locale" type="xsd:string" minOccurs="0"/>
            <element name="appName" type="xsd:string" minOccurs="0"/>
            <element name="appVersion" type="xsd:string" minOccurs="0"/>
            <element name="gzipResponse" type="xsd:boolean" minOccurs="0"/>
            <element name="faultHttpStatusCode" type="xsd:int" minOccurs="0"/>
       </sequence>
    </complexType>
 </element>

フィールド

名前
説明
user
有効な IPS ユーザーメール。
password
ユーザーアカウントのパスワード。
locale
リクエストのオプションのロケール。 詳しくは、 ロケール を参照してください。
appName
呼び出し元のアプリケーション名。 このパラメーターはオプションですが、すべてのリクエストに含めることをお勧めします。
appVersion
アプリケーションのバージョンを呼び出しています。
応答 XML の gzip 圧縮を有効または無効にするオプションのフラグ。 HTTP Accept-Encoding ヘッダーが gzip のサポートを示している場合、デフォルトでは、応答は gzip で圧縮されます。
faultHttpStatusCode
障害応答の HTTP ステータスコードを上書きするオプションのパラメーター。 デフォルトでは、障害応答は HTTP ステータスコード 500 (内部サーバーエラー)を返します。 AdobeFlashを含む一部のクライアントプラットフォームでは、ステータスコード 200 (OK)が返されない限り、応答本文を読み取ることができません。

authHeader 要素は、API のバージョンに関係なく、常に名前空間 http://www.scene7.com/IpsApi/xsd で定義されます。

リクエスト SOAP ヘッダーで authHeader 要素を使用する例を次に示します。

<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <authHeader xmlns="http://www.scene7.com/IpsApi/xsd">
      <user>user@scene7.com</user>
      <password>mypassword</password>
      <appName>MyApp</appName>
      <appVersion>1.0</appVersion>
   </authHeader>
 </soap:Header>

その他のリクエスト認証方法

何らかの理由でクライアントアプリケーションが authHeader SOAP ヘッダーを渡すことができない場合、API リクエストは、HTTP 基本認証(RFC 2617 で指定)を使用して資格情報を指定することもできます。

HTTP 基本認証の場合、各SOAPPOSTリクエストの HTTP ヘッダーセクションには、次の形式のヘッダーを含める必要があります。

Authorization: Basic base64(<IPS_user_email>:<password>)

base64() は標準の Base64 エンコーディングを適用します。<IPS_user_email> は有効な IPS ユーザーのメールアドレスで、<password> はユーザーのパスワードです。

最初のリクエストで Authorization ヘッダーを事前に送信します。 認証資格情報がリクエストに含まれていない場合、IpsApiService はステータスコード 401 (Unauthorized) で応答しません。 代わりに、500 (Internal Server Error) のステータスコードが、リクエストを認証できなかったことを示すSOAP フォールト本文と共に返されます。

IPS 3.8 以前は、名前空間 http://www.scene7.com/IpsApiAuthUser 要素と AuthPassword 要素を使用して、SOAP Header を介した認証が実装されていました。 以下に例を挙げます。

<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <AuthUser xmlns="http://www.scene7.com/IpsApi">user@scene7.com</AuthUser>
   <AuthPassword xmlns="http://www.scene7.com/IpsApi">mypassword</AuthPassword>
</soap:Header>

このスタイルは後方互換性のために引き続きサポートされますが、authHeader 要素を優先して非推奨になりました。

リクエストの認証

呼び出し元の資格情報が認証されると、リクエストがチェックされ、呼び出し元がリクエストされた操作を実行する権限を持っていることが確認されます。 認証は呼び出し元のユーザーの役割に基づいており、ターゲットの会社、ターゲットユーザー、その他の操作パラメーターの確認が必要になる場合もあります。 また、Image Portal ユーザーは、特定のフォルダーおよびアセット操作を実行するために必要な権限を持つグループに属している必要があります。 操作のリファレンスセクションでは、各操作の認証要件の詳細を説明します。

SOAP リクエストと応答のサンプル

次の例は、HTTP ヘッダーを含む、完全な addCompany 操作を示しています。

POST /scene7/services/IpsApiService HTTP/1.1
User-Agent: Axis/2.0
SOAPAction: addCompany
Content-Type: text/xml; charset=UTF-8

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
      <authHeader xmlns="http://www.scene7.com/IpsApi/xsd">
        <user>user@scene7.com</user>
        <password>mypassword</password>
        <appName>MyApp</appName>
        <appVersion>1.0</appVersion>
      </authHeader>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:addCompanyParam xmlns:ns1="http://www.scene7.com/IpsApi/xsd/2008-01-15">
      <ns1:companyName>Sample Company</ns1:companyName>
      <ns1:expires>2008-07-31T12:00:00-06:00</ns1:expires>
    </ns1:addCompanyParam>
    </soapenv:Body>
 </soapenv:Envelope>

対応する応答:

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 21 Jul 2006 20:47:55 GMT

<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header />
   <soapenv:Body>
     <ns1:addCompanyReturn xmlns:ns1="http://www.scene7.com/IpsApi/xsd/2008-01-15">
       <ns1:companyInfo>
          <ns1:companyHandle>2</ns1:companyHandle>
          <ns1:name>Sample Company</ns1:name>
          <ns1:rootPath>SampleCompany/</ns1:rootPath>
          <ns1:expires>2008-07-31T18:00:00.000Z</ns1:expires>
       </ns1:companyInfo>
     </ns1:addCompanyReturn>
   </soapenv:Body>
</soapenv:Envelope>

SOAP フォールト

オペレーションが例外条件に遭遇すると、通常のレスポンスの代わりにSOAPフォルトがSOAPメッセージの本文として返されます。 例えば、管理者以外のユーザーが前の addCompany リクエストを送信しようとすると、次の応答が返されます。

HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 21 Jul 2006 16:36:20 GMT
Connection: close

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header />
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Client</faultcode>
         <faultstring>AuthorizationException</faultstring>
         <detail>
           <ns1:authorizationFault xmlns:ns1="http://www.scene7.com/IpsApi/xsd">
               <code xmlns="http://www.scene7.com/IpsApi/xsd">20003</code>
             <reason xmlns="http://www.scene7.com/IpsApi/xsd">User does not
             have permission to access operation 'addCompany'</reason>
           </ns1:authorizationFault>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>
recommendation-more-help
4e9b9d8c-5839-4215-aa35-01b652869681