cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

InfoTable cascade - null

kbuss
5-Regular Member

InfoTable cascade - null

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 10
smayer
11-Garnet
(To:kbuss)

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

kbuss
5-Regular Member
(To:smayer)

Yes, executing this service manually works fine.

smayer
11-Garnet
(To:kbuss)

Cool, where are these parameter values coming from?

kbuss
5-Regular Member
(To:smayer)

I have a service which returns an InfoTable, having the same DataShape like the parameter 'queryTypes' and 'configuration.QueryTypes'. Then I wired this output to these parameters.

smayer
11-Garnet
(To:kbuss)

I see, have you checked the execution order?

kbuss
5-Regular Member
(To:smayer)

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.

smayer
11-Garnet
(To:kbuss)

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

kbuss
5-Regular Member
(To:smayer)

In the DataShape of 'configuration' is one InfoTable field with the same DataShape as for 'queryTypes' assigned to it. For the service input you only can define the DataShape for the outer InfoTable 'configuration'. I thought TW would recognize that the field 'QueryTypes' in 'configuration' also has a DataSghape.

smayer
11-Garnet
(To:kbuss)

I see so there is a Datashape for 'configuration', and you have also attached a Datashape to 'configuration.QueryTypes'.

So there is a problem with you viewing this Datashape drop down in a mashup.

If this is the case I would try setting the Datashape 'QueryTypes' table to the default value of the Datashape you need.

kbuss
5-Regular Member
(To:kbuss)

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.

Announcements