Personalización de conectores CAS predeterminados con perfiles de Ingest
En esta lección aprenderá a extraer una columna adicional de la base de datos y hacer que esté disponible como un campo adicional en la respuesta de búsqueda.
Before you begin
- Asegúrese de haber descargado y extraído
HCL_Commerce_Search_Bundle_9.1.x.0.zip
del Portal de entregas y licencias de HCL. El zip extraído contendrá los datos del tutorial en la siguiente ubicación de carpeta: \dependencies\nifi\Tutorials . - Extraiga
commerce-custom-search-marketplace-seller.zip
en un directorio temporal en el entorno de desarrollo, que deberá configurarse en el kit de herramientas NiFi siguiendo el procedimiento que se describe a continuación. Este archivo incluye el código Java y las pruebas Junit de ejemplo que utiliza en este tutorial.
Procedure
-
Cree un procesador NiFi personalizado ampliando el procesador de Ingest predeterminado en el kit de herramientas NiFi.
Para configurar el entorno del kit de herramientas con el código fuente de ejemplo
commerce-custom-search-marketplace-seller.zip
proporcionado en el mismo espacio de trabajocommerce-custom-search-bundles-9.1.x.0
que se explica en el requisito previo, siga los pasos que se indican a continuación. Y para obtener más información sobrecommerce-custom-search-bundles-9.1.x.0
, consulte el tutorial : Personalización de conectores predeterminados con perfil de Ingest.Note: Puede utilizar cualquier distribución de Eclipse que incluya el plugin Maven (Maven versión 3.8.4 o posterior).- Extraiga
commerce-custom-search-marketplace-seller.zip
en un directorio de trabajo,commerce-custom-search-marketplace-seller
, que contiene un proyecto Maven con un archivopom.xml
dentro. - Copie los siguientes archivos JAR obtenidos del contenedor NiFi en el directorio del proyecto
commerce-custom-search-marketplace-seller/libs
que se ha extraído del proyectocommerce-custom-search-marketplace-seller.zip
. Para obtener más información, consulte los pasos 3 a través de 6 de los Procesadores NiFi personalizados.Ejemplo de V9.1.x.0:
commerce-search-processors-9.1.x.0.jar
hcl-cache-core-9.1.x.0-20221201.221643-25.jar
cf-base-9.1.x.0-20221123.064414-9.jar
Ingest-api.jar
, que se ha incluido en la plantilla de proyectocommerce-custom-search-marketplace-seller.zip
, ya está presente en esta carpeta. - Actualice el archivo
pom.xml
del directorio raíz del proyectocommerce-custom-search-marketplace-seller
y cambie las referencias del nombre del archivo a los nombres de los archivos JAR.Ejemplo de V9.1.x.0:<dependency> <groupId>com.hcl.commerce</groupId> <artifactId>dummy-commerce-search-processors</artifactId> <version>9.1.x.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/commerce-search-processors-9.1.x.0.jar</systemPath> </dependency> <dependency> <groupId>com.hcl.commerce</groupId> <artifactId>dummy-hcl-cache-core</artifactId> <version>9.1.x.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/ hcl-cache-core-9.1.x.0-20221201.221643-25.jar</systemPath> </dependency> <dependency> <groupId>com.ibm.commerce.cf</groupId> <artifactId>dummy-cf-base</artifactId> <version>9.1.x.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/cf-base-9.1.x.0-20221123.064414-9.jar</systemPath> </dependency>
- Importe el proyecto extraído como un proyecto Maven a Eclipse (commerce-custom-search-marketplace-seller. Haga clic en Finalizar. Espere a que las dependencias terminen de descargarse. ) y seleccione el directorio raíz
Este proyecto tiene una clase de proveedor de expresiones personalizada ChangeSQL de ejemplo que implementa la interfaz de IngestExpressionProvider. La clase ChangeSQL amplía el SQL para incluir una columna DESCRIPTION de la tabla MPSELLERDESC para la etapa DatabaseCASProductStage1a. También incluye una columna PARTNUMBER de la tabla CATENTRY para la etapa DatabaseCASProductStage1h. Puede utilizar esta referencia de ejemplo para aprender a modificar el SQL utilizado en las etapas predeterminadas de Extracción, Transformación y Carga (ETL).
ComposeDatabaseSQLTest es la prueba de JUnit que se puede utilizar para verificar la lógica de código de ChangeSQL.
CahngeDocument es una extensión de postprocesador del perfil de Ingest que muestra cómo puede realizar una manipulación de datos más detallada después de la transformación predeterminada, en dos de las etapas de Ingest relacionadas con el producto.
CreateProductDocumentFromDatabaseTest y FindChildItemsByAssetStoreFromDatabaseTest son las pruebas de JUnit que se pueden utilizar para verificar la lógica de código de ChangeDocument.
En esta clase, si la etapa actual es DatabaseCASProductStage1a, se añade un campo seller_description adicional con el valor de la columna DESCRIPTION de la tabla "MPSELLERDESC" en el documento que se va a indexar en Elasticsearch.
Si la etapa actual es DatabaseCASProductStage1h, se añade un campo parent_partnumber adicional con el valor de la columna PARTNUMBER de la tabla CATENTRY en el documento que se va a indexar en Elasticsearch.
Una vez completado, el espacio de trabajo contendrá dos proyectos. El primer proyecto será
commerce-custom-search-bundles
, del kit de herramientas NiFi, y el segundo será el proyecto importadocommerce-custom-search-marketplace-seller
. - Extraiga
-
Pruebe la lógica de Ingest personalizada en el kit de herramientas NiFi y compile un JAR desplegable.
Para ejecutar la prueba de JUnit, haga clic con el botón derecho en la clase de prueba de JUnit elegida y elija
o .Ejecute también una prueba unitaria para FindChildItemsByAssetStoreFromDatabaseTest.
- Actualice los proyectos pulsando el botón derecho del ratón en el Proyecto y seleccione .
- Seleccione Aceptar. Vuelva a compilar los binarios para el proyecto commerce-custom-search-bundles-9.1.x.0.Note:
- El proyecto de personalización commerce-custom-search-marketplace-seller no tiene dependencias en el proyecto commerce-custom-search-bundles-9.1.x.x , sin embargo, se recomienda compilar el proyecto commerce-custom-search-bundles-9.1.x.x antes de continuar con las personalizaciones. Esto puede ser útil para otras personalizaciones que pueden tener dependencias en commerce-custom-search-bundles-9.1.x.x para otros casos de uso.
- Si nota que faltan dependencias para los archivos JAR
dummy-commerce-search-processors
,dummy-hcl-cache-core
odummy-cf-base
, consulte Resolución de problemas: Faltan dependencias personalizadas del procesador NiFi.
Compile los binarios para el proyecto commerce-custom-search-marketplace-seller:
En el Explorador de proyectos, pulse con el botón derecho el proyecto Compilación de Maven y Compilación de Maven..., seleccione Compilación de Maven... ) Se abre la ventana Editar configuración.
(Tenga en cuenta que hay dos elementos de menú,Introduzca el mandato clean install -U -Denforcer.skip=true en el cuadro de texto Objetivos y pulse el botón Ejecutar.
Una vez finalizada la compilación, el archivo JAR estará disponible en el directorio de destino de este proyecto, por ejemplo: commerce-custom-search-marketplace-seller-9.1.x.0.jar . Para obtener más información, consulte Procesadores NiFi personalizados.
y pulse el botón
-
Despliegue la lógica personalizada de Ingest en el servidor de Elasticsearch en el entorno de desarrollo de Commerce.
En este paso, deberá ampliar el conector predeterminado desplegando la lógica personalizada en el contenedor NiFi de la plataforma de datos y, a continuación, deberá crear un perfil de Ingest personalizado para enlazarlo al canal del conector predeterminado.
Despliegue el archivo JAR personalizado commerce-custom-search-marketplace-seller-9.1.10.0.jar en el contenedor NiFi en la plataforma de datos de Elasticsearch para el entorno de desarrollo de Commerce.- Copie commerce-custom-search-marketplace-seller-9.1.x.0.jar del directorio de destino en el proyecto commerce-custom-search-marketplace-seller en el kit de herramientas NiFi del directorio commerce-custom-search-marketplace-seller del proyecto libs, en el directorio libs del contenedor NiFi en el servidor de datos de Elasticsearch.
docker cp "/root/commerce-custom-search-marketplace-seller-9.1.10.0.jar" <NIFI_CONTAINER_ID>:/opt/nifi/nifi-current/lib
Note: (Opcional) Este tutorial de personalización es independiente del proyecto commerce-custom-search-processors-nar. Sin embargo, si la personalización depende del proyecto commerce-custom-search-processors-nar, transfiera el archivo NAR del directorio de destino del proyecto commerce-custom-search-processors-nar al directorio de extensión designado en el servidor de Elasticsearch y monte este archivo como volumen en el contenedor Docker de NiFi.Ignore los archivos NAR generados en proyectos distintos de commerce-custom-search-processors-nar. Para obtener más información, consulte Compilación y despliegue de un archivo NAR personalizado
o ejemplo, podría utilizar el siguiente comando para montar el archivo NAR que se ha añadido a la carpeta /extensions, en lugar de montar la carpeta de volúmenes:docker run -it -p 30600:30600 --name elasticsearch_nifi_1 -v /{docker-compose dir}/volumes/nifi-ext/commerce-custom-search-processors-nar-9.1.x.x:/opt/nifi/nifi-current/extensions/commerce-custom-search-processors-nar-9.1.x.x search-nifi-app:v9-latest
Donde elasticsearch_nifi_1 es el contenedor NiFi del servidor de Elasticsearch y search-nifi-app:v9-latest es la imagen de NiFi.
- Reinicie el contenedor de NiFi.
- Copie commerce-custom-search-marketplace-seller-9.1.x.0.jar del directorio de destino en el proyecto commerce-custom-search-marketplace-seller en el kit de herramientas NiFi del directorio commerce-custom-search-marketplace-seller del proyecto libs, en el directorio libs del contenedor NiFi en el servidor de datos de Elasticsearch.
-
Despliegue las extensiones personalizadas del perfil de Ingest en el entorno de ejecución de producción.
- Cree la imagen de Docker personalizada
search-nifi-app
.Para realizar el despliegue en el tiempo de ejecución de las extensiones de personalización de Ingest, cree una imagen de Docker personalizada parasearch-nifi-app
que incluya las personalizaciones creadas mediante el kit de herramientas NiFi.- Cree una configuración de Dockerfile con el siguiente contenido:
FROM search-nifi-app docker image COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde CusDeploy/ contiene el commerce-custom-search-marketplace-seller-9.1.x.0.jar que ha compilado en el paso 2.
- Si se aplica el siguiente parche:
COPY patches/ /opt/nifi/nifi-current/patches FROM comlnx94.prod.hclpnp.com/9.1.x.0/search-nifi-app:v9-20220322-1524 WORKDIR /opt/nifi/scripts RUN ./patch.sh COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde el directorio patches/ contiene el parche (JAR) que se aplicará en V9.1.10.0 y CusDeploy/ que contendrá el commerce-custom-search-marketplace-seller-9.1.x.0.jar compilado en el paso 2.
FROM comlnx94.prod.hclpnp.com/9.1.x.0/search-nifi-app:v9-20220322-1524 COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde CusDeploy/ contendrá el commerce-custom-search-marketplace-seller-9.1.x.0.jar compilado en el paso 2.
- Prepare los archivos de despliegue personalizados.
- Cree el subdirectorio CusDeploy en el mismo directorio en el que está el archivo de Docker creado en el paso 1.
- Copie el commerce-custom-search-marketplace-seller-9.1.x.x.jar en el directorio CusDeploy.
- Compile la imagen de Docker personalizada (search-nifi-app) del servidor NiFi.
- Abra un indicador de comandos y vaya al directorio que contiene el archivo de Docker y el subdirectorio CusDeploy.
- Ejecute el comando docker build para compilar una imagen de Docker personalizada para el servidor de NiFi (search-nifi-app)
docker build -t search-nifi-app:<tag>.
Por ejemplo:docker build -t search-nifi-app:nifi-extension .
Note:- Asegúrese de que el período esté presente al final del comando docker build.
- La etiqueta, al igual que la etiqueta de compilación del paquete de implementación, se usa para identificar la imagen personalizada de Docker. Puede modificar esto en cualquier momento para ayudar a identificar la imagen de Docker generada.
- Cree una configuración de Dockerfile con el siguiente contenido:
- Despliegue el tiempo de ejecución del servidor de datos de Elasticsearch a través de CI/CD utilizando una imagen de Docker personalizada creada en el paso 1.Esta tarea cubre los requisitos mínimos para una implementación basada en Docker Compose.
- Configure un entorno de producción de HCL Commerce con el método de despliegue de Docker Compose. Para obtener información sobre cómo configurar este entorno, consulte Despliegue de HCL Commerce versión 9.1 con Docker Compose (para no producción).
- (Opcional) Para la imagen de Docker personalizada (search-nifi-app) del servidor de NiFi, asegúrese de que tiene los siguientes parámetros de despliegue definidos correctamente en la sección de entorno del archivo de configuración docker-compose.
Si la personalización depende del proyecto commerce-custom-search-processors-nar, transfiera el archivo NAR del directorio "target" del proyecto commerce-custom-search-processors-nar al directorio de extensión designado en el servidor de Elasticsearch y monte este archivo como volumen en el contenedor Docker de NiFi. Para obtener instrucciones más detalladas, consulte el tema Compilación y despliegue de un archivo NAR personalizado.volumes: - ./volumes/hcl-cache-local-redis/cache_cfg-ext.yaml:/SETUP/hcl-cache/cache_cfg-ext.yaml - ./volumes/hcl-cache-local-redis/redis_cfg.yaml:/SETUP/hcl-cache/redis_cfg.yaml - ./volumes/nifi-ext/commerce-custom-search-processors-nar-9.1.x.0.nar:/opt/nifi/nifi-current/extensions/commerce-custom-search-processors-nar-9.1.x.0.nar
Los pasos siguientes se deben realizar en el entorno de ejecución de la misma manera que se han realizado en el entorno de desarrollo:- Cree un perfil de Ingest y enlácelo a un conector predeterminado (paso paso 5.
- Anule el perfil de consulta de búsqueda predeterminado para incluir el atributo adicional seller_description en la respuesta de la consulta (paso paso 6).
- Compruebe que la respuesta del perfil de búsqueda contiene el atributo adicional seller_description (paso paso 7).
- Cree la imagen de Docker personalizada
-
Cree un perfil de Ingest personalizado y enlácelo a la etapa de creación (DatabaseCASProductStage1a) y a la etapa de actualización (DatabaseCASProductStage1h).
La etapa de creación es la primera etapa del producto, categoría o atributo, por ejemplo auth.reindex.cas - Etapa de producto 1a (documento principal).
La etapa de actualización consta del resto de las etapas, por ejemplo, auth.reindex.cas - Etapa de producto 1c (buscar URL de SEO), auth.reindex.cas - Etapa de producto 1h (buscar artículos hijo) y el resto.
La etapa de actualización y la etapa de creación utilizan diferentes diseños de flujo, por lo que el método para añadir el perfil de Ingest personalizado es ligeramente diferente. Después de este paso, se describe cómo añadir el perfil de Ingest personalizado a la etapa de actualización.
-
Mediante un cliente de REST, emita el siguiente comando de POST para crear un perfil de Ingest MyCustomIngestProfile.
POST http://<QUERY_HOST>:<QUERY_PORT>/search/resources/api/v2/documents/profiles/MyCustomIngestProfile?profileType=Ingest
A continuación se muestra el cuerpo de la solicitud. Tenga en cuenta que tiene los nombres de clase totalmente calificados del proveedor personalizado y del postprocesador que ha creado anteriormente en el proyecto commerce-custom-search-marketplace-seller-9.1.x.x.{ "profileName": "MyCustomIngestProfile", "provider": [ "com.mycompany.data.ingest.product.providers.ChangeSQL" ], "preprocessor": [], "postprocessor": [ "com.mycompany.data.ingest.product.processors.ChangeDocument" ] }
A continuación se muestra la respuesta esperada:{ "Profile created with name": "MyCustomIngestProfile" }
- Reinicie el contenedor query-app.
- Enlace el perfil de Ingest personalizado al canal del conector. Realice los pasos siguientes. Para obtener instrucciones sobre cómo utilizar un endpoint de Ingest para actualizar el enlace de perfil de Ingest como una variable a un canal de conector, consulte Actualización de un grupo de procesos, un procesador y un servicio de controladores de NiFi mediante un descriptor de conectores de Ingest.
- Abra la interfaz de usuario de NiFi y vaya a
- Pulse el botón derecho del ratón sobre el lienzo vacío y haga clic en variables.
- Cree una nueva variable con el nombre ingest.profile.name y un valor de
MyCustomIngestProfile
. Pulse el botón Aplicar.
-
-
Añada el perfil de Ingest personalizado a la Etapa de actualización ( DatabaseCASProductStage1h).
-
El atributo
seller_description.raw
también se indexa mediante el índice de compilación, y se puede validar asimismo desde la consola NiFi. -
Altere temporalmente los perfiles de búsqueda de consulta para modificar los campos de respuesta.
También puede alterar temporalmente los perfiles de búsqueda predeterminados creando un perfil personalizado usando el mismo nombre que el del perfil predeterminado. Si está disponible un perfil personalizado con el mismo nombre que un perfil predeterminado, se utiliza el perfil personalizado y se ignora el perfil predeterminado. Para ver los pasos detallados sobre cómo alterar temporalmente los perfiles de búsqueda, consulte Configuración del perfil de búsqueda personalizado.
- Altere temporalmente el perfil de consulta de búsqueda predeterminado para incluir el atributo adicional
seller_description.raw
en la respuesta de la consulta. - Amplíe el error HCL_findCatalogEntrySKUs del perfil de búsqueda añadiendo
seller_description.raw
a la sección responseFields del perfil de búsqueda existente.GET http://QUERY_HOST:QUERY_PORT/search/resources/api/v2/documents/profiles/HCL_findCatalogEntrySKUs
Por ejemplo:GET http://QUERY_HOST:30920/search/resources/api/v2/documents/profiles/HCL_findCatalogEntrySKUs
Para el perfil de búsqueda findCatalogEntrySKU, añada
seller_description.raw
a la sección ResponseFields del perfil de búsqueda existente.La respuesta debe ser similar a la siguiente:{ "profileName": "HCL_findCatalogEntrySKUs", "indexName": "product", "query": { "params": [ { "maxRows": "1200" }, { "sortField": "relationship.product.sequence asc" } ], "queryFields": [ "relationship.product.id" ], "provider": [ "com.hcl.commerce.search.internal.expression.provider.SearchInventoryExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByPublishedEntryOnlyExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByStorePathExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchBySellerExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByCatalogExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByLanguageExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchProductEntitlementExpressionProvider" ], "preprocessor": [], "postprocessor": [ "com.hcl.commerce.search.internal.expression.postprocessor.SearchMainCatalogEntryViewResultQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewPriceQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewUserDataQueryPostprocessor" ], "responseFields": [ "id.catentry", "id.store", "buyable", "id.catalog", "identifier.sku.raw", "name.raw", "name.override.raw", "description.raw", "description.override.raw", "url.thumbnail", "url.override.thumbnail", "url.image", "url.override.image", "keyword.text", "manufacturer.raw", "id.member", "seller.raw", "seller_description.raw", "type", "prices.*", "path.*", "relationship.product.id", "relationship.item.id", "attribute.source", "url.seo", "url.override.seo", "attachments.*", "images.*", "description.long" ] } }
PUT http://QUERY_HOST:30920/search/resources/api/v2/documents/profiles/HCL_findCatalogEntrySKUs
La respuesta debe ser similar a la siguiente:{ "Profile created with name": "HCL_findCatalogEntrySKUs" }
-
Repita este paso para el perfil de búsqueda HCL_V2_findProductByPartNumber_Details añadiendo
seller_description.raw
en la sección responseFields del perfil de búsqueda existente.GET http://QUERY_HOST:QUERY_PORT/search/resources/api/v2/documents/profiles/HCL_V2_findProductByPartNumber_Details
-
Añada
seller_description.raw
en la sección responseFields del perfil de búsqueda existente para utilizarlo como cuerpo de solicitud para la invocación PUT que se muestra a continuación para alterar temporalmente el perfil de búsqueda predeterminado de HCL_V2_findProductByPartNumber_Details.PUT http://QUERY_HOST:30920/search/resources/api/v2/documents/profiles/HCL_V2_findProductByPartNumber_Details
{ "profileName": "HCL_V2_findProductByPartNumber_Details", "indexName": "product", "query": { "params": [ { "DynamicKitReturnPrice": "true" }, { "maxRows": "50" } ], "queryFields": [ "identifier.sku.normalized" ], "provider": [ "com.hcl.commerce.search.internal.expression.provider.SearchByCatalogExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByStorePathExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchBySellerExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchByLanguageExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchInventoryExpressionProvider", "com.hcl.commerce.search.internal.expression.provider.SearchProductEntitlementExpressionProvider" ], "preprocessor": [], "postprocessor": [ "com.hcl.commerce.search.internal.expression.postprocessor.SearchMainCatalogEntryViewResultQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewPriceQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewSKUQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewAttributesQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewAttachmentsQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewImagesQueryPostProcessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewComponentsQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewMerchandisingAssocQueryPostprocessor", "com.hcl.commerce.search.internal.expression.postprocessor.SearchCatalogEntryViewUserDataQueryPostprocessor" ], "responseFields": [ "id.catentry", "id.store", "id.catalog", "buyable", "identifier.sku.raw", "name.raw", "name.override.raw", "description.raw", "description.override.raw", "url.thumbnail", "url.override.thumbnail", "keyword.text", "manufacturer.raw", "id.member", "seller.raw", "seller_description.raw", "type", "prices.*", "path.*", "relationship.item.*", "relationship.product.id", "relationship.component.*", "subscription.type", "subscription.recurring", "url.image", "url.override.image", "description.long", "attribute.source", "kit.components", "kit.preconfigured", "kit.model", "kit.URL", "kit.default_configuration", "kit.pdks", "kit.parent.model", "kit.configurable", "kit.parent.configurable", "associations.*", "url.seo", "attachments.*", "images.*" ] } }
La respuesta debe ser similar a la siguiente:{ "Profile created with name": "HCL_V2_findProductByPartNumber_Details" }
- Reinicie el contenedor de servicios de consulta.
Pruebe la personalización para verificar que la personalización se ha realizado correctamente.
- Altere temporalmente el perfil de consulta de búsqueda predeterminado para incluir el atributo adicional
-
Pruebe las extensiones del perfil de Ingest.
El paso de prueba es el mismo para los entornos de desarrollador y de ejecución.
- Compile el índice para la tienda EmeraldCAS (storeId = 12001).
- Una vez finalizada la indexación y cuando la interfaz de usuario de NiFi muestra datos en cola de 0/0 bytes, realice las pruebas siguientes para comprobar que los campos de respuesta contienen
seller_description.raw
cuando se realiza la búsqueda para los perfiles de búsqueda HCL_findCatalogEntrySKUs y HCL_V2_findProductByPartNumber_Details.Prueba 1: Compruebe que la respuesta para el siguiente endpoint de consulta de búsqueda recupera
seller_description.raw
para el perfil HCL_findCatalogEntrySKUs .Ejecute el siguiente comando GET desde el cliente REST.GET http://QUERY_HOST:QUERY_PORT/search/resources/api/v2/products?storeId=31&seller=7000000000000007002&id=14503
Prueba 2: Compruebe que la respuesta para el endpoint de consulta siguiente recupera
seller_description.raw
para el perfil HCL_V2_findProductByPartNumber_Details.Ejecute el siguiente comando GET desde el cliente REST.GET http://QUERY_HOST:QUERY_PORT/search/resources/api/v2/products?storeId=31&partNumber=MPHBA031_3103&seller=7000000000000007002