Indicator metadata retrieval fails

Bug #484094 reported by Philippe Boucher
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Global Health Observatory
Fix Committed
Critical
moores

Bug Description

On the single war file version of the GHO, I get this when I click on an indicator column name in a data table on the web UI

Internal Message:
Apache Tomcat/6.0.16 - Error report HTTP Status 404 - /gho/olapMetaDataServlettype Status report
message /gho/olapMetaDataServlet
description The requested resource (/gho/olapMetaDataServlet) is not available.
Apache Tomcat/6.0.16

I

Revision history for this message
Philippe Boucher (boucherp) wrote :

Not sure if this is a missing piece, or if it's configuration

Changed in gho:
importance: Undecided → Critical
milestone: none → 1.0
Revision history for this message
Philippe Boucher (boucherp) wrote :

Jiri, I'm assigning this to you since I think you'll be able to most quickly tell me what's wrong with this

Changed in gho:
assignee: nobody → Jiri Dvorak (jiri-dvorak)
Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

I have forwarded this information to Milen Profirovic (Milen,<email address hidden>), who performed the work on GHO-single-war-file packaging. In addition to that, Paul Pimstone sent the following comment:

Milen is away until tomorrow.

Philippe, please talk to John Rawlinson and Steve Moore about this. They had the same issue a couple of weeks ago which we assisted with but they identified and resolved it themselves with a WHO related configuration -- so perhaps this is the same cause.

Another thing to investigate: I have noticed that in the configuration template (config_templates/WEB-INF_web.xml), the caller users the URL OLAP_METADATA_SERVER_PATH=/{_CONF_WAR_NAME}/olapMetaDataServlet (note the lowercase "o" in "olap"), while the servlet-mapping section defines the URL pattern /OlapMetadataServlet (note the uppercase :"O"), This could be OK when Milen was testing on Windows, but the case sensitivity may matter when running on Linux.

Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

Attached are the modified versions of config template files, using "uppercase" version for all OLAP Metadata related URLs; please re-test:

/who_gho/deployments/config_templates/RESOURCES_applicationContext.xml

/who_gho/deployments/config_templates/WEB-INF_web.xml (included in the next comment, because Launchpad allows only 1 attachment per comment).

The same code has been updated in StarTeam.

Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

Here is the 2nd attachment, /who_gho/deployments/config_templates/WEB-INF_web.xml .

Changed in gho:
assignee: Jiri Dvorak (jiri-dvorak) → Philippe Boucher (boucherp)
Revision history for this message
Philippe Boucher (boucherp) wrote :

Hi John, Can you follow this up?

Changed in gho:
assignee: Philippe Boucher (boucherp) → John Rawlinson (rawlinsonj)
Revision history for this message
Philippe Boucher (boucherp) wrote :

Fixed a case type in the WEB_INF_web.xml configuration template (OlapMetaData... needed a lower case d) and now the error message I get is "No data found"
The Tomcat logs have this to say:

[gho] 18 11 17:15:54 ERROR intl.who.oh2.base.servlet.ExternalIndicatorMetadataProxyServlet serviceHttpClient - Proxy Request failed: HTTP/1.1 500 Internal Server Error

Revision history for this message
Philippe Boucher (boucherp) wrote :

first time you try tp get data from the IMR, when it tries to make a new connection, you get this error message:
nternal Message:

        The resource cannot be found.

         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Lucida Console";font-size: .9em}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }

            Server Error in '/WHO.IMR.PublicService' Application.

Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

Does "IMR" stand for the mapping client developed by IDV Solutions for GHO ("Visual Fusion")? If yes, I understand that the REST URL is configured in their server for call-backs (at least, this is how this was discussed in teleconferences). That would mean changing it from /gho/olapMetaDataServlet to /gho/OlapMetaDataServlet.

BTW, I have stored a wrong version of WEB-INF_web.xml in StarTeam, as a part of my testing, but now StarTeam is down, and I can't replace it with the correct one - unless I can upload the proper version before tomorrow, please make sure to use the version attached HERE.

Revision history for this message
Knut Staring (knutst) wrote :

IMR is WHO's Indicator and Metadata Registry. There will be no mapping client in the initial release of the GHO (but probably for the next release).

Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

Thanks, Knut. Where exactly does WHO's Indicator and Metadata Registry get its configuration information from? (REST URLs to call etc.).

BTW, please ignore my earlier comment about StarTeam being out-of-date; I was able to connect, and everything is in synch now.

One more recommendation for further testing is to turn many more classes to "=debug" in log4j.properties (just be careful with anything below "log4j.logger.mondrian", as Mondrian is able to generate tremendous amounts of logging output).

Revision history for this message
Jiri Dvorak (jiri-dvorak) wrote :

A "majority opinion" of T4Bi developers is that this looks very similar to a problem GHO experienced a few weeks ago - resolved John Rawlinson and Steve Moore, by changing the parameters required by the Indicator Metadata Registry.

We had previously hard-coded the parameters used when calling that service (from the Flex client) but moved them into the Flex config.xml, which is now generated from /who_gho/deployments/config_templates/WAR_config.xml, and uses the following 2 metadata-related settings:

 <flexProxy_olapMetadataServlet>/OlapMetadata</flexProxy_olapMetadataServlet>
 <flexProxy_externalIndicatorMetadataServlet>/ExternalIndicatorMetadata</flexProxy_externalIndicatorMetadataServlet>

Revision history for this message
moores (moores) wrote :

From my previous e-mail....

Yes, that is correct. I removed the web service from gamapserver yesterday. There is an alternate URL now that T4Bi should use:

http://apps.who.int/gho/indicatorregistryservice/publicapiservice.asmx/IndicatorGetAsXml

GHO will use an internal address (same service is available internal and external) - http://gva1swceres.who.int/WHO.IMR.PublicService/PublicApiService.asmx. As Milan correctly points out, this is maintained in the database which can be changed via UPDATE with REPLACE for the server path. It should basically look like this:

UPDATE WHO_GHO_PROD.NOTES
SET NOTE_URL = REPLACE(NOTE_URL,'gamapserver.who.int/WHO.IMR.PublicService/PublicApiService.asmx','apps.who.int/gho/indicatorregistryservice/publicapiservice.asmx');

 In our case, we have already done this which is why it works in the "4 war file" version of GHO. I suspect that the issue is related to a pointer to olap_metadata.

All this is in the bug tracker issue which should probably be assigned to me. Thanks.

Steve

Revision history for this message
Philippe Boucher (boucherp) wrote :

Fixed by Steve, checked in by Philippe - setting status to fix-committed - Steve, can you add a comment to this?

Changed in gho:
assignee: John Rawlinson (rawlinsonj) → moores (moores)
status: New → Fix Committed
Revision history for this message
moores (moores) wrote :

Follow-Up Comment: Logs showed pointers to incorrect web service parameters. This is a sign that either the metadata pop-up was hardcoded or we were not using the correct .swf files. I the versions from 4-war file distribution, and updated teh web service links in teh database, and it worked.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.