服务器返回HTTP响应代码:500用于GET请求的URL

时间:2014-02-05 20:42:15

标签: java rest hp-quality-center

我正在尝试使用过滤条件查询ALM缺陷,但我得到以下异常。通过浏览器访问时,相同的URL工作正常。

java.io.IOException: Server returned HTTP response code: 500 for URL:
http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'  or 'john' or 'kim'];status[Assigned]}&fields=id    at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at
sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1491)
    at java.security.AccessController.doPrivileged(Native Method)   at
sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1485)
    at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1139)

此外,如果URL在其中一个参数值中没有“或”条件,如下所示

http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'];status[Assigned]}&fields=id

它正在工作但是当我引入“或”条件时,java会抛出上述错误。

2 个答案:

答案 0 :(得分:2)

你有没有试过"%20"对于URL中的空格?

http://ealm11.mycomp.com:80/qcbin/rest/domains/TESTING/projects/2014/defects?query={owner['das'%20or%20'john'%20or%20'kim'];status[Assigned]}&fields=id

答案 1 :(得分:0)

来自500及更高版本的错误代码是服务器端的错误。

这意味着你无法对付它。

但实际上我认为,它应该是406 Bad Request并且您执行了格式错误的请求,并且服务器出现了引发异常的错误。

您确定OR对此请求有效吗?

<强>更新 您可能需要urlencode your query(仅对查询部分为true)。浏览器是自动编码的,java not。