Scénario : Remplacement d’un service de bloc de création


Selon vos besoins, vous pouvez remplacer un service de bloc de création à l’aide de votre propre implémentation de service. 

Présentation de l’implémentation

Pour ajouter un service personnalisé, ajoutez l’implémentation personnalisée pour le service de bloc de création dans le projet CorrespondenceManagementSolutionTemplate/Services. Implémentez l’interface de service existante et fournissez au service une implémentation personnalisée. Par exemple, afin de fournir une implémentation personnalisée pour CategoryService, implémentez l’interface com.adobe.icc.services.api.CategoryService.
  1. Ajoutez l’entrée bean suivante au fichier CorrespondenceManagementSolutionTemplate\Services\resources\META-INF\spring\cm\adobe-cm-spring-config.xml :
    <bean id="customCategoryService" class="com.adobe.icc.CustomCategoryServiceImpl" />
    Remarque : il s’agit d’exemples de configuration supposant que le nom classifié complet de l’implémentation personnalisée soit com.adobe.icc.CustomCategoryServiceImpl.
  2. Ajoutez l’entrée suivante à la section <bp:blueprint> du fichier CorrespondenceManagementSolutionTemplate\Services\resources\META-INF\spring\osgi-context.xml.

    <bp:service interface="com.adobe.icc.services.api.CategoryService" ranking="10" ref="customCategoryService"> 
           <bp:service-properties> 
                   <entry key="connectors.httpinvoker" value="true" /> 
                   <entry key="connectors.httpinvoker.alias" value="/lc.icc.dbservices.categoryService" /> 
            </bp:service-properties> 
    </bp:service>
    Remarque : cette configuration expose le service individuel personnalisé dont le rang est supérieur à celui du service individuel d’origine. Les deux propriétés du service remplacent également le service individuel exposé au point de fin HTTP par le service individuel personnalisé.
  3. Créez un fichier XML à l’emplacement CorrespondenceManagementSolutionTemplate\package-resources\etc\aep\config\dataservices\destinations\remoting de manière à exposer la destination Remoting à jour avec les informations suivantes :

    <destination id="lc.icc.dbservices.categoryService"> 
           <properties> 
                <factory>osgi</factory> 
                <scope>application</scope> 
                <source>com.adobe.icc.services.api.CategoryService</source> 
           </properties> 
    </destination>
    Remarque : cette configuration remplace le service individuel exposé au point de fin de remoting par le service individuel personnalisé. Cette étape est importante, car le code Flex est déjà écrit et est lié à l’ID Remoting du service d’origine. Pour le remplacer, rendez disponible le service personnalisé dont le rang est le plus élevé avec le même ID de remoting.
  4. Régénérez et redéployez le modèle de solution de façon à afficher les changements. Pour plus d’informations sur la régénération et le redéploiement, voir Génération et déploiement du modèle de solution.