0

hybris 5.1 のアドオン サポートを使用して ycommercewebservices をカスタマイズしていますが、アドオンとそのターゲットの同期中にアドオンからの web.xml が無視されるため、HTTP フィルターを追加または変更する方法がわかりません。何か案は?

4

2 に答える 2

1

テンプレートの拡張機能はカスタマイズしません。そして、なぜこれはフォーラムにないのですか?

于 2014-02-27T14:52:07.960 に答える
0

最終的には簡単でした。ycommercewebservices-web-spring.xml と同じ ID でフィルターを再宣言するだけですが、addon-web-spring.xml では次のようにします。

<bean id="baseSiteFilter" class="my.own.SelectBaseSiteFilter" >
        <property name="baseSiteFilterExclusions" ref="baseSiteFilterExclusions" />
        <property name="configurationService"  ref="configurationService" />
        <property name="sessionService" ref="sessionService" />
        <property name="baseSiteService" ref="baseSiteService" />
</bean>

また、新しいフィルターを追加するか、デフォルト フィルターを除外する必要がある場合は、addon-web-spring.xml で commerceWebServicesFilterChainList を再宣言します。

<alias name="defaultCommerceWebServicesFilterChainList" alias="commerceWebServicesFilterChainList" />
    <util:list id="defaultCommerceWebServicesFilterChainList">
        <!-- generic platform filters -->
        <ref bean="log4jFilter" />
        <ref bean="tenantActivationFilter"/>
        <ref bean="sessionFilter"/>

        <!-- commerceWebservices filters -->
        <ref bean="baseSiteFilter" />
        <ref bean="sessionAttributesFilter" />

        <!-- Security -->
        <ref bean="springSecurityFilterChain"/>

    </util:list>

また、アドオンをインストールする前に、次の行を project.properties.template に追加することを忘れないでください:

ycommercewebservices.additionalWebSpringConfigs.youroccaddon=classpath:/youroccaddon/web/spring/youroccaddon-web-spring.xml

youroccaddon-web-spring.xml は、ycommercewebservices-web-spring.xml の後に spring コンテキストに追加されるため、ycommercewebservices コンテキストから Bean をオーバーライドできます。

于 2014-02-28T05:14:44.123 に答える