Skip to main content
1-Visitor
January 24, 2018
Question

InfoTable cascade - null

  • January 24, 2018
  • 10 replies
  • 6770 views

Hi,

mashupService.PNG

I'm facing a problem with an InfoTable parameter in my Java Extension.

My service has an InfoTable parameter, which it self contains an InfoTable, in the picture on the right:

configuration (InfoTable) --> QueryTypes (InfoTable), ServerLocation(String),...

I wired a result InfoTable to configuration.QueryTypes. When I try to access the given parameter in my service the InfoTable is null. The code looks like this:

ValueCollection row = configuration.getFirstRow();

InfoTable it = (InfoTable) row.getValue("QueryTypes");

'it' is null!

I also added an extra parameter 'queryTypes' (InfoTable) and wired the same result InfoTable to it like before. In this case with no cascading InfoTables 'queryTypes' is not null, like I expected.

Has anybody an idea to explain this behaviour?

Thanks,

Keijo

10 replies

1-Visitor
January 25, 2018

Have you tried testing this service successfully without wiring this up in a mashup?

kbuss1-VisitorAuthor
1-Visitor
January 25, 2018

Yes, executing this service manually works fine.

1-Visitor
January 25, 2018

Cool, where are these parameter values coming from?

1-Visitor
January 25, 2018

I see, have you checked the execution order?

kbuss1-VisitorAuthor
1-Visitor
January 25, 2018

Yes, I also checked that.

What I find confusing is that for the 'queryTypes' parameter the value is the correct InfoTable whereas for the 'configuration.QueryTypes' parameter the value is null. Since both parameters belong to the same service, they are filled at the same time for my understanding.

1-Visitor
January 25, 2018

I try adding a Datashape to your 'configuration.QueryTypes'. Unless 'queryType' was your test with a Datashape?

kbuss1-VisitorAuthor
1-Visitor
January 26, 2018

g6001.pngI found something that solves the problem for now. I don't realy understand why but it is a workaround.

The picture on the left is what I originally tried. The returned InfoTable of GetTempQueryTypes service has the same DataShape as the nested parameter InfoTable 'configuration.QueryTypes'. However in SetSystemConfiguration service 'configuration.QueryTypes' is null.

In the picture on the right I adjusted the return value of GetTempQueryTypes. Now it returns a InfoTable with the same DataShape as the 'configuration' parameter of SetSystemConfiguration service. In the returned InfoTable only the nested InfoTable 'QueryTypes' is set and wired to the nested InfoTable 'configuration.QueryTypes'. No in SetSystemConfiguration service 'configuration.QueryTypes' has the correct value.


For my understanding the version on the right should work as well but it doesn't.

But for now this workaround works for me.