Ticket #2499 (new defect)

Opened 5 years ago

Last modified 4 years ago

INFO_FORMAT = GML ignores ows_include_items

Reported by: ctweedie Owned by: mapserverbugs
Priority: normal Milestone: 6.0 release
Component: WMS Server Version: svn-trunk (development)
Severity: normal Keywords:
Cc: tomkralidis, sdlime

Description

Noticed this on trunk, setting ows_include_items has no effect when requesting GML as the info_format, however gml_include_items works fine.

Perhaps this needs to be added to autotest so something small like this doesnt slip through again? Stable doesnt seem to have this problem but i still wasnt able to pick up where things broke in the code

Chris

Change History

Changed 5 years ago by tomkralidis

FYI I was able to reproduce this by editing msautotest/wxs/tomk_workshop.map (changing LAYER=rivers/METADATA/gml_include_items to ows_include_items), then running ./run_test.py against it, then running:

$ ./run_test.py ./tomk_workshop.map
...
$ diff expected/wms_get_feature_info_vector.gml result/wms_get_feature_info_vector.gml

From mapwms.c, line 2239, the msOWSLookupMetadata() call specifies "O", so I'm not sure why it is not being recognized.

Changed 5 years ago by tomkralidis

  • cc tomkralidis added
  • milestone set to 5.2 release

Changed 5 years ago by dmorissette

  • cc sdlime added

Chris, by "stable", did you mean v5.0.2 or an older release?

I had a quick look in the source and it seems that this behavior would have been broken in r6579 in an attempt to fix something else in ticket #1903... and that same fix/bug would be present in 5.0.x as well.

mapwms.c calls msGMLWriteQuery() for GML output, with "GMO" as list of namespaces, which in turn used to call msGMLGetItems() with the same list of namespaces, but the change in r6579 replaced the namespaces argument with a hardcoded "G".

Adding Steve to CC to get his comments.

Changed 5 years ago by tomkralidis

Any update on this one?

Changed 5 years ago by sdlime

Does the reasoning in ticket #1903 make sense to you? That was the impetus for this issue...

Steve

Changed 5 years ago by tomkralidis

Right. #1903 was done so as not to collide metadata directives with actual column names in the underlying data. Setting support for adding GML to the namespaces will open up the #1903 again, eh?

Is there anyway we can support both scenarios? Can the WFS metadata handling check for column names which are the same as the metadata names?

Changed 5 years ago by dmorissette

  • milestone changed from 5.2 release to 5.4 release

Changed 4 years ago by dmorissette

  • milestone changed from 5.4 release to 6.0 release

Changed 4 years ago by dmorissette

I restored the use of namespaces in msGMLWriteQuery() in r9405 while working on #2989 without thinking about the issue in #1903. Does this mean that this change needs to be reverted and we need to come back to looking up only the "G" namespace?

Note: See TracTickets for help on using tickets.