我将gsa搜索结果作为xml,然后解析xml以显示结果以及其他内容。
我注意到双引号(")或特殊字符作为问号(?)返回。我在chrome上使用postman测试过,xml看起来是正确的。 我正在使用restTemplate来获取结果。 我的代码片段如下所示
字符串gsaSearchUrl =" http://xxx.yyy.com/search?client=maintenance_frontend&filter=0&getfields= *& q =频繁& site = default_collection& start = 0& num = 10& sort = date:D:L:d1&#34 ;;
HttpHeaders headers = new HttpHeaders();
MediaType mediaType = new MediaType("application", "xml", Charset.forName("UTF-8"));
headers.setContentType(mediaType);
//search(gsaSearchUrl);
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
ResponseEntity<GSP> response = restTemplate.exchange(gsaSearchUrl, HttpMethod.GET, new HttpEntity<String>(headers), GSP.class);
gsp = response.getBody();
答案 0 :(得分:0)
您确定在将查询字符串发送给GSA之前对其进行了编码吗?例如,查询参数&#34; sort&#34;应该如下所示:
排序=日期%3AD%3AL%3Ad1