【发布时间】:2013-01-28 17:21:21
【问题描述】:
下面的代码 sn-p 用于使用 RESTful API 调用我的 Web 服务。
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
String uri= "https://127.0.0.1:8443/cas-server-webapp-3.5.0/login";
WebResource resource = client.resource(URLEncoder.encode(uri));
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.add("username", "suresh");
queryParams.add("password", "suresh");
resource.queryParams(queryParams);
ClientResponse response = resource.type(
"application/x-www-form-urlencoded").get(ClientResponse.class);
String en = response.getEntity(String.class);
System.out.println(en);
并在运行上述代码时遇到此异常
com.sun.jersey.api.client.ClientHandlerException: java.lang.IllegalArgumentException: URI is not absolute
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:151)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
我在谷歌上搜索了很多文章,但没有找到我做错的地方。
旁注:cas-server-webapp-3.5.0war 在我的机器上部署在 Apache tomacat7 中
【问题讨论】:
-
在您的 URI 中,您确定是 https,而不是 http?请检查一次。
-
是的,只有 HTTPS。我的 Tomcat 服务器上启用了 SSL。
标签: java web-services http servlets cas