Protocolos de transporte en el escaparate

Los servicios REST pueden enviarse a través de HTTP o HTTPS. En función del servicio que se utilice, puede que sea necesario utilizar un protocolo en lugar del otro.

HTTPS o HTTP

Algunos servicios REST deben enviarse de forma segura a través de SSL (Secure Sockets Layer). Cuando un servicio REST requiera HTTPS, la solicitud deberá enviarse a través de HTTPS. En el archivo Rest.war/WEB-INF/config/com.ibm.commerce.rest/wc-rest-security.xml se definen los servicios REST siguientes que requieren SSL, donde los URL de recurso definidos en este archivo se utilizan para que coincida con el URL de la solicitud:

<sslConfig resource="store/{storeId}/cart/@self/checkout" enabled="true"/>
<sslConfig resource="store/{storeId}/cart/@self/precheckout" enabled="true"/>
<sslConfig resource="store/{storeId}/cart/@self/payment_instruction" enabled="true"/>
<sslConfig resource="store/{storeId}/cart/@self/shipping_info" enabled="true"/>
<sslConfig resource="store/{storeId}/guestidentity" enabled="true"/>
<sslConfig resource="store/{storeId}/loginidentity" enabled="true"/>
<sslConfig resource="store/{storeId}/ltpaidentity" enabled="true"/>
<sslConfig resource="store/{storeId}/order" enabled="true"/>
<sslConfig resource="store/{storeId}/person" enabled="true"/>
<sslConfig resource="store/{storeId}/wishlist" enabled="true"/>
La autenticación parcial está habilitada de forma predeterminada en el archivo wc-rest-security.xml, indicado por la etiqueta partialAuthentication. Por ejemplo:

<security>
   <partialAuthentication resource="store/{storeId}/wishlist" method="POST" enabled="true"/>
</security>
Donde cada recurso listado como partialAuthentication=true está autorizado para consumir la autenticación parcial almacenada en la cookie de WC_PERSISTENT. Esta configuración solo se utiliza si se permite el consumo de cookie en la API REST. El valor predeterminado es false. Cuando se llama a un servicio, se compara el URL de servicio con los patrones de recursos, se empieza por el patrón más largo y se compara el comportamiento de los nodos sslConfig en el archivo.

Alteraciones de método HTTP

Debe utilizar una solicitud POST y una cabecera de alteración temporal del método HTTP, si el servidor web solo permite los métodos siguientes:
  • GET
  • POST
Y no permite los métodos siguientes:
  • PUT
  • DELETE
En el caso de los métodos PUT, establezca la cabecera X-HTTP-Method-Override en PUT:

X-HTTP-Method-Override: PUT
En el caso de los métodos DELETE, establezca la cabecera X-HTTP-Method-Override en DELETE:

X-HTTP-Method-Override: DELETE