我想JSON数据发送到一个REST服务,其中包括认证,但是当我尝试运行这段代码,它抛出一个RuntimeException
和HTTP代码302
。但是链接通过REST客户端正常工作。我认为我的代码无法将验证细节提供给链接。发送POST数据到REST服务与认证
我已经尝试了这么多的组合,但它仍然没有工作。任何人都可以建议我去哪里错了吗?
JSONObject obj=new JSONObject(req); //JSON Object
ClientConfig clientConfig = new DefaultClientConfig();
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING,
Boolean.TRUE);
Client client = Client.create(clientConfig);
//Authentication filter
client.addFilter(new HTTPBasicAuthFilter("username", "password"));
WebResource webResource = client.resource(
"http://licruleswb-dev.cloudapps.cisco.com/LicenseRules/rest/invokeRule");
ClientResponse response = webResource.accept("application/json").type(
MediaType.APPLICATION_JSON_TYPE).post(ClientResponse.class, obj.toString());
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
这是错误:
ERROR:Exception in thread "main" java.lang.RuntimeException: Failed :
HTTP error code : 302
at Test2.main(Test2.java:64)
Test2的是我的课。
'302'通常表示重定向。尝试设置'client.setFollowRedirects(Boolean.TRUE);'。 – user432 2015-03-25 08:17:04
你尝试通过'http:// licruleswb-dev.cloudapps.cisco.com/LicenseRules/REST/invokeRule'是很容易得到从那里你的代码运行的服务器? – mario 2015-03-26 15:52:45
ya..It的工作完美fine..I已经试过很多次 – user3564975 2015-03-27 06:12:40