Hi, JPOS team,
I have channel adaptor connected to a remote server but I'm not sure why when I try sending request to the remote server I receive it inside my iso listener. It like I'm sending request to myself.
I will be glad if I can get some help the resolve this issue.
------------10_EGNswitchChannelAdaptor.xml-----------
<channel-adaptor name="EGNswitchChannelAdaptor" class="org.jpos.q2.iso.ChannelAdaptor" logger="Q2">
<channel name="EGNswitchChannel" class="org.jpos.iso.channel.PostChannel" logger="Q2" type="server"
realm="EGNswitchChannel" packager="org.jpos.iso.packager.GenericPackager">
<property name="packager-config" value="/usr/app/MuleISOServer/jpos/cfg/packager/isoegnpack.xml"/>
<property name="packager-logger" value="Q2"/>
<property name="host" value="*.*.*.*" />
<property name="port" value="2011" />
<property name="connection-timeout" value="180000" /> <!-- 30 seconds -->
<property name="timeout" value="180000" /> <!-- five minutes -->
<property name="keep-alive" value="true" />
</channel>
<in>remote-send</in>
<out>remote-receive</out>
<reconnect-delay>15000</reconnect-delay>
<keep-alive>yes</keep-alive>
</channel-adaptor>
My mux setup is like this
-----------20_EGNswitchMux.xml---------------
<mux class="org.jpos.q2.iso.QMUX" logger="Q2" name="outgoing-request">
<in>remote-receive</in>
<out>remote-send</out>
<ready>EGNswitchChannelAdaptor.ready</ready>
<!-- <request-listener class="com.ecobank.gns.EGNswitchListener" logger="Q2" realm="outgoing-request-listener">
<property name="queue" value="TXNMGR" />
<property name="ctx.DESTINATION" value="outgoing-request" />
</request-listener>-->
<request-listener class="com.ecobank.gns.listeners.EGNswitchListener" logger="Q2" realm="outgoing-request-listener">
</request-listener>
<key mti="1804">11</key>
<key mti="1200">11 12</key>
<key mti="1210">11 12</key>
<key mti="1814">11 12</key>
<key mti="1100">11</key>
<key mti="1420">11</key>
<key mti="1430">11 12</key>
<key mti="1220">11 102</key>
<key mti="1230">11 102</key>
<key mti="1221">11 102</key>
</mux>
Im using this to forward request to the switch (remote server)
MUX mux = (MUX) NameRegistrar.getIfExists("mux.outgoing-request");
if (mux.isConnected()) {
ISOMsg patchedIsoMsg = patchRequest(reqMsg, "1100");
respMsg = mux.request(patchedIsoMsg, 20000);//forward request
}
ISO SERVER
------------50_EGNswitchListener.xml--------------
<server class="org.jpos.q2.iso.QServer" logger="Q2" name="EGNswitchListener">
<attr name="port" type="java.lang.Integer">2011</attr>
<attr name="maxSessions" type="java.lang.Integer">20</attr>
<attr name="minSessions" type="java.lang.Integer">10</attr>
<channel name="EGNswitchListener" class="org.jpos.iso.channel.PostChannel" logger="Q2" type="server"
realm="EGNswitchListener" packager="org.jpos.iso.packager.GenericPackager">
<property name="packager-config" value="/usr/app/MuleISOServer/jpos/cfg/packager/isoegnpack.xml"/>
<property name="packager-logger" value="Q2"/>
</channel>
<request-listener class="com.ecobank.gns.listeners.EGNswitchListener" logger="Q2"
realm="incoming-request-listener">
<property name="queue" value="TXNMGR" />
<!--<property name="ctx.DESTINATION" value="jPOS-AUTORESPONDER" />-->
<property name="ctx.DESTINATION" value="outgoing-request" />
<property name="space" value="tspace:default" />
<property name="spaceTimeout" value="180000" />
<property name="timeout" value="180000" />
</request-listener>
</server>