Personalizar la integración de canal de información web: Llenar un URL o su contenido con una tabla personalizada
Sin la personalización, los mediadores que se proporcionan con la función de integración de canal de integración web cargan datos únicamente en tablas de bases de datos específicas. Para cargar contenido en otras tablas, debe utilizar el mediador com.ibm.commerce.foundation.dataload.businessobjectmediator.TableObjectMediator durante el proceso de carga.
Sin la personalización, los mediadores que se proporcionan con la función de integración de canal de información web cargan datos en las tablas ATCHAST, ATCHTGT, ATCHREL y CMFILE. El contenido del URL, el origen del contenido, el título del contenido o el nombre de la correlación de canal de información pueden pasar al mediador TableObjectMediator
.
Antes de empezar
Por qué y cuándo se efectúa esta tarea
IDResolve
están configurados.Procedimiento
- Cree un archivo Web-feed-config.xml.
- En un programa de utilidad de línea de mandatos, vaya al siguiente directorio:
WC_installdir/bin
WCDE_installdir\bin
- Ejecute el programa de utilidad
webFeedLoad
con la opciónGenerateDataLoadConfigOnly
:./webFeedLoad.sh ../samples/DataLoad/Content/Web-feed-config.xml -DGenerateDataLoadConfigOnly=true -Dwaspath=WC_ear -DlogFileWithTimestamp=true
webFeedLoad.bat ..\samples\DataLoad\Content\Web-feed-config.xml -DGenerateDataLoadConfigOnly=true -DlogFileWithTimestamp=true
Se genera un archivo wc-loader-URLAttachment.xml dentro del directorio especificado en Web-feed-config.xml para el archivo de configuración de orden de carga de datos. Por ejemplo, si el archivo Web-feed-config.xml especifica un directorio temp, el archivo wc-loader-URLAttachment.xml se puede generar en el siguiente directorio:WC_installdir/samples/DataLoad/Content/WebFeed/temp/wc-loader-URLAttachment.xml
WCDE_installdir\samples\DataLoad\Content\WebFeed\temp\wc-loader-URLAttachment.xml
- Abra el archivo generado de configuración de objeto de negocio wc-loader-URLAttachment.xml para su edición. Añada un
BusinessObjectBuilder
para las tablas personalizadas en las que desee cargar datos conTableObjectMediator
.Por ejemplo, si desea cargar datos en las bases de datos COLLDESC, ATCHREL y COLLATERAL, la configuración del creador de objeto de negocio puede parecerse al siguiente fragmento de código. Puede utilizar un enfoque parecido para cargar datos en otras tablas.<_config:BusinessObjectBuilder className="com.ibm.commerce.foundation.dataload.businessobjectbuilder.TableObjectBuilder"> <!-- Table: COLLATERAL Columns: COLLATERAL_ID,COLLTYPE_ID,STOREENT_ID,NAME --> <_config:Table name="COLLATERAL" > <_config:Column name="COLLATERAL_ID" value="CollateralId" valueFrom="IDResolve"> <_config:IDResolve tableName="COLLATERAL" generateNewKey="true"> </_config:IDResolve> </_config:Column> <_config:Column name="COLLTYPE_ID" value="1" valueFrom="fixed"> </_config:Column> <_config:Column name="NAME" value="Name"> </_config:Column> <_config:Column name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> </_config:Table> <!-- Table: COLLDESC Columns: COLLATERAL_ID,LANGUAGE_ID --> <_config:Table name="COLLDESC" > <_config:Column name="COLLATERAL_ID" value="CollateralId" valueFrom="IDResolve"> <_config:IDResolve tableName="COLLATERAL" primaryKeyColumnName="COLLATERAL_ID" > <_config:UniqueIndexColumn name="NAME" value="Name"/> <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> </_config:IDResolve> </_config:Column> <_config:Column name="LANGUAGE_ID" value="langId" valueFrom="BusinessContext"> </_config:Column> </_config:Table> <!-- Table: ATCHREL Columns: OBJECT_ID, ATCHOBJTYP_ID, ATCHRLUS_ID, ATCHTGT_ID --> <_config:Table name="ATCHREL" > <_config:Column name="ATCHREL_ID" value="AtchRelId" valueFrom="IDResolve"> <_config:IDResolve tableName="ATCHREL" generateNewKey="true"> </_config:IDResolve> </_config:Column> <_config:Column name="ATCHOBJTYP_ID" value="4" valueFrom="fixed"> </_config:Column> <_config:Column name="ATCHRLUS_ID" value="0" valueFrom="fixed"> </_config:Column> <_config:Column name="OBJECT_ID" value="CollateralId2" valueFrom="IDResolve"> <_config:IDResolve tableName="COLLATERAL" primaryKeyColumnName="COLLATERAL_ID" > <_config:UniqueIndexColumn name="NAME" value="Name"/> <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> </_config:IDResolve> </_config:Column> <_config:Column name="ATCHTGT_ID" value="AttachmentId" valueFrom="IDResolve"> <_config:IDResolve tableName="ATCHTGT" primaryKeyColumnName="ATCHTGT_ID" > <_config:UniqueIndexColumn name="IDENTIFIER" value="Category"/> <_config:UniqueIndexColumn name="STOREENT_ID" value="storeId" valueFrom="BusinessContext"/> <_config:UniqueIndexColumn name="MEMBER_ID" value="storeOwnerId" valueFrom="BusinessContext"/> </_config:IDResolve> </_config:Column> </_config:Table> <_config:BusinessObjectMediator className="com.ibm.commerce.foundation.dataload.businessobjectmediator.TableObjectMediator"/> </_config:BusinessObjectBuilder>
- Ejecute el programa de utilidad
webFeedLoad
sin la opción especificadaGenerateDataLoadConfigOnly
../webFeedLoad.sh ../samples/DataLoad/Content/Web-feed-config.xml -Dwaspath=WC_ear -DlogFileWithTimestamp=true
webFeedLoad.bat ..\samples\DataLoad\Content\Web-feed-config.xml -DlogFileWithTimestamp=true