Hi,

Below is my configuration with SSL filter commented it works , message sent
out not printed with SSL filter added , any suggestion ?

<?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:context="
http://www.springframework.org/schema/context";
    xmlns:task="http://www.springframework.org/schema/task";
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
    http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd";
    default-autowire="byName">
    <context:property-placeholder
        location="classpath*:test-socket-protocol.properties" />
    <!-- The SSL configuration -->
    <bean id="myKeystoreFactory"
class="org.apache.mina.filter.ssl.KeyStoreFactory">
        <property name="password" value="${socket.keystore.password}" />
        <property name="dataUrl" value="${socket.keystore.path}" />
    </bean>

    <bean id="myKeyStore" factory-bean="myKeystoreFactory"
        factory-method="newInstance" />

    <bean id="myBogusTrustManagerFactory"
class="org.apache.mina.filter.ssl.BogusTrustManagerFactory" />

    <!-- SSLContext to be used -->
    <bean id="mySslContextFactory"
class="org.apache.mina.filter.ssl.SslContextFactory">
        <property name="protocol" value="TLS" />
        <property name="keyManagerFactoryAlgorithm" value="SunX509" />
        <property name="keyManagerFactoryKeyStore">
            <ref local="myKeyStore" />
        </property>
        <property name="keyManagerFactoryKeyStorePassword"
value="${socket.keystore.password}" />
        <property name="trustManagerFactory">
            <ref local="myBogusTrustManagerFactory" />
        </property>
    </bean>

    <bean id="mySslContext" factory-bean="mySslContextFactory"
        factory-method="newInstance" />

    <!-- MINA Configuration -->
    <bean id="mySocketHandler"

class="com.myayment.gateway.endpoint.mina.handler.mysocket.TestSocketProtocolClientHandler"
/>

    <bean
class="org.springframework.beans.factory.config.CustomEditorConfigurer">
        <property name="customEditors">
            <map>
                <entry key="java.net.SocketAddress"

value="org.apache.mina.integration.beans.InetSocketAddressEditor" />
            </map>
        </property>
    </bean>

    <bean id="myIoConnector"
class="org.apache.mina.transport.socket.nio.NioSocketConnector"
        init-method="init" destroy-method="destroy" lazy-init="false">
        <property name="defaultRemoteAddress"
            value="${gateway.my.socket.address}:${gateway.my.socket.port}"
/>
        <property name="handler" ref="mySocketHandler" />
        <property name="filterChainBuilder" ref="myFilterChainBuilder" />
    </bean>

    <bean id="mySslFilter" class="org.apache.mina.filter.ssl.SslFilter">
        <constructor-arg ref="mySslContext" />
    </bean>

    <bean id="mySocketFilter"
class="org.apache.mina.filter.codec.ProtocolCodecFilter">
        <constructor-arg>
            <bean

class="com.myayment.gateway.endpoint.mina.handler.mysocket.TestSocketProtocolCodecFactory"
/>
        </constructor-arg>
    </bean>

    <bean id="myLoggingFilter"
class="org.apache.mina.filter.logging.LoggingFilter" />

    <bean id="myFilterChainBuilder"

class="org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder">
        <property name="filters">
            <map>
                <!-- <entry key="sslFilter" value-ref="mySslFilter" /> -->
                <entry key="mySocketFilter" value-ref="mySocketFilter" />
                <entry key="loggingFilter" value-ref="myLoggingFilter"
/>
            </map>
        </property>
    </bean>

</beans>


Thanks,

Justin

Reply via email to