You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Rémi Flament (JIRA)" <ji...@apache.org> on 2010/02/03 03:10:19 UTC
[jira] Issue Comment Edited: (CXF-2641) Interceptors to store
requests and responses
[ https://issues.apache.org/jira/browse/CXF-2641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12806845#action_12806845 ]
Rémi Flament edited comment on CXF-2641 at 2/3/10 2:08 AM:
-----------------------------------------------------------
Here is a sample spring configuration to use this :
{code}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
default-autowire="no"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
">
<bean id="exchangeDAO" class="org.apache.cxf.management.persistence.FilesystemExchangeDAO"/>
<bean id="persistInInterceptor"
class="org.apache.cxf.management.interceptor.PersistInInterceptor">
</bean>
<bean id="persistOutInterceptor"
class="org.apache.cxf.management.interceptor.PersistOutInterceptor">
<property name="exchangeDAO" ref="exchangeDAO" />
</bean>
</beans>
{code}
and then in the endpoint declaration :
{code}
<jaxws:inInterceptors>
<ref bean="persistInInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="persistOutInterceptor" />
</jaxws:outInterceptors>
<jaxws:outFaultInterceptors>
<ref bean="persistOutInterceptor" />
</jaxws:outFaultInterceptors>
{code}
was (Author: rflament):
Here is a sample spring configuration to use this :
{code}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
default-autowire="no"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
">
<bean id="exchangeDAO" class="org.apache.cxf.management.persistence.ExchangeIBatisDAO">
<property name="sqlMapClient" ref="sqlMapClient" />
</bean>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="cxfManagementDataSource" />
</bean>
<bean id="cxfManagementDataSource" class="org.springframework.jndi.JndiObjectFactoryBean" primary="true" >
<property name="jndiName" value="java:comp/env/jdbc/cxf/management" />
<property name="cache" value="false" />
<property name="proxyInterface" value="javax.sql.DataSource" />
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" depends-on="cxfManagementDataSource">
<property name="configLocations">
<list>
<value>classpath*:ibatis/ibatis-cxf-management.xml</value>
</list>
</property>
<property name="dataSource" ref="cxfManagementDataSource" />
</bean>
<bean id="persistInInterceptor"
class="org.apache.cxf.management.interceptor.PersistInInterceptor">
</bean>
<bean id="persistOutInterceptor"
class="org.apache.cxf.management.interceptor.PersistOutInterceptor">
<property name="exchangeDAO" ref="exchangeDAO" />
</bean>
</beans>
{code}
and then in the endpoint declaration :
{code}
<jaxws:inInterceptors>
<ref bean="persistInInterceptor" />
</jaxws:inInterceptors>
<jaxws:outInterceptors>
<ref bean="persistOutInterceptor" />
</jaxws:outInterceptors>
<jaxws:outFaultInterceptors>
<ref bean="persistOutInterceptor" />
</jaxws:outFaultInterceptors>
{code}
> Interceptors to store requests and responses
> --------------------------------------------
>
> Key: CXF-2641
> URL: https://issues.apache.org/jira/browse/CXF-2641
> Project: CXF
> Issue Type: New Feature
> Components: Bus
> Affects Versions: 2.2.6
> Reporter: Rémi Flament
> Fix For: 2.2.7
>
> Attachments: cxf-management-interceptor.patch-2.txt
>
>
> Here is a patch that contains interceptors described in this email : http://mail-archives.apache.org/mod_mbox/cxf-dev/201001.mbox/%3C4B553909.5070506@laposte.net%3E
> The patch modifies the rt/management maven module.
> It adds two interceptors to store requests and responses :
> - PersistInInterceptor
> - PersistOutInterceptor
> The persistence is delegated to implementation of the ExchangeDAO interface.
> For each request the following data can be saved :
> - service name
> - encoding
> - the date when the request was processed
> - the date when the response was processed
> - the wsdl operation
> - the request as text
> - the response as text
> - the request size
> - the response size
> - the uri
> - user agent
> - the status
> - the exception type and the stacktrace if any
> - additional properties, http headers, etc.
> The patch contains the interface ExchangeDAO and a basic implementation that writes data in files : FilesystemExchangeDAO.
> Users can write their own implementation of this interface to store data in a database for example.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.