Quickfix session setup : logout sent before logon from initiator - quickfix

My QuickFIX client is sending logout before login everyday. Is it possible not to have this logout message sent before login ... ?
Followings are the setting I am using now:
[default]
FileStorePath=/home/quickfix/crons/exe/quickfix/filestore
ConnectionType=initiator
SenderCompID=TN7_42
TargetCompID=EMS
SocketConnectHost=xxxxx
TimeZone=Asia/Tokyo
StartTime=07:50:00 Asia/Tokyo
EndTime=20:00:00 Asia/Tokyo
HeartBtInt=30
ReconnectInterval=5
CheckLatency=N
UseLocalTime=Y
[session]
BeginString=FIX.4.2
SocketConnectPort=12061
ResetOnLogon=Y
ResetOnLogout=Y
ResetOnDisconnect=Y
RefreshOnLogon=N
.. and following is the log message I get everyday:
Oct 11, 2011 7:56:00 AM quickfix.SessionSchedule <init>
INFO: [FIX.4.2:TN7_42->EMS] daily, 22:50:00-UTC - 11:00:00-UTC
<20111010-22:56:00.820, FIX.4.2:TN7_42->EMS, event> (Session FIX.4.2:TN7_42->EMS schedule is daily, 22:50:00-UTC - 11:00:00-UTC)
<20111010-22:56:00.821, FIX.4.2:TN7_42->EMS, event> (Session state is not current; resetting FIX.4.2:TN7_42->EMS)
<20111010-22:56:00.821, FIX.4.2:TN7_42->EMS, event> (Created session: FIX.4.2:TN7_42->EMS)
Oct 11, 2011 7:56:00 AM quickfix.mina.NetworkingOptions logOption
INFO: Socket option: SocketTcpNoDelay=true
Oct 11, 2011 7:56:00 AM quickfix.mina.NetworkingOptions logOption
INFO: Socket option: SocketSynchronousWrites=false
Oct 11, 2011 7:56:00 AM quickfix.mina.NetworkingOptions logOption
INFO: Socket option: SocketSynchronousWriteTimeout=30000
Oct 11, 2011 7:56:00 AM quickfix.mina.initiator.IoSessionInitiator <init>
INFO: [FIX.4.2:TN7_42->EMS] [/xxxxx:12061]
Oct 11, 2011 7:56:00 AM quickfix.mina.SessionConnector startSessionTimer
INFO: SessionTimer started
Oct 11, 2011 7:56:00 AM quickfix.mina.initiator.InitiatorIoHandler sessionCreated
INFO: MINA session created for FIX.4.2:TN7_42->EMS: local=/xxxxx:48477, class org.apache.mina.transport.socket.nio.SocketSessionImpl, remote=/xxxxx:12061
<20111010-22:56:01.860, FIX.4.2:TN7_42->EMS, outgoing> (8=FIX.4.2^A9=52^A35=5^A34=1^A49=TN7_42^A52=20111010-22:56:01.859^A56=EMS^A10=085^A)
Oct 11, 2011 7:56:01 AM quickfix.Session disconnect
INFO: [FIX.4.2:TN7_42->EMS] Disconnecting: Session reset
Oct 11, 2011 7:56:05 AM quickfix.mina.initiator.InitiatorIoHandler sessionCreated
INFO: MINA session created for FIX.4.2:TN7_42->EMS: local=/xxxxx:48478, class org.apache.mina.transport.socket.nio.SocketSessionImpl, remote=/xxxxx:12061
<20111010-22:56:06.844, FIX.4.2:TN7_42->EMS, outgoing> (8=FIX.4.2^A9=70^A35=A^A34=1^A49=TN7_42^A52=20111010-22:56:06.844^A56=EMS^A98=0^A108=30^A141=Y^A10=166^A)
<20111010-22:56:06.845, FIX.4.2:TN7_42->EMS, event> (Initiated logon request)
<20111010-22:56:06.847, FIX.4.2:TN7_42->EMS, incoming> (8=FIX.4.2^A9=179^A35=5^A49=EMS^A56=TN7_42^A34=1^A43=N^A52=20111010-22:56:06.846^A58=Catastropic Error: Incoming sequence number (1) is less than expected (2) without PossDupFlag being set. Logging out.^A10=226^A)
Oct 11, 2011 7:56:06 AM quickfix.Session disconnect
INFO: [FIX.4.2:TN7_42->EMS] Disconnecting: IO Session closed
<20111010-22:56:06.849, FIX.4.2:TN7_42->EMS, error> (quickfix.SessionException Logon state is not valid for message (MsgType=5))
<20111010-22:56:06.849, FIX.4.2:TN7_42->EMS, event> (Already disconnected: Verifying message failed: quickfix.SessionException: Logon state is not valid for message (MsgType=5))
<20111010-22:56:10.887, FIX.4.2:TN7_42->EMS, error> (java.net.ConnectException: java.net.ConnectException: Connection refused(Next retry in 5000 milliseconds))
<20111010-22:56:15.898, FIX.4.2:TN7_42->EMS, error> (java.net.ConnectException: java.net.ConnectException: Connection refused(Next retry in 5000 milliseconds))

You're being bitten by bug QFJ-357, which although it is against the Java project also seems to be an issue for the straight C++ version.
This has actually been fixed in trunk for C++ by the fix in revision 2269.

Incoming sequence number is less than expected
This says it all. The sequence number being sent in the FIX message to the acceptor has a different sequence number then expected from the acceptor, hence the forced logoff message. This is done primarily to keep both the acceptor and initiator in sync while sending and receiving messages.
There is a flag in the config which mentions to reset all sequence numbers during connection. Use that flag to get over this problem for now, but better stick with the original sequence numbers. In the reject message you should get the sequence number being expected by the acceptor. Parse the sequence number and then start the logon process again.

Try making your session end time a bit earlier, and confirm that you are actually sending a logout due to the end time being reached, and not just terminating your application without logging out.
There also have been one or two bugs in QuickFIX around this area which did not exist in 1.12, so you might try that older version and see if it works better for you.

Related

Installing CDT into Eclipse with P2 director gives "The target server failed to respond"

I download the 2020-03 Eclipse Platform Runtime Binary (v4.15 from eclipse-platform-4.15-linux-gtk-x86_64.tar.gz), then invoke the p2 director to install CDT package, but I'm always getting multiple caught exceptions of http://download.eclipse.org not responding (http/https switch doesn't have effect on this).
./eclipse -application org.eclipse.equinox.p2.director -profile SDKProfile -noSplash -roaming -repository http://download.eclipse.org/releases/2020-03,http://download.eclipse.org/releases/2020-03/202003181000/,http://download.eclipse.org/eclipse/updates/4.15/,http://download.eclipse.org/releases/latest,http://download.eclipse.org/tools/cdt/releases/9.11 -installIU org.eclipse.cdt.feature.group/9.11.0.202003091030
I tried it with Oracle JRE 8 and with Oracle JDK 14, I tried it on Debian and RHEL machines, tried different network connection (3 different IPS locations), removed all other plugins I install to nail it down to the CDT plugin. I do not know why or what is causing it, and searching for this problems shows to people that ISP fixed or some similar solution. While mine is consistent for about a year. I always eventually finishes, but it will will print out multiple messages:
Installing org.eclipse.cdt.feature.group 9.11.0.202003091030.
Apr 22, 2020 1:44:29 P.M. org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {}->http://download.eclipse.org:80: The target server failed to respond
Apr 22, 2020 1:44:29 P.M. org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {}->http://download.eclipse.org:80
Apr 22, 2020 1:44:36 P.M. org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {}->http://download.eclipse.org:80: The target server failed to respond
Apr 22, 2020 1:44:36 P.M. org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {}->http://download.eclipse.org:80
Operation completed in 44091 ms.
Using the HTTPS repositories has similar output:
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {s}->https://download.eclipse.org:443: The target server failed to respond
Apr 22, 2020 4:02:50 P.M. org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {s}->https://download.eclipse.org:443
Operation completed in 46934 ms.
It's not critical as it eventually completes and the end result works, but I would like to understand it better what is happening, what has effect on this behaviour. When I shrink the list of repositories to these two, it will still install, but the messages will be present:
http://download.eclipse.org/releases/2020-03,http://download.eclipse.org/tools/cdt/releases/9.11
Is there maybe a resource/documentation which probably I missed and is explaining more in the detail what is happening and why?

Error on reference integration ATG Siebel

We are integrating ATG to Siebel, we are getting an error while syncing the products from Siebel below are the error.
[oracle#localhost logs]$ less VodafonePub.out
**** Error Wed Jul 20 04:41:36 EDT 2016 1469004096089 /atg/siebel/catalog/SiebelCatalogImportService THREAD (Thread-58): Batch processing failed. Logging details with parent.
**** Error Wed Jul 20 04:41:36 EDT 2016 1469004096090 /atg/siebel/catalog/SiebelCatalogImportService Aborting Job after ADD/UPDATE PHASE - all repository changes will be rolled back
**** Error Wed Jul 20 04:41:36 EDT 2016 1469004096414 /atg/siebel/catalog/SiebelCatalogImportService SingleThreadedImportService.executeImport(): Data import was unsuccessful. Cancelling the import
**** Warning Wed Jul 20 04:41:36 EDT 2016 1469004096603 /atg/siebel/catalog/SiebelCatalogImportController ImportService DID NOT finish successfully
Jul 20, 2016 4:41:38 AM com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate doPost
SEVERE: JAXRPCSERVLET38: unknown port name: getJobStatus
JAXRPCSERVLET38: unknown port name: getJobStatus
at com.sun.xml.rpc.server.http.ea.ImplementorRegistry.getImplementorInfo(ImplementorRegistry.java:68)
at com.sun.xml.rpc.server.http.ea.ImplementorFactory.getImplementorFor(ImplementorFactory.java:103)
at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:200)
at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at atg.webservice.filter.SOAPFactoriesFilter.doFilter(SOAPFactoriesFilter.java:233)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at atg.webservice.WSDLImportFilter.doFilter(Unknown Source)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
<Jul 20, 2016 4:41:38 AM EDT> <Error> <javax.enterprise.resource.webservices.rpc.server.http> <BEA-000000> <JAXRPCSERVLET38: unknown port name: getJobStatus
JAXRPCSERVLET38: unknown port name: getJobStatus
at com.sun.xml.rpc.server.http.ea.ImplementorRegistry.getImplementorInfo(ImplementorRegistry.java:68)
at com.sun.xml.rpc.server.http.ea.ImplementorFactory.getImplementorFor(ImplementorFactory.java:103)
at com.sun.xml.rpc.server.http.ea.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:200)
at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
Truncated. see log file for complete stacktrace
I have compared the port name in other Working environment, but there was no difference.
Really stuck in this please help.
The import process has been kicked off, so I assume you've correctly built the SiebelWS submodule, and it's being called by SCOA. It looks like the getJobStatus WS is missing however. Did you edit the build file to leave this out? Check in the Dynamo/Siebel/SiebelWS/j2ee-apps/siebelWS.war file to see if the relevant WSDL and mappings are present.

SASL authentication failed using login context 'Client'

I am working in securing Kafka with Kerberos in CDH 5.5
Kafka version: 2.0.1
Kerberos is enabled and works fine
when i enable sasl in kafka using cloudera maneger, i get the error:
Jun 29, 3:02:42.875 PM INFO org.apache.zookeeper.ClientCnxn
Opening socket connection to server brahim.localhost/127.0.0.1:2181. Will attempt to SASL-authenticate using Login Context section 'Client'
Jun 29, 3:02:42.879 PM INFO org.apache.zookeeper.ClientCnxn
Socket connection established to brahim.localhost/127.0.0.1:2181, initiating session
Jun 29, 3:02:42.906 PM INFO org.apache.zookeeper.ClientCnxn
Session establishment complete on server brahim.localhost/127.0.0.1:2181, sessionid = 0x1559c20b6110007, negotiated timeout = 30000
Jun 29, 3:02:42.910 PM INFO org.I0Itec.zkclient.ZkClient
zookeeper state changed (SyncConnected)
Jun 29, 3:02:42.942 PM ERROR org.apache.zookeeper.client.ZooKeeperSaslClient
SASL authentication failed using login context 'Client'.
Jun 29, 3:02:42.942 PM INFO org.I0Itec.zkclient.ZkClient
zookeeper state changed (AuthFailed)
Jun 29, 3:02:48.551 PM INFO org.I0Itec.zkclient.ZkEventThread
Terminate ZkClient event thread.
Jun 29, 3:02:48.554 PM FATAL kafka.Kafka$
org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 6000
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1223)
at org.I0Itec.zkclient.ZkClient.(ZkClient.java:155)
at org.I0Itec.zkclient.ZkClient.(ZkClient.java:129)
at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:80)
at kafka.utils.ZkUtils$.apply(ZkUtils.scala:62)
at nl.techop.kafka.dao.zookeeper.KafkaZkClient.(KafkaZkClient.scala:52)
at nl.techop.kafka.KafkaHttpMetricsServer.init(KafkaHttpMetricsServer.scala:43)
at nl.techop.kafka.KafkaHttpMetricsServer.(KafkaHttpMetricsServer.scala:28)
at nl.techop.kafka.KafkaHttpMetricsReporter.init(KafkaHttpMetricsReporter.scala:41)
at kafka.metrics.KafkaMetricsReporter$$anonfun$startReporters$1.apply(KafkaMetricsReporter.scala:60)
at kafka.metrics.KafkaMetricsReporter$$anonfun$startReporters$1.apply(KafkaMetricsReporter.scala:58)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)
at kafka.metrics.KafkaMetricsReporter$.startReporters(KafkaMetricsReporter.scala:58)
at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:27)
at kafka.Kafka$.main(Kafka.scala:58)
at com.cloudera.kafka.wrap.Kafka$.main(Kafka.scala:76)
at com.cloudera.kafka.wrap.Kafka.main(Kafka.scala)
Regenerating keytabs for zookeeper and kafka solved my problem

Does LTPA token expiration prevent sending of SOAP response to standalone application

I am using WebSphere 6.1 server.
In my application, we use web services for the communication of standalone client(Swing) with web part.
From web part, we use WebSphere MQ to communicate with the Pro*C part. When we trigger a button in client part, the web is called which in turn invokes the MQ for a response.
We face the below error when we do the above operation:
LTPAServerObj W SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Thu Nov 20 07:56:12 CET 2014, current Date: Thu Nov 20 13:58:28 CET 2014.
SRTServletRes W WARNING: Cannot set header. Response already committed.
LTPAServerObj W SECJ0371W: Validation of the LTPA token failed because the token expired with the following info: Token expiration Date: Thu Nov 20 08:06:03 CET 2014, current Date: Thu Nov 20 14:01:36 CET 2014.
The MQ responses are OK as we trace the logs.
My Question:
Does this LTPA token expiration prevent my websphere server from sending the SOAP response to client part?

Regarding IE9 execution with selenium webdriver

Friends i am trying to automate in IE9 using selenium webdriver but getting following error in eclipse log . Please help.
Internet Explorer is selected
Started InternetExplorerDriver server (32-bit)
2.27.0.0
Listening on port 5032
May 23, 2014 4:48:43 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Software caused connection abort: recv failed
May 23, 2014 4:48:43 PM org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request
Add this before creating a driver. This will avoid showing the port info.
System.setProperty("webdriver.ie.driver.silent","true");
You can safely ignore the INFO messages which is not actually an issue or error.
Details information on those INFO message are at http://jimevansmusic.blogspot.in/2012/12/seeing-info-messages-in-log-does-not.html