Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Internal Server Error on Semantic Layer Query Setup

Former Member
0 Likes
443
  • SAP Managed Tags

Hello all, so I am trying to create a query through the BI Semantic Layer API but when I try to create it I get the following traceback:

Traceback (most recent call last):
  File "kboxClassScript.py", line 207, in <module>
    main()
  File "kboxClassScript.py", line 202, in main
    a = parser.test_query()
  File "kboxClassScript.py", line 88, in test_query
    resp = urllib.request.urlopen(urllib.request.Request(self.sl_url + '/queries', d.encode('utf-8'), self.headers))
  File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

This is my function:

d = "<query xmlns='myurl/sl/universe' id='test_query' dataSourceType='unv|unx' dataSourceId='630719'> \
                <querySpecification version='1.0'> \
                <queryOptions> \
                    <queryOption name='duplicatedRows' value='true'/> \
                    <queryOption name='maxRetrievalTimeInSeconds' activated='false' value='6'/> \
                    <queryOption name='maxRowsRetrieved' activated='true' value='50'/> \
                    <queryOption name='samplingResultSetSize' activated='false' value='60'> \
                    <queryOption name='samplingResultSetFixed' activated='false' value='false'> \
                </queryOptions> \
            </querySpecification> \
            </query>"
        resp = urllib.request.urlopen(urllib.request.Request(self.sl_url + '/queries', d.encode('utf-8'), self.headers))
        js = json.loads(resp.read().decode('utf-8'))
        print(resp)
        return js

My headers are json and my data is xml but I would assume if that were the issue I'd be getting some 400 level error about a bad request. Any ideas on what might be the issue? Thanks in advance!

0 REPLIES 0