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.