IPS Web Service WSDL-versies ips-web-service-wsdl-versions
De IPS Dienst van het Web wordt gesteund door een reeks documenten van WSDL (de Taal van de Beschrijving van de Diensten van het Web) die van om het even welke IPS installatie worden betreden waarop de IPS component van de Dienst van het Web geïnstalleerd is. Elke IPS API-release bevat een nieuw WSDL-bestand dat verwijst naar een versioned doel-XML-naamruimte. Eerdere WSDL-naamruimteversies worden ook ondersteund voor achterwaartse compatibiliteit met bestaande toepassingen.
WSDL-toegang section-62e69fa2c87f4dc9bca72f10ba028f6c
Heb toegang tot Scene7 WSDLs zoals hieronder getoond.
https://<IPS_hostname:<IPS_port>/<IPS_webapp>/
webservice/IpsApi[-<API_version>].wsdl
De standaardwaarde voor <IPS_webapp>
is scene7
.
plaats van de Dienst
De dienst URL wordt gespecificeerd in de dienstsectie van het IPS document van WSDL van de Dienst van het Web. De service-URL heeft doorgaans de volgende notatie:
https://<IPS_hostname>:<IPS_port>/<IPS_webapp>/
services/IpsApiService
Toegang URLs voor Dynamische gebieden van Media
Ondersteunde WSDL's section-ebbba69880f94e9c823f1147974eb404
Herinner me, kunt u uw code moeten wijzigen als u eigenschappen in de recentste versie van IPS API wilt gebruiken. IPS API steunt WSDLs voor de volgende versies:
Bestaande toepassingen die moeten worden aangepast om nieuwe functies te kunnen gebruiken, moeten een upgrade uitvoeren naar de nieuwste API-versie en moeten mogelijk wijzigingen aanbrengen in bestaande code. Zie het veranderingslogboek voor details.
SOAP section-51e7ecbd1d7f451b9e4f6bf7e1579cae
Bindingen
De IPS API Dienst van het Web steunt slechts een band van SOAP.
Gesteunde transporten
De IPS API SOAP-binding ondersteunt alleen HTTP-transport. Maak alle SOAP-verzoeken met behulp van de HTTPS POST-methode.
de actiekop van SOAP
Als u een aanvraag wilt verwerken, stelt u de HTTP-header van SOAPAction in op de naam van de gevraagde bewerking. Het attribuut van de verrichtingsnaam in de WSDL bindende sectie specificeert de naam.
formaat van het Bericht
De document/letterlijke stijl wordt gebruikt voor alle input en outputberichten met types die op de de definitietaal van het Schema van XML ( worden gebaseerd https://www.w3.org/TR/xmlschema-0/) en in het dossier van WSDL worden gespecificeerd. Alle typen vereisen gekwalificeerde namen met gebruik van de naamruimtewaarde van het doel die in het WSDL-bestand is opgegeven.
de authentificatie van het Verzoek
De voorkeursmethode voor het doorgeven van verificatiereferenties in API-aanvragen is het gebruik van het element authHeader
zoals gedefinieerd in de IPS API WSDL.
<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>
Gebieden
Het element authHeader
wordt altijd gedefinieerd in de naamruimte http://www.scene7.com/IpsApi/xsd
, ongeacht de API-versie.
Hieronder ziet u een voorbeeld van het gebruik van het element authHeader
in een aanvraag voor een SOAP-header:
<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>
Andere methodes van de verzoekauthentificatie
Als het om wat voor reden dan ook niet mogelijk is dat uw clienttoepassing de authHeader
SOAP-header doorgeeft, kunnen API-aanvragen ook referenties opgeven met HTTP Basic-verificatie (zoals opgegeven in RFC 2617).
Voor HTTP Basic-verificatie moet de HTTP-headersectie van elke SOAP POST-aanvraag een header van het formulier bevatten:
Authorization: Basic base64(<IPS_user_email>:<password>)
Waar base64()
de standaard Base64-codering toepast, is <IPS_user_email>
het e-mailadres van een geldige IPS-gebruiker en is <password>
het wachtwoord van de gebruiker.
Verzend de koptekst voor autorisatie op voorhand met het eerste verzoek. Als de aanvraag geen verificatiereferenties bevat, reageert IpsApiService
niet met een statuscode van 401 (Unauthorized)
. In plaats daarvan wordt een statuscode van 500 (Internal Server Error)
geretourneerd met een hoofdtekst van een SOAP-fout die aangeeft dat de aanvraag niet kan worden geverifieerd.
Vóór IPS 3.8 werd verificatie via SOAP-header geïmplementeerd met behulp van de AuthUser
- en AuthPassword
-elementen in de naamruimte http://www.scene7.com/IpsApi
. Bijvoorbeeld:
<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>
Deze stijl wordt nog steeds ondersteund voor achterwaartse compatibiliteit, maar is vervangen door het element authHeader
.
de vergunning van het Verzoek
Nadat de geloofsbrieven van de bezoeker voor authentiek worden verklaard, wordt het verzoek gecontroleerd om ervoor te zorgen dat de bezoeker wordt gemachtigd om de gevraagde verrichting uit te voeren. De vergunning is gebaseerd op de gebruikersrol van de bezoeker en kan ook vereisen controlerend het doelbedrijf, doelgebruiker, en andere verrichtingsparameters. Bovendien moeten de gebruikers van het Portaal van het Beeld tot een Groep met de vereiste toestemmingen behoren om bepaalde omslag en activaverrichtingen uit te voeren. De sectie Verrichtingen verwijst naar de vergunningsvereisten voor elke vluchtuitvoering.
verzoek en reactie van SOAP van de Steekproef
In het volgende voorbeeld wordt een volledige addCompany
-bewerking getoond, inclusief HTTP-headers:
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>
En de corresponderende reactie:
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>
de fouten van SOAP
Wanneer een bewerking een uitzonderingsvoorwaarde aantreft, wordt een SOAP-fout geretourneerd als de hoofdtekst van het SOAP-bericht in plaats van de normale reactie. Als een gebruiker die geen beheerder is, bijvoorbeeld de vorige addCompany
-aanvraag probeert te verzenden, wordt de volgende reactie gegeven:
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>