Versões WSDL do Serviço Web IPS

O IPS Web Service é suportado por um conjunto de documentos WSDL (Web Services Description Language) que são acessados a partir de qualquer instalação IPS em que o componente IPS Web Service está instalado. Cada versão da API do IPS inclui um novo arquivo WSDL que faz referência a um namespace XML de destino com versão. As versões anteriores do namespace WSDL também são compatíveis com versões anteriores dos aplicativos existentes.

Acesso WSDL

Acesse os WSDLs do Scene7 conforme mostrado abaixo.

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

O valor padrão para <IPS_webapp> é scene7.

Local do serviço

O URL de serviço é especificado na seção de serviço do documento WSDL do Serviço Web IPS. O URL de serviço geralmente tem o formato :

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

URLs de acesso para regiões do Dynamic Media

Localização geográfica

URL de produção

URL de armazenamento temporário (uso para desenvolvimento e teste pré-produção)

América do Norte

https://s7sps1apissl.scene7.com/scene7/

https://s7sps1apissl-staging.scene7.com/scene7/

Europa, Médio Oriente, Ásia

https://s7sps3apissl.scene7.com/scene7/

https://s7sps3apissl-staging.scene7.com/scene7/

Japão/Pacífico Asiático

https://s7sps5apissl.scene7.com/scene7/

https://s7sps5apissl-staging.scene7.com/scene7/

WSDLs compatíveis

Lembre-se de que talvez seja necessário modificar seu código para usar os recursos na versão mais recente da API do IPS. A API IPS suporta WSDLs para as seguintes versões:

Versão da API

WSDL

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

Pré-4.0

IpsApi.wsdl

http://www.scene7.com/IpsApi/xsd

Os aplicativos existentes que precisam ser modificados para usar novos recursos devem atualizar para a versão mais recente da API e podem precisar fazer alterações no código existente. Consulte o log de alterações para obter detalhes.

SOAP

Ligações

O Serviço Web de API IPS suporta apenas uma associação SOAP.

Transportes compatíveis

O vínculo SOAP da API IPS é compatível somente com transporte HTTP. Faça todas as solicitações SOAP usando o método POST HTTPS.

Cabeçalho de ação SOAP

Para processar uma solicitação, defina o cabeçalho HTTP SOAPAction como o nome da operação solicitada. O atributo nome da operação na seção de vínculo WSDL especifica o nome.

Formato de mensagem

O estilo document/literal é usado para todas as mensagens de entrada e saída com tipos com base na linguagem de definição do Esquema XML ( http://www.w3.org/TR/xmlschema-0/) e especificado no arquivo WSDL. Todos os tipos exigem nomes qualificados usando o valor de namespace de destino especificado no arquivo WSDL.

Autenticação da solicitação

O método preferido para transmitir credenciais de autenticação em solicitações de API é usar o elemento authHeader conforme definido no WSDL da API do 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>

Campos

Nome

Descrição

usuário

Email de usuário IPS válido.

senha

Senha da conta de usuário.

locale

Local opcional para solicitação. Consulte Localidade para obter detalhes.

appName

Chamando o nome do aplicativo. Esse parâmetro é opcional, mas é recomendável incluí-lo em todas as solicitações.

appVersion

Chamando a versão do aplicativo.

gzipResponse

Sinalizador opcional para ativar ou desativar a compactação gzip do XML de resposta. Por padrão, as respostas são compactadas por gzip se o cabeçalho HTTP Accept-Encoding indicar suporte para gzip.

defaultHttpStatusCode

Parâmetro opcional para substituir o código de status HTTP para respostas de falha. Por padrão, as respostas de falha retornam o código de status HTTP 500 (Internal Server Error). Algumas plataformas clientes, incluindo o Flash Adobe, não podem ler o corpo da resposta a menos que um código de status 200 (OK) seja retornado.

O elemento authHeader é sempre definido no namespace http://www.scene7.com/IpsApi/xsd, independentemente da versão da API.

A seguir, um exemplo de uso do elemento authHeader em um cabeçalho SOAP de solicitação:

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

Outros métodos de autenticação de solicitação

Se, por algum motivo, seu aplicativo cliente não puder passar o cabeçalho SOAP authHeader, as solicitações de API também poderão especificar credenciais usando a autenticação HTTP Basic (conforme especificado em RFC 2617).

Para autenticação HTTP Basic, a seção cabeçalho HTTP de cada solicitação de POST SOAP deve incluir um cabeçalho do formulário:

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

Onde base64() aplica a codificação Base64 padrão, <IPS_user_email> é o endereço de email de um usuário IPS válido e <password> é a senha do usuário.

Envie o cabeçalho de Autorização antecipadamente com a solicitação inicial. Se nenhuma credencial de autenticação for incluída na solicitação, IpsApiService não responderá com um código de status 401 (Unauthorized). Em vez disso, um código de status 500 (Internal Server Error) é retornado com um corpo de falha SOAP declarando que a solicitação não pôde ser autenticada.

Antes do IPS 3.8, a autenticação por meio do cabeçalho SOAP era implementada usando os elementos AuthUser e AuthPassword no namespace http://www.scene7.com/IpsApi. Por exemplo:

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

Esse estilo ainda é compatível com compatibilidade anterior, mas foi substituído pelo elemento authHeader.

Solicitar autorização

Depois que as credenciais do chamador forem autenticadas, a solicitação será verificada para garantir que o chamador esteja autorizado a executar a operação solicitada. A autorização é baseada na função de usuário do chamador e também pode exigir a verificação da empresa de destino, usuário de destino e outros parâmetros de operação. Além disso, os usuários do Portal de imagens devem pertencer a um Grupo com as permissões necessárias para executar determinadas operações de pasta e ativo. A seção de referência Operações descreve os requisitos de autorização para cada operação.

Exemplo de solicitação e resposta SOAP

O exemplo a seguir mostra uma operação addCompany completa, incluindo cabeçalhos 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>

E a resposta correspondente:

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>

Falhas de SOAP

Quando uma operação encontra uma condição de exceção, uma falha SOAP é retornada como o corpo da mensagem SOAP no lugar da resposta normal. Por exemplo, se um usuário não administrador tentar enviar a solicitação addCompany anterior, a seguinte resposta será retornada:

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>

Nesta página