<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright 2011 by Graz University of Technology, Austria MOCCA has been developed by the E-Government Innovation Center EGIZ, a joint initiative of the Federal Chancellery Austria and Graz University of Technology. Licensed under the EUPL, Version 1.1 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in compliance with the Licence. You may obtain a copy of the Licence at: http://www.osor.eu/eupl/ Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licence for the specific language governing permissions and limitations under the Licence. This product combines work with different licenses. See the "NOTICE" text file for details on the various modules and licenses. The "NOTICE" text file is part of the distribution. Any derivative works that you distribute must include a readable copy of the "NOTICE" text file. --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <!-- configuration --> <bean id="configurationResource" class="org.springframework.web.context.support.ServletContextParameterFactoryBean"> <property name="initParamName" value="configurationResource" /> </bean> <bean id="configuration" class="at.gv.egiz.bku.spring.ConfigurationFactoryBean"> <property name="configurationResource" ref="configurationResource" /> <property name="failOnMissingResource" value="true" /> </bean> <bean id="sslPKIProfile" class="at.gv.egiz.bku.spring.PKIProfileFactoryBean"> <property name="configuration" ref="configuration"/> <property name="trustProfileId" value="SSL"/> </bean> <bean id="sslSocketFactory" class="at.gv.egiz.bku.spring.SSLSocketFactoryBean"> <property name="configuration" ref="configuration"/> <property name="pkiProfile" ref="sslPKIProfile"/> </bean> <bean id="hostnameVerifier" class="at.gv.egiz.bku.spring.ConfigurableHostnameVerifier"> <property name="configuration" ref="configuration"/> </bean> <bean id="urlDereferencer" class="at.gv.egiz.bku.utils.urldereferencer.URLDereferencerImpl" factory-method="getInstance"> <property name="SSLSocketFactory" ref="sslSocketFactory"/> <property name="hostnameVerifier" ref="hostnameVerifier"/> </bean> <!-- security manager for the command invoker --> <bean id="securityManager" class="at.gv.egiz.bku.spring.SecurityManagerFactoryBean"> <property name="configuration" ref="configuration" /> </bean> <!-- command invoker --> <bean id="slCommandInvoker" class="at.gv.egiz.bku.binding.SLCommandInvokerImpl"> <property name="securityManager" ref="securityManager" /> </bean> <!-- Security Layer command factory --> <bean id="abstractCommandFactory" class="at.gv.egiz.bku.slcommands.AbstractSLCommandFactory" abstract="true"> <property name="configuration" ref="configuration"/> </bean> <bean id="certificatesInfoboxFactory" class="at.gv.egiz.bku.slcommands.impl.CertificatesInfoboxFactory" /> <bean id="identityLinkInfoboxFactory" class="at.gv.egiz.bku.slcommands.impl.IdentityLinkInfoboxFactory"> <property name="identityLinkTransformer"> <bean class="at.gv.egiz.idlink.IdentityLinkTransformer"> <property name="urlDereferencer" ref="urlDereferencer"/> </bean> </property> </bean> <bean id="cardChannelInfoboxFactory" class="at.gv.egiz.bku.slcommands.impl.CardChannelInfoboxFactory" /> <bean id="svPersonendatenInfoboxFactory" class="at.gv.egiz.bku.slcommands.impl.SVPersonendatenInfoboxFactory" /> <bean id="infoboxFactory" class="at.gv.egiz.bku.slcommands.impl.InfoboxFactory"> <property name="infoboxFactories"> <map> <entry key="Certificates" value-ref="certificatesInfoboxFactory" /> <entry key="IdentityLink" value-ref="identityLinkInfoboxFactory" /> <entry key="CardChannel" value-ref="cardChannelInfoboxFactory" /> <entry key="SV-Personendaten" value-ref="svPersonendatenInfoboxFactory" /> </map> </property> </bean> <bean id="nullOperationCommandFactory" class="at.gv.egiz.bku.slcommands.impl.NullOperationCommandFactory" parent="abstractCommandFactory" /> <bean id="nullOperationRequest" class="javax.xml.namespace.QName"> <constructor-arg value="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" /> <constructor-arg value="NullOperationRequest" /> </bean> <bean id="infoboxReadCommandFactory" class="at.gv.egiz.bku.slcommands.impl.InfoboxReadCommandFactory" parent="abstractCommandFactory"> <property name="infoboxFactory" ref="infoboxFactory" /> </bean> <bean id="infoboxReadRequest" class="javax.xml.namespace.QName"> <constructor-arg value="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" /> <constructor-arg value="InfoboxReadRequest" /> </bean> <bean id="infoboxUpdateCommandFactory" class="at.gv.egiz.bku.slcommands.impl.InfoboxUpdateCommandFactory" parent="abstractCommandFactory"> <property name="infoboxFactory" ref="infoboxFactory" /> </bean> <bean id="infoboxUpdateRequest" class="javax.xml.namespace.QName"> <constructor-arg value="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" /> <constructor-arg value="InfoboxUpdateRequest" /> </bean> <bean id="createXMLSignatureCommandFactory" class="at.gv.egiz.bku.slcommands.impl.CreateXMLSignatureCommandFactory" parent="abstractCommandFactory" /> <bean id="createXMLSignatureRequest" class="javax.xml.namespace.QName"> <constructor-arg value="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" /> <constructor-arg value="CreateXMLSignatureRequest" /> </bean> <bean id="getStatusCommandFactory" class="at.gv.egiz.bku.slcommands.impl.GetStatusCommandFactory" parent="abstractCommandFactory" /> <bean id="getStatusRequest" class="javax.xml.namespace.QName"> <constructor-arg value="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" /> <constructor-arg value="GetStatusRequest" /> </bean> <bean id="slCommandFactory" class="at.gv.egiz.bku.slcommands.SLCommandFactory" factory-method="getInstance"> <property name="concreteFactories"> <map> <entry key-ref="nullOperationRequest" value-ref="nullOperationCommandFactory" /> <entry key-ref="infoboxReadRequest" value-ref="infoboxReadCommandFactory" /> <entry key-ref="infoboxUpdateRequest" value-ref="infoboxUpdateCommandFactory" /> <entry key-ref="createXMLSignatureRequest" value-ref="createXMLSignatureCommandFactory" /> <entry key-ref="getStatusRequest" value-ref="getStatusCommandFactory" /> </map> </property> <!-- The following properties may be used to introduce additional XML schemas and binding classes to the command factory. --> <!-- If property jaxbContextPackageNames is not set the default JAXBContext is created with the package names given below. --> <!-- <property name="jaxbContextPackageNames"> <list> <value>at.buergerkarte.namespaces.securitylayer._1</value> <value>org.w3._2000._09.xmldsig_</value> <value>at.buergerkarte.namespaces.cardchannel</value> <value>at.buergerkarte.namespaces.securitylayer._20020225_</value> <value>at.buergerkarte.namespaces.securitylayer._20020831_</value> </list> </property> --> <!-- If property schemaUrls is not set the default schema is created from the URLs listed below. --> <!-- <property name="schemaUrls"> <list> <value>classpath:at/gv/egiz/bku/slschema/xml.xsd</value> <value>classpath:at/gv/egiz/bku/slschema/xmldsig-core-schema.xsd</value> <value>classpath:at/gv/egiz/bku/slschema/Core-1.2.xsd</value> <value>classpath:at/gv/egiz/bku/slschema/Core.20020225.xsd</value> <value>classpath:at/gv/egiz/bku/slschema/Core.20020831.xsd</value> </list> </property> --> </bean> <!-- STAL factory --> <bean id="stalFactory" class="at.gv.egiz.stal.service.impl.RequestBrokerSTALFactory" scope="singleton"> <property name="configuration" ref="configuration" /> </bean> <!-- binding processor factories --> <bean id="httpBindingProcessorFactory" class="at.gv.egiz.bku.binding.HTTPBindingProcessorFactory"> <property name="configuration" ref="configuration" /> <property name="urlDereferencer" ref="urlDereferencer" /> <property name="sslSocketFactory" ref="sslSocketFactory" /> <property name="hostnameVerifier" ref="hostnameVerifier" /> <property name="slCommandFactory" ref="slCommandFactory" /> </bean> <bean id="samlBindingProcessorFactory" class="at.gv.egiz.mocca.id.SAMLBindingProcessorFactory"> <property name="configuration" ref="configuration" /> <property name="slCommandFactory" ref="slCommandFactory" /> <property name="urlDereferencer" ref="urlDereferencer" /> </bean> <!-- binding processor manager --> <bean id="bindingProcessorManager" class="at.gv.egiz.bku.binding.BindingProcessorManagerImpl" scope="singleton"> <property name="stalFactory" ref="stalFactory" /> <property name="slCommandInvoker" ref="slCommandInvoker" /> <property name="factories"> <list> <ref bean="httpBindingProcessorFactory"/> <ref bean="samlBindingProcessorFactory"/> </list> </property> </bean> <bean id="attributeExporter" class="org.springframework.web.context.support.ServletContextAttributeExporter"> <property name="attributes"> <map> <entry key="bindingProcessorManager" value-ref="bindingProcessorManager"/> </map> </property> </bean> <!-- Shutdown Event handler --> <bean id="shutdownHandler" class="at.gv.egiz.bku.spring.ShutdownHandler"> <property name="bindingProcessorManager" ref="bindingProcessorManager" /> </bean> <!-- do not launch MBeanServer by default | (the contextPathFactoryBean requires Servlet 2.5) <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="properties"> <map> <entry key="contextPath"> <bean class="at.gv.egiz.bku.online.spring.ServletContextPathFactoryBean"/> </entry> </map> </property> </bean> <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"> <property name="locateExistingServerIfPossible" value="true" /> </bean> <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"> <property name="server" ref="mbeanServer"/> <property name="beans"> <map> <entry key="at.gv.egiz.mocca:type=bindingProcessorManager,contextPath=${contextPath},name=HTTP" value-ref="bindingProcessorManager" /> <entry key="at.gv.egiz.mocca:type=stalFactory,contextPath=${contextPath},name=RequestBrocker" value-ref="stalFactory" /> <entry key="at.gv.egiz.mocca:type=slCommandInvoker,contextPath=${contextPath},name=CommandInvoker" value-ref="slCommandInvoker" /> </map> </property> </bean> --> </beans>