[ 
https://issues.apache.org/jira/browse/CXF-8692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julien Greffe updated CXF-8692:
-------------------------------
    Description: 
Hello,

we tried setting a custom sensitive logging using blueprint and following 
documentation [https://cxf.apache.org/docs/message-logging.html].

This feature doesn't work when adding our bean/service in {{<jaxrs:features>}} 
or {{<jaxws:features>}} .
We have to declare the bean/service on {{<cxf:bus>}} level:

Not working;
{code:java}
    <jaxrs:server id="SAMRestService" address="/sam">
        <jaxrs:serviceBeans>
            <ref component-id="restService" />
        </jaxrs:serviceBeans>
        <jaxrs:features>
            <reference id="sensitiveLoggingFeature" 
interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
       </jaxrs:features>
    </jaxrs:server>
{code}
Working:
{code:java}
    <cxf:bus>
        <cxf:features>
            <reference id="sensitiveLoggingFeature" 
interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
        </cxf:features>
    </cxf:bus>
    
    <jaxrs:server id="SAMRestService" address="/sam">
        <jaxrs:serviceBeans>
            <ref component-id="restService" />
        </jaxrs:serviceBeans>
    </jaxrs:server>
{code}
It seems without explicit {{<cxf:bus>}} declaration, bus will have 
{{cxf:logging}} feature by default, and therefore will be used instead of 
custom one: 
[https://github.com/apache/cxf/blob/cxf-3.4.7/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java#L192-L193]

See screenshot of stack:
 - JAXRSServerFactoryBean has our custom logging feature >> not used
 - bus has standard logging feature >> used

!image-2022-04-13-11-50-12-253.png!

  was:
Hello,

we tried setting a custom sensitive logging using blueprint and following 
documentation [https://cxf.apache.org/docs/message-logging.html].

This feature doesn't work when adding our bean/service in {{<jaxrs:features>}} 
or {{<jaxws:features>}} .
We have to declare the bean/service on {{<cxf:bus>}} level:

Not working;
{code:java}
    <jaxrs:server id="SAMRestService" address="/sam">
        <jaxrs:serviceBeans>
            <ref component-id="restService" />
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <bean class="org.talend.esb.sam.service.rest.SAMExceptionMapper" />
            <bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
                <property name="ignoreNamespaces" value="true" />
                <property name="dropRootElement" value="true" />
            </bean>
        </jaxrs:providers>
        <jaxrs:features>
            <reference id="sensitiveLoggingFeature" 
interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
       </jaxrs:features>
    </jaxrs:server>
{code}
Working:
{code:java}
    <cxf:bus>
        <cxf:features>
            <reference id="sensitiveLoggingFeature" 
interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
        </cxf:features>
    </cxf:bus>
    
    <jaxrs:server id="SAMRestService" address="/sam">
        <jaxrs:serviceBeans>
            <ref component-id="restService" />
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <bean class="org.talend.esb.sam.service.rest.SAMExceptionMapper" />
            <bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
                <property name="ignoreNamespaces" value="true" />
                <property name="dropRootElement" value="true" />
            </bean>
        </jaxrs:providers>
    </jaxrs:server>
{code}
It seems without explicit {{<cxf;bus>}} declaration, bus will have cxf:logging 
feature by default, and therefore will be used instead of custom one: 
[https://github.com/apache/cxf/blob/cxf-3.4.4/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java#L192-L193]

See screenshot of stack:
 - JAXRSServerFactoryBean has our custom logging feature >> not used
 - bus has standard logging feature >> used

!image-2022-04-13-11-50-12-253.png!


> CXF custom sensitive logging doesn't work on jaxrs jaxws features blueprint 
> declaration
> ---------------------------------------------------------------------------------------
>
>                 Key: CXF-8692
>                 URL: https://issues.apache.org/jira/browse/CXF-8692
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS, logging, WS-* Components
>    Affects Versions: 3.4.7
>            Reporter: Julien Greffe
>            Priority: Major
>         Attachments: image-2022-04-13-11-50-12-253.png
>
>
> Hello,
> we tried setting a custom sensitive logging using blueprint and following 
> documentation [https://cxf.apache.org/docs/message-logging.html].
> This feature doesn't work when adding our bean/service in 
> {{<jaxrs:features>}} or {{<jaxws:features>}} .
> We have to declare the bean/service on {{<cxf:bus>}} level:
> Not working;
> {code:java}
>     <jaxrs:server id="SAMRestService" address="/sam">
>         <jaxrs:serviceBeans>
>             <ref component-id="restService" />
>         </jaxrs:serviceBeans>
>         <jaxrs:features>
>             <reference id="sensitiveLoggingFeature" 
> interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
>        </jaxrs:features>
>     </jaxrs:server>
> {code}
> Working:
> {code:java}
>     <cxf:bus>
>         <cxf:features>
>             <reference id="sensitiveLoggingFeature" 
> interface="org.talend.esb.security.logging.SensitiveLoggingFeature" />
>         </cxf:features>
>     </cxf:bus>
>     
>     <jaxrs:server id="SAMRestService" address="/sam">
>         <jaxrs:serviceBeans>
>             <ref component-id="restService" />
>         </jaxrs:serviceBeans>
>     </jaxrs:server>
> {code}
> It seems without explicit {{<cxf:bus>}} declaration, bus will have 
> {{cxf:logging}} feature by default, and therefore will be used instead of 
> custom one: 
> [https://github.com/apache/cxf/blob/cxf-3.4.7/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/JAXRSServerFactoryBean.java#L192-L193]
> See screenshot of stack:
>  - JAXRSServerFactoryBean has our custom logging feature >> not used
>  - bus has standard logging feature >> used
> !image-2022-04-13-11-50-12-253.png!



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to