Quantcast

"Error accessing message fields" in 1.7.0-SNAPSHOT

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

"Error accessing message fields" in 1.7.0-SNAPSHOT

Andrew Munn
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


I got this error.  Seems odd that MsgSeqNum would not be found.

20160722-04:09:56.650: Session FIX.4.2:AM_Topaz_algo1->CTS schedule is weekly, SUN 00:00:00-UTC - SAT 23:00:00-UTC
20160722-04:09:56.651: Created session: FIX.4.2:AM_Topaz_algo1->CTS
20160722-04:09:58.091: Initiated logon request
20160722-04:09:58.169: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
20160722-04:09:58.169: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
20160722-04:10:00.520: Received logon
20160722-04:10:55.074: Error accessing message fields
quickfix.FieldNotFound: Field [34] was not found in message.
        at quickfix.FieldMap.getField(FieldMap.java:209)
        at quickfix.FieldMap.getString(FieldMap.java:223)
        at quickfix.FieldMap.getInt(FieldMap.java:244)
        at quickfix.Session.sendRaw(Session.java:2485)
        at quickfix.Session.send(Session.java:2531)
        at quickfix.Session.sendToTarget(Session.java:646)
        at MyApplication.cancel42(MyApplication.java:617)

20160722-04:10:56.065: Initiated logon request
20160722-04:10:56.143: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
20160722-04:10:56.144: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
20160722-04:10:58.490: Received logon

Andrew

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: "Error accessing message fields" in 1.7.0-SNAPSHOT

Colin DuPlantis
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Just checking the easy boxes first: you did get the field from the
header, not the body, right?


message.getHeader().getField(msgSeqNum)


On 07/21/2016 09:21 PM, Andrew Munn wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> I got this error.  Seems odd that MsgSeqNum would not be found.
>
> 20160722-04:09:56.650: Session FIX.4.2:AM_Topaz_algo1->CTS schedule is weekly, SUN 00:00:00-UTC - SAT 23:00:00-UTC
> 20160722-04:09:56.651: Created session: FIX.4.2:AM_Topaz_algo1->CTS
> 20160722-04:09:58.091: Initiated logon request
> 20160722-04:09:58.169: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> 20160722-04:09:58.169: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> 20160722-04:10:00.520: Received logon
> 20160722-04:10:55.074: Error accessing message fields
> quickfix.FieldNotFound: Field [34] was not found in message.
>          at quickfix.FieldMap.getField(FieldMap.java:209)
>          at quickfix.FieldMap.getString(FieldMap.java:223)
>          at quickfix.FieldMap.getInt(FieldMap.java:244)
>          at quickfix.Session.sendRaw(Session.java:2485)
>          at quickfix.Session.send(Session.java:2531)
>          at quickfix.Session.sendToTarget(Session.java:646)
>          at MyApplication.cancel42(MyApplication.java:617)
>
> 20160722-04:10:56.065: Initiated logon request
> 20160722-04:10:56.143: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> 20160722-04:10:56.144: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> 20160722-04:10:58.490: Received logon
>
> Andrew
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> reports.http://sdm.link/zohodev2dev
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Colin DuPlantis
Chief Architect, Marketcetera
Download, Run, Trade
888.868.4884 +1.541.306.6556
http://www.marketcetera.org


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: "Error accessing message fields" in 1.7.0-SNAPSHOT

Andrew Munn
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Colin,
Good idea to check that first.  However this is QF/J code
causing the exception, not application code.  It looks like
Session.sendRaw() goes to get it and it's not there.
-Andrew



On Fri, 22 Jul 2016, Colin DuPlantis wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Just checking the easy boxes first: you did get the field from the
> header, not the body, right?
>
>
> message.getHeader().getField(msgSeqNum)
>
>
> On 07/21/2016 09:21 PM, Andrew Munn wrote:
> > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> > QuickFIX/J Support: http://www.quickfixj.org/support/
> >
> >
> > I got this error.  Seems odd that MsgSeqNum would not be found.
> >
> > 20160722-04:09:56.650: Session FIX.4.2:AM_Topaz_algo1->CTS schedule is weekly, SUN 00:00:00-UTC - SAT 23:00:00-UTC
> > 20160722-04:09:56.651: Created session: FIX.4.2:AM_Topaz_algo1->CTS
> > 20160722-04:09:58.091: Initiated logon request
> > 20160722-04:09:58.169: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> > 20160722-04:09:58.169: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> > 20160722-04:10:00.520: Received logon
> > 20160722-04:10:55.074: Error accessing message fields
> > quickfix.FieldNotFound: Field [34] was not found in message.
> >          at quickfix.FieldMap.getField(FieldMap.java:209)
> >          at quickfix.FieldMap.getString(FieldMap.java:223)
> >          at quickfix.FieldMap.getInt(FieldMap.java:244)
> >          at quickfix.Session.sendRaw(Session.java:2485)
> >          at quickfix.Session.send(Session.java:2531)
> >          at quickfix.Session.sendToTarget(Session.java:646)
> >          at MyApplication.cancel42(MyApplication.java:617)
> >
> > 20160722-04:10:56.065: Initiated logon request
> > 20160722-04:10:56.143: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> > 20160722-04:10:56.144: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> > 20160722-04:10:58.490: Received logon
> >
> > Andrew
> >
> > ------------------------------------------------------------------------------
> > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> > patterns at an interface-level. Reveals which users, apps, and protocols are
> > consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> > J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> > reports.http://sdm.link/zohodev2dev
> > _______________________________________________
> > Quickfixj-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
> --
> Colin DuPlantis
> Chief Architect, Marketcetera
> Download, Run, Trade
> 888.868.4884 +1.541.306.6556
> http://www.marketcetera.org
>
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> reports.http://sdm.link/zohodev2dev
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: "Error accessing message fields" in 1.7.0-SNAPSHOT

Dan Corneanu
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Andrew,
would it be possible to see some code? especially MyApplication.cancel42

Regards,
Dan

On 23 July 2016 at 01:06, Andrew Munn <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Colin,
Good idea to check that first.  However this is QF/J code
causing the exception, not application code.  It looks like
Session.sendRaw() goes to get it and it's not there.
-Andrew



On Fri, 22 Jul 2016, Colin DuPlantis wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Just checking the easy boxes first: you did get the field from the
> header, not the body, right?
>
>
> message.getHeader().getField(msgSeqNum)
>
>
> On 07/21/2016 09:21 PM, Andrew Munn wrote:
> > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> > QuickFIX/J Support: http://www.quickfixj.org/support/
> >
> >
> > I got this error.  Seems odd that MsgSeqNum would not be found.
> >
> > <a href="tel:20160722-04" value="+12016072204">20160722-04:09:56.650: Session FIX.4.2:AM_Topaz_algo1->CTS schedule is weekly, SUN 00:00:00-UTC - SAT 23:00:00-UTC
> > 20160722-04:09:56.651: Created session: FIX.4.2:AM_Topaz_algo1->CTS
> > 20160722-04:09:58.091: Initiated logon request
> > 20160722-04:09:58.169: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> > 20160722-04:09:58.169: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> > 20160722-04:10:00.520: Received logon
> > 20160722-04:10:55.074: Error accessing message fields
> > quickfix.FieldNotFound: Field [34] was not found in message.
> >          at quickfix.FieldMap.getField(FieldMap.java:209)
> >          at quickfix.FieldMap.getString(FieldMap.java:223)
> >          at quickfix.FieldMap.getInt(FieldMap.java:244)
> >          at quickfix.Session.sendRaw(Session.java:2485)
> >          at quickfix.Session.send(Session.java:2531)
> >          at quickfix.Session.sendToTarget(Session.java:646)
> >          at MyApplication.cancel42(MyApplication.java:617)
> >
> > 20160722-04:10:56.065: Initiated logon request
> > 20160722-04:10:56.143: Inferring ResetSeqNumFlag as sequence number is 1 in response to reset request
> > 20160722-04:10:56.144: Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1
> > 20160722-04:10:58.490: Received logon
> >
> > Andrew
> >
> > ------------------------------------------------------------------------------
> > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> > patterns at an interface-level. Reveals which users, apps, and protocols are
> > consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> > J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> > reports.http://sdm.link/zohodev2dev
> > _______________________________________________
> > Quickfixj-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
> --
> Colin DuPlantis
> Chief Architect, Marketcetera
> Download, Run, Trade
> <a href="tel:888.868.4884" value="+18888684884">888.868.4884 <a href="tel:%2B1.541.306.6556" value="+15413066556">+1.541.306.6556
> http://www.marketcetera.org
>
>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> reports.http://sdm.link/zohodev2dev
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: "Error accessing message fields" in 1.7.0-SNAPSHOT

Andrew Munn
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Sure, nothing unusual going on.  I only saw that exception once.  Normally
the code runs fine.

 public boolean cancel42(Order order) {
        FuturesContract fc = FuturesContract.getBySymbol(order.getSymbol());

        ZoneId z = ZoneId.of("UTC");
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd-HH:mm:ss.SSS").withZone(z);
        ZonedDateTime value = ZonedDateTime.now();

        quickfix.fix42.OrderCancelRequest message=null;

        try {
            String id = generateNextRelatedId(order);

            message = new quickfix.fix42.OrderCancelRequest();

            message.set(new OrigClOrdID(order.getId() + ""));
            message.set(new ClOrdID(id));
            message.set(new Symbol(fc.futures.symbolRoot));
            message.set(FIX.sideToFIXSide(order.getSide()));
            message.setField(new OrderQty(order.getQuantity()));
            message.setString(48, order.getSecurityId()); //securityId
            message.setString(60, value.format(dtf));//transact time
            message.setString(207, order.getExchange().toString());//SecurityExchange
            message.setString(100, order.getExchange().getTag100());  
            message.setString(1, order.getAccount());
            FIX.setTIF(message, order.getTif());

            return Session.sendToTarget(message, sessionID);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
 }




On Tue, 26 Jul 2016, Dan Corneanu wrote:

Hi Andrew,
would it be possible to see some code? especially MyApplication.cancel42

Regards,
Dan

On 23 July 2016 at 01:06, Andrew Munn <[hidden email]> wrote:
      QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
      QuickFIX/J [www.quickfixj.org] Support:
http://www.quickfixj.org/support/ [www.quickfixj.org]


      Hi Colin,
      Good idea to check that first.  However this is QF/J code
      causing the exception, not application code.  It looks like
      Session.sendRaw() goes to get it and it's not there.
      -Andrew

>
>
>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: "Error accessing message fields" in 1.7.0-SNAPSHOT

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,
looks like a bug to me. I have checked the code and actually the MsgSeqNum of the message should
already be filled in Session.sendRaw().
But unless we can reproduce it reliably in a test case it will be difficult to correct, I'm afraid.
Of course you could open a JIRA issue for this case.

Cheers,
Chris.



On 26/07/16 05:44, Andrew Munn wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Sure, nothing unusual going on.  I only saw that exception once.  Normally
> the code runs fine.
>
>   public boolean cancel42(Order order) {
>          FuturesContract fc = FuturesContract.getBySymbol(order.getSymbol());
>
>          ZoneId z = ZoneId.of("UTC");
>          DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd-HH:mm:ss.SSS").withZone(z);
>          ZonedDateTime value = ZonedDateTime.now();
>
>          quickfix.fix42.OrderCancelRequest message=null;
>
>          try {
>              String id = generateNextRelatedId(order);
>
>              message = new quickfix.fix42.OrderCancelRequest();
>
>              message.set(new OrigClOrdID(order.getId() + ""));
>              message.set(new ClOrdID(id));
>              message.set(new Symbol(fc.futures.symbolRoot));
>              message.set(FIX.sideToFIXSide(order.getSide()));
>              message.setField(new OrderQty(order.getQuantity()));
>              message.setString(48, order.getSecurityId()); //securityId
>              message.setString(60, value.format(dtf));//transact time
>              message.setString(207, order.getExchange().toString());//SecurityExchange
>              message.setString(100, order.getExchange().getTag100());
>              message.setString(1, order.getAccount());
>              FIX.setTIF(message, order.getTif());
>
>              return Session.sendToTarget(message, sessionID);
>
>          } catch (Exception e) {
>              e.printStackTrace();
>          }
>          return false;
>   }
>
>
>
>
> On Tue, 26 Jul 2016, Dan Corneanu wrote:
>
> Hi Andrew,
> would it be possible to see some code? especially MyApplication.cancel42
>
> Regards,
> Dan
>
> On 23 July 2016 at 01:06, Andrew Munn <[hidden email]> wrote:
>        QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>        QuickFIX/J [www.quickfixj.org] Support:
> http://www.quickfixj.org/support/ [www.quickfixj.org]
>
>
>        Hi Colin,
>        Good idea to check that first.  However this is QF/J code
>        causing the exception, not application code.  It looks like
>        Session.sendRaw() goes to get it and it's not there.
>        -Andrew
>
>>
>>
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity planning
> reports.http://sdm.link/zohodev2dev
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...