WSDL-versioner för IPS-webbtjänst ips-web-service-wsdl-versions

IPS-webbtjänsten stöds av en uppsättning WSDL-dokument (Web Services Description Language) som nås från alla IPS-installationer där IPS-webbtjänstkomponenten är installerad. Varje IPS API-version innehåller en ny WSDL-fil som refererar till ett versionshanterat mål-XML-namnutrymme. Tidigare versioner av WSDL-namnutrymmen stöds också för bakåtkompatibilitet med befintliga program.

WSDL-åtkomst section-62e69fa2c87f4dc9bca72f10ba028f6c

Gå till Scene7 WSDL:er enligt nedan.

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

Standardvärdet för <IPS_webapp> är scene7.

Tjänstplats

Tjänstens URL anges i tjänstavsnittet i WSDL-dokumentet för IPS-webbtjänsten. Tjänstens URL har vanligtvis följande format:

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

Åtkomst-URL:er för Dynamic Media-regioner

Geografisk plats
Produktions-URL
Mellanlagrings-URL (används för utveckling och testning av förproduktion)
Nordamerika
https://s7sps1apissl.scene7.com/scene7/
https://s7sps1apissl-staging.scene7.com/scene7/
Europa, Mellanöstern, Asien
https://s7sps3apissl.scene7.com/scene7/
https://s7sps3apissl-staging.scene7.com/scene7/
Japan/Asien/Stillahavsområdet
https://s7sps5apissl.scene7.com/scene7/
https://s7sps5apissl-staging.scene7.com/scene7/

WSDL:er som stöds section-ebbba69880f94e9c823f1147974eb404

Kom ihåg att du kanske måste ändra koden om du vill använda funktionerna i den senaste versionen av IPS API. IPS-API:t stöder WSDL:er för följande versioner:

API-versionsversion
WSDL
API-namnutrymme
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
Pre-4.0
IpsApi.wsdl
http://www.scene7.com/IpsApi/xsd

Befintliga program som måste ändras för att kunna använda nya funktioner måste uppgradera till den senaste API-versionen och kan behöva göra ändringar i befintlig kod. Mer information finns i ändringsloggen.

SOAP section-51e7ecbd1d7f451b9e4f6bf7e1579cae

Bindningar

IPS API-webbtjänsten stöder endast SOAP bindning.

Transporter som stöds

IPS API-SOAP-bindningen stöder endast HTTP-transport. Gör alla SOAP förfrågningar med metoden HTTPS-POST.

SOAP åtgärdshuvud

Om du vill bearbeta en begäran anger du HTTP-huvudet SOAPAction till namnet på den begärda åtgärden. Åtgärdsnamnattributet i WSDL-bindningsavsnittet anger namnet.

Meddelandeformat

Formatet document/literal används för alla in- och utdatameddelanden med typer som är baserade på definitionsspråket XML-schema ( https://www.w3.org/TR/xmlschema-0/) och som anges i WSDL-filen. Alla typer kräver kvalificerade namn med det målnamnutrymmesvärde som anges i WSDL-filen.

Begär autentisering

Den metod som rekommenderas för att skicka autentiseringsuppgifter i API-begäranden är att använda elementet authHeader enligt definitionen i WSDL för IPS API.

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

Fält

Namn
Beskrivning
användare
Giltig e-postadress för IPS-användare.
lösenord
Lösenord för användarkonto.
språk
Valfri språkinställning för begäran. Mer information finns i Språk.
appName
Anropar programnamn. Den här parametern är valfri, men vi rekommenderar att du tar med den i alla förfrågningar.
appVersion
Anropar programversion.
gzipResponse
Valfri flagga för att aktivera eller inaktivera gzip-komprimering för XML-svar. Som standard är svaren gzip-komprimerade om rubriken HTTP Accept-Encoding anger stöd för gzip.
errorHttpStatusCode
Valfri parameter för att åsidosätta HTTP-statuskoden för felsvar. Som standard returnerar felsvar HTTP-statuskod 500 (Internt serverfel). Vissa klientplattformar, inklusive Adobe Flash, kan inte läsa svarstexten om inte statuskoden 200 (OK) returneras.

Elementet authHeader definieras alltid i namnutrymmet http://www.scene7.com/IpsApi/xsd, oavsett API-version.

Följande är ett exempel på hur du använder elementet authHeader i en SOAP.

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

Andra autentiseringsmetoder för begäran

Om klientprogrammet av någon anledning inte kan skicka SOAP authHeader kan API-begäranden även ange autentiseringsuppgifter med HTTP Basic-autentisering (enligt RFC 2617).

För grundläggande HTTP-autentisering måste HTTP-huvudavsnittet i varje begäran om SOAP POST innehålla en rubrik i formuläret:

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

Där base64() använder standardkodningen Base64 är <IPS_user_email> e-postadressen för en giltig IPS-användare och <password> är användarens lösenord.

Skicka auktoriseringshuvudet företrädesvis med den initiala begäran. Om inga autentiseringsuppgifter ingår i begäran svarar IpsApiService inte med statuskoden 401 (Unauthorized). I stället returneras statuskoden 500 (Internal Server Error) med en SOAP felkod som anger att begäran inte kunde autentiseras.

Före IPS 3.8 implementerades autentisering via SOAP med elementen AuthUser och AuthPassword i namnutrymmet http://www.scene7.com/IpsApi. Till exempel:

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

Det här formatet stöds fortfarande för bakåtkompatibilitet, men har ersatts med elementet authHeader.

Begär auktorisering

När anroparens autentiseringsuppgifter har autentiserats kontrolleras begäran för att säkerställa att anroparen har behörighet att utföra den begärda åtgärden. Auktoriseringen baseras på användarrollen för anroparen och kan även kräva kontroll av målföretaget, målanvändaren och andra åtgärdsparametrar. Dessutom måste användare av Image Portal tillhöra en grupp med de behörigheter som krävs för att utföra vissa mapp- och resursåtgärder. I referensavsnittet Drift finns information om behörighetskraven för varje åtgärd.

Exempel på SOAP och svar

I följande exempel visas en fullständig addCompany-åtgärd, inklusive HTTP-huvuden:

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>

Och motsvarande svar:

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 fel

När en åtgärd påträffar ett undantagsvillkor returneras ett SOAP som brödtexten i det SOAP meddelandet i stället för det normala svaret. Om en icke-admin-användare till exempel försöker skicka föregående addCompany-begäran returneras följande svar:

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