Closed RussNelson closed 9 years ago
It looks like somebody successfully downloaded quite a bit of data from 108.197.33.64. They asked for this: GetValuesObject(location=u'reon:Esperance', variable=u'reon:temperature', startDate=u'2014-09-01', endDate=u'2014-10-01', authToken=u'?' Unfortunately, the SQL queries that resulted in this data rolled off the head of the log file.
Another detail: HD is reporting "No series found in xml file".
Another detail: the query that succeeded was identical to the ones that fail except for three differences: 1) working: "in_header_doc=[]", failing: "in_header_doc=None", 2) the dates working: "startDate=u'2014-09-01', endDate=u'2014-10-01'" and failing: "startDate=u'2015-10-25T00:02', endDate=u'2015-11-23T00:00'", and 3) working had the network name in lower case, failing in upper case.
Choonhan, can you see if changes you made effect the cvs and odm output.
Russ, can you send choonhan a mysql dump with a small number points.
David, I tested odm2 examples. It went well. I will try to test csv example.
Using soapUI tool, csv example was fixed. It went well.
David, Russ, it seems to me I fixed a bug. Recently, David has changed network/vocaburary names as the lowercase in code. This change did not make effect to main core codes that check these names. I did two functions below in core_1_0.py and core_1_1.py.
def get_site_code(self, siteArg):
if ':' in siteArg:
networkname, siteCode = siteArg.split(':')
networkname = networkname.lower()
if self.network == networkname:
return siteCode
else:
return None
return siteArg
def get_variable_code(self, varArg):
if ':' in varArg:
vocabname, varCode = varArg.split(':')
vocabname = vocabname.lower()
if self.vocabulary == vocabname:
return varCode
else:
return None
return varArg
so, in soap request,
<ws:location>TxRivers:Austin</ws:location>
<ws:location>txrivers:Austin</ws:location>
both are working.
Progress!!! It's now doing the database queries necessary to get data, and it's logging that it's getting the data, but it's crashing. I'll close this one and start a new issue with the new details. Well done!
So looks like this partially addresses #42 thanks
I'm trying to download data into HydroDesktop. I get no data on a 200 response from WOFpy, which HydroDesktop thinks is an error. You'd think it would be a warning, but BUT maybe what WOFpy is returning is actually an invalid response?
I figured out how to get sqlalchemy to log its SQL transactions. You have to add the following line: logging.getLogger('sqlalchemy.engine').setLevel(logging.DEBUG) right after the call to logging.basicConfig
Having done so, I see that WOFpy is searching for the site, which it finds (REON:Esperance), then it searches for the variable, which it finds (REON:temperature). And then it doesn't make any more SQL queries, but instead immediately returns no values. It's as if WOFpy is encountering some problem and giving up before doing a query on DataValues, but it's not throwing an error. You can see that the return value on the POST is 200.
The Spyne debugging output isn't all that useful. Maybe we need a higher level of tracing, like at the WSGI level?
current.txt