HTTP Filtered Value Set "The reference to entity "etag" must end with the ';' delimiter" problem
Hi Folks, I am running RTC 4.0.1 I have configured an HTTP Value Set customisation to retrieve values from an XML file that I have stored in RTC source Control. I get the following error message in the presentation when I try to retrieve the list:
"The reference to entity "etag" must end with the ';' delimiter"
The HTTP filtered Value set is configured as follows:
- XML Data Source URL: URL point to the XML file in source control
- Row Xpath expression: //xml/node NB I use the same XML file outlined in RTC Scripting Using XML
- Column XPath expressions: ./make
- Column Identifier: Make
- Entry Label Format: ${0}
- Checkbox 'Apply filter strings to values received from data source ' is set
- Checkbox 'Sort Values received from data source' is set
- Authentication Method: No authentication required
- Checkbox 'Ignore invalid SSL certificates is set
Is using the RTC Source Control to store the XML file a valid use case? There seems to be conflicting opinions on this. Does the 'etag' error relate to a problem with the XML file or is it a permissions problem.
If anybody can help on this I would be most grateful.
Kind Regards
Russell
7 answers
Have things changed or lucky me that I got pointed to the right direction: Was about to bring in Firefox and Firebug via special permission (IE8 is our standard, anything else is taboo here, can't download or install anything) to go the tortuous road you led, but there is a much simpler way to pick up that URL, maybe IBM's shortcoming here is just in not publishing decent instructions for it.
- Browse your xml file via the WebUI/Source Control
- Once your xml file (stored in RTC SCM) is displayed
- Right click the Download icon, second from left to right (don't lock and download with the first button) on the top RIGHT row of icons.
- Pick "Copy Shortcut" from the popup context menu
- And voilĂ , you got your URL, which is just longer than required (and will break the HTTP fetch).
- Something similar to, for an xml file named CarExample.xml:
- Its tail has to be cut off from &stateId= to be usable as:
Comments
Hello Russel,
well - I have used XML files uploaded to jazz SCM to test HTTP Value Set Providers.
However - I consider this as a hack - because you need to get the right URL to fetch XML content from SCM.
I would encourage you to use HTTP server - I use cattail for testing - you may use WAS.
To test with jazz SCM:
1 - upload your file
2 - Use Firefox and Firebug - go to SCM WebUI and navigate you your file
3 - open Firebug, Net tab
4 - click on edit
5 - check the URL that was used in Firebug and copy/paste if to your RTC Client
Please note that each time you will change the XML content in jazz SCM, the URL will have to be changed to reflect changes :-(
well - I have used XML files uploaded to jazz SCM to test HTTP Value Set Providers.
However - I consider this as a hack - because you need to get the right URL to fetch XML content from SCM.
I would encourage you to use HTTP server - I use cattail for testing - you may use WAS.
To test with jazz SCM:
1 - upload your file
2 - Use Firefox and Firebug - go to SCM WebUI and navigate you your file
3 - open Firebug, Net tab
4 - click on edit
5 - check the URL that was used in Firebug and copy/paste if to your RTC Client
Please note that each time you will change the XML content in jazz SCM, the URL will have to be changed to reflect changes :-(
Comments
I rechecked the values and they look OK. Extract from log file follows:
[HttpFilteredValueSetProvider]Retrieving values from HttpConnector...
[HttpConnector]Ignoring invalid SSL certificates
[HttpConnector]Using form based authentication
[HttpConnector]Retrieving session cookie...
[HttpConnector]Issue a new HTTP request
[HttpConnector]Got response 'Moved Temporarily'
[HttpConnector]Issue a new HTTP request
[HttpConnector]Got response 'OK'
[HttpConnector]Login...
[HttpConnector]Issue a new HTTP request
[HttpConnector]Got response 'Moved Temporarily'
[HttpConnector]Issue a new HTTP request
[HttpConnector]Got response 'Moved Temporarily'
[HttpConnector]Issue a new HTTP request
[HttpConnector]Got response 'Not Acceptable'
[HttpConnector]Could not authenticate
[HttpConnector]Could not retrieve XML document
The easiest way I found is to use Apache. you basically have to know into whch folder to drop stuff or how to change the folder. See Build Artifacts Publishing Using HTTP Servers in Rational Team Concert for more details.
Russell, what happens when you enter the SCM URL you are using in a browser? You should be prompted to open or save a file. I believe the SCM URL should follow the format below. This URL should be in firebug (console tab) once you navigate to the file content as Eric explained.
https://<host>:9443/ccm/service/com.ibm.team.filesystem.common.IFileContentService/content/_r_07wItBEeK7HPN3M9ETow/_gTyV9ItCEeK7HPN3M9ETow
https://<host>:9443/ccm/service/com.ibm.team.filesystem.common.IFileContentService/content/_r_07wItBEeK7HPN3M9ETow/_gTyV9ItCEeK7HPN3M9ETow
Hi Folks, thanks for all your help.
Eric\Brian, I did copy the wrong URL. Once corrected it worked perfectly.
I think this is really useful feature that I will definitely use going forward. However, for production purposes I will use one of the mechanisms described by Eric and Ralph.
Eric thanks once again for your help (and patience) it is very much appreciated.
Kind Regards
Russell
Comments
I've submitted Update Configuring an HTTP filtered value set provider help topic based on Jazz Forum post (282602) to update the help topic with instructions for finding the URL of an XML document stored in RTC source control.