Versions WSDL du service Web IPS ips-web-service-wsdl-versions

Le service Web IPS est pris en charge par un ensemble de documents WSDL (Web Services Description Language) accessibles à partir de toute installation IPS sur laquelle le composant de service Web IPS est installé. Chaque version de l’API IPS comprend un nouveau fichier WSDL qui fait référence à un espace de noms XML cible versionné. Les versions antérieures des espaces de noms WSDL sont également prises en charge pour permettre une rétrocompatibilité avec les applications existantes.

Accès WSDL section-62e69fa2c87f4dc9bca72f10ba028f6c

Accédez aux WSDL Scene7 comme illustré ci-dessous.

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

La valeur par défaut de <IPS_webapp> est scene7.

Emplacement du service

L’URL du service est spécifiée dans la section Service du document WSDL du service Web IPS. L’URL du service se présente généralement comme suit :

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

URL d’accès aux régions Dynamic Media

Localisation géographique
URL de production
URL d’évaluation (à utiliser pour le développement et les tests de pré-production)
Amérique du Nord
https://s7sps1apissl.scene7.com/scene7/
https://s7sps1apissl-staging.scene7.com/scene7/
Europe, Moyen-Orient, Asie
https://s7sps3apissl.scene7.com/scene7/
https://s7sps3apissl-staging.scene7.com/scene7/
Japon/Asie-Pacifique
https://s7sps5apissl.scene7.com/scene7/
https://s7sps5apissl-staging.scene7.com/scene7/

WSDL pris en charge section-ebbba69880f94e9c823f1147974eb404

N’oubliez pas que vous devrez peut-être modifier votre code si vous souhaitez utiliser les fonctionnalités de la dernière version de l’API IPS. L’API IPS prend en charge les WSDL pour les versions suivantes :

Version de l’API
WSDL
Espace de noms de l’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
Version antérieure à 4.0
IpsApi.wsdl
http://www.scene7.com/IpsApi/xsd

Les applications existantes qui doivent être modifiées pour utiliser de nouvelles fonctionnalités doivent être mises à niveau vers la dernière version de l’API et peuvent devoir apporter des modifications au code existant. Voir le journal des modifications pour plus de détails.

SOAP section-51e7ecbd1d7f451b9e4f6bf7e1579cae

Liaisons

Le service web de l’API IPS prend uniquement en charge une liaison SOAP.

Transports pris en charge

La liaison SOAP de l’API IPS prend uniquement en charge le transport HTTP. Effectuez toutes les requêtes SOAP à l’aide de la méthode POST HTTPS.

En-tête d’action de SOAP

Pour traiter une requête, définissez l’en-tête HTTP SOAPAction sur le nom de l’opération demandée. L’attribut du nom de l’opération dans la section de liaison WSDL indique le nom.

Format du message

Le style de document/littéral est utilisé pour tous les messages d’entrée et de sortie avec des types basés sur le langage de définition de schéma XML ( 🔗) et spécifiés dans le fichier WSDL. Tous les types nécessitent des noms qualifiés utilisant la valeur de l’espace de noms cible spécifiée dans le fichier WSDL.

Demander une authentification

La méthode recommandée pour transmettre des informations d’authentification dans des requêtes API consiste à utiliser l’élément authHeader tel que défini dans le WSDL de l’API IPS.

<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>

Champs

Nom
Description
user
Adresse électronique de l’utilisateur IPS valide.
de mot de passe
Mot de passe du compte utilisateur.
locale
Paramètre régional facultatif pour la demande. Voir Paramètres régionaux pour plus d’informations.
appName
Appel du nom de l'application. Ce paramètre est facultatif, mais il est recommandé de l’inclure dans toutes les requêtes.
appVersion
Version de l'application appelante.
gzipResponse
Indicateur facultatif pour activer ou désactiver la compression GZIP du code XML de réponse. Par défaut, les réponses sont compressées au format gzip si l’en-tête HTTP Accept-Encoding indique la prise en charge de gzip.
defaultHttpStatusCode
Paramètre facultatif permettant de remplacer le code d’état HTTP pour les réponses d’erreur. Par défaut, les réponses d’erreur renvoient le code d’état HTTP 500 (erreur de serveur interne). Certaines plateformes clientes, y compris Adobe Flash, ne peuvent pas lire le corps de la réponse, sauf si un code d’état de 200 (OK) est renvoyé.

L’élément authHeader est toujours défini dans l’espace de noms http://www.scene7.com/IpsApi/xsd, quelle que soit la version de l’API.

Voici un exemple d’utilisation de l’élément authHeader dans un en-tête SOAP de requête :

<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>

Autres méthodes d’authentification des requêtes

Si, pour une raison quelconque, il n’est pas possible pour votre application cliente de transmettre l’en-tête authHeader SOAP, les requêtes API peuvent également spécifier des informations d’identification à l’aide de l’authentification HTTP de base (comme spécifié dans RFC 2617).

Pour l’authentification de base HTTP, la section d’en-tête HTTP de chaque requête POST SOAP doit inclure un en-tête du formulaire suivant :

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

Lorsque base64() applique le codage Base64 standard, <IPS_user_email> est l’adresse e-mail d’un utilisateur IPS valide et <password> est le mot de passe de l’utilisateur.

Envoyez l’en-tête d’autorisation de manière préventive avec la requête initiale. Si aucune information d’authentification n’est incluse dans la requête, IpsApiService ne répond pas avec un code d’état de 401 (Unauthorized). À la place, un code d’état de 500 (Internal Server Error) est renvoyé avec un corps d’erreur SOAP indiquant que la requête n’a pas pu être authentifiée.

Avant IPS 3.8, l’authentification par le biais de l’en-tête SOAP était implémentée à l’aide des éléments AuthUser et AuthPassword dans l’espace de noms http://www.scene7.com/IpsApi. Par exemple :

<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>

Ce style est toujours pris en charge pour la rétrocompatibilité, mais il a été abandonné au profit de l’élément authHeader.

Demander une autorisation

Une fois les informations d’identification de l’appelant authentifiées, la demande est vérifiée pour s’assurer que l’appelant est autorisé à effectuer l’opération demandée. L’autorisation est basée sur le rôle d’utilisateur de l’appelant et peut également nécessiter de vérifier la société cible, l’utilisateur cible et d’autres paramètres d’opération. En outre, les utilisateurs du portail d’images doivent appartenir à un groupe avec les autorisations requises pour effectuer certaines opérations sur les dossiers et les ressources. La section de référence Opérations détaille les exigences d’autorisation pour chaque opération.

Exemple de requête et de réponse SOAP

L’exemple suivant illustre une opération addCompany complète, y compris des en-têtes HTTP :

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>

Et la réponse correspondante :

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>

Erreurs

Lorsqu’une opération rencontre une condition d’exception, une erreur SOAP est renvoyée comme corps du message SOAP à la place de la réponse normale. Par exemple, si un utilisateur non administrateur tente d’envoyer la requête addCompany précédente, la réponse suivante est renvoyée :

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
dynamic-media-developer-resources-help-aem-ips-api