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

Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X

InfoTable cascade - null

kbuss
10-Marble

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
12-Amethyst
(To:kbuss)

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

kbuss
10-Marble
(To:smayer)

Yes, executing this service manually works fine.

smayer
12-Amethyst
(To:kbuss)

Cool, where are these parameter values coming from?

kbuss
10-Marble
(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
12-Amethyst
(To:kbuss)

I see, have you checked the execution order?

kbuss
10-Marble
(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
12-Amethyst
(To:kbuss)

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

kbuss
10-Marble
(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
12-Amethyst
(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
10-Marble
(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


Top Tags