Deprecated feature

Petición Get y la respuesta Show

Las peticiones Get son peticiones de datos y utilizan el verbo Get y devuelve una respuesta Show. El verbo Get indicará los criterios de búsqueda utilizados para recuperar los objetos de negocio junto con las opciones de paginación para peticiones por páginas. La respuesta Show incluirá los objetos de negocio que coinciden con los criterios de búsqueda.

Expresiones de búsqueda para la petición de servicio Get

Después del modelo OAGIS para peticiones de lectura, el procedimiento recomendado es que cada petición de lectura se represente como un documento Get Noun, donde Get es la acción a realizar y Noun es el objeto o los objetos de negocio a devolver. Como respuesta a la petición Get, se devolverá el documento Show con los datos solicitados.

Las expresiones de búsqueda serán expresiones XPath que representan una consulta frente al nombre respectivo para indicar los datos que se deben devolver. Como parte de la extensión de la sintaxis XPath, hay una forma de pasar la información de control para indicar la cantidad de datos que se deben devolver, clasificación y otra información de control de resultado de la búsqueda.

Las peticiones de lectura utilizarán expresiones XPath para definir los datos de respuesta que se deben devolver.

Perfil de acceso

Un perfil de acceso se puede utilizar para delimitar los datos de respuesta. Por ejemplo, para devolver una vista específica de los datos (por ejemplo, una vista de búsqueda de una entrada de catálogo), o para devolver los datos en todos los idiomas con fines de creación. Como extensión a la sintaxis XPath, se debe añadir como prefijo la pareja nombre-valor del perfil de acceso a la expresión XPath entre llaves({}). Siempre debe especificar el perfil de acceso. Para obtener más información, consulte Notación XPath ampliada de HCL Commerce.


{_wcf.ap=$accessProfile$}/CatalogGroup[Name='MyCatalogGroupName']

Paginación de resultados

En algunos casos es necesario paginar los resultados para que la petición de servicio solo devuelva un subconjunto de los datos que coinciden con los criterios. Para controlar la cantidad de registros que se van a devolver, el verbo GET tiene atributos de paginación que se utilizarán para indicar el número de registros que se van a devolver y dónde empezar en la lista de información a devolver. El atributo maxItems se utiliza para indicar el número de elementos de datos devueltos de la consulta y recordSetStartNumber es el índice inicial del conjunto de registros para empezar a devolver información.

Para las expresiones de búsqueda donde el número de resultados devueltos no es igual al número de resultados posibles de la consulta, el mensaje Show que responde llenará el atributo recordSetReferenceId. Este atributo lo puede utilizar el cliente como clave para identificar de forma exclusiva la consulta para evitar tener que volver a realizar la búsqueda. El recordSetReferenceId es una clave exclusiva asociada a la búsqueda que solo será válida para un periodo de tiempo de espera que depende de la implementación de portada del componente. El consumidor de servicios puede utilizar este identificador como indicador para la implementación de portada del componente que debe recuperar resultados de la antememoria en lugar de volver a ejecutar la expresión solo para devolver una página diferente con los mismos resultados.

Atributo Get Significado
maxItems El número máximo de elementos a devolver.
recordSetStartNumber El índice inicial a partir del cual se van a recuperar resultados del conjunto de resultados.
recordSetReferenceId Si se trata de un seguimiento de una consulta existente, pase el ID de referencia para que se pueda recuperar el conjunto de resultados de la antememoria.
Atributo Show Significado
recordSetStartNumber El índice inicial de los resultados que se devuelven en este mensaje.
recordSetCount El número de registros del conjunto de resultados que se devuelven en este mensaje.
recordSetTotal El número total de resultados del conjunto de resultados.
recordSetCompleteIndicator Indica si ha alcanzado el final del conjunto de resultados.
recordSetReferenceId El identificador interno para el conjunto de resultados, para que se pueda resolver en una petición subsiguiente.

A continuación se muestra un ejemplo de la respuesta del verbo Show y el verbo Get siguiente para recuperar los 10 elementos siguientes de la consulta. Como resultado de la respuesta Show, recordSetReferenceId se rellena junto con el número de registros devueltos por la consulta y el número de registros incluidos con el mensaje de respuesta actual. La solicitud GET anterior puede utilizar recordSetReferenceId para recuperar la página de registros siguiente para evitar que el servidor vuelva a ejecutar la consulta.

<oa:Get maxItems="10" recordSetStartNumber="10"
  recordSetReferenceId="ABCD-1234-WXYZ">
  <oa:Expression expressionLanguage="_wcf:XPath">
   
{_wcf.ap=$accessProfile$}/CatalogGroup[Name='MyCatalogGroupName]
  </oa:Expression>
</oa:Get>

<oa:Show
  recordSetCompleteIndicator="true"
recordSetReferenceId="ABCD-1234-WXYZ"
  recordSetTotal="101" recordSetCount="10"
recordSetStartNumber="10">

Paginación para nombres complejos

OAGIS solo da soporte a la paginación a nivel de nombres. La capa de servicio de datos y los componentes SOI no dan soporte a la paginación en subnombres. Sin embargo, hay nombres dentro de nombres, denominados sub nouns, que también deben paginarse (por ejemplo, OrderItem, dentro del nombre Order) en el componente de pedido.