我正在尝试使用过滤条件查询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会抛出上述错误。
答案 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。