这个应该是微不足道的,但不知何故它对我不起作用。我正在尝试调用托管在骆驼上的 RESTLET 服务器。我让它与 Camel 客户端一起工作,但我正在尝试让相同的功能与裸露的 Apache HTTP 客户端一起工作。骆驼的客户端如下:
CamelContext context = new DefaultCamelContext();
Map<String, Object> headers = new HashMap<String, Object>();
context.createProducerTemplate().requestBodyAndHeaders("restlet:http://localhost:8086/Bookmarkee/boolean/V2?restletMethod=post", "Halleluia",headers);
我正在尝试工作的HTTP客户端是这样的:
HttpPost httppost = new HttpPost("http://localhost:8086/Bookmarkee/boolean/V2?restletMethod=post");
StringEntity e= new StringEntity("Halleluia",ContentType.create("text/plain", "UTF-8"));
httppost.setEntity(e);
CloseableHttpResponse response = httpclient.execute(httppost);
但是,在服务器上,servlet 引擎不会从流中读取响应。导致我的组件被传递输入流而不是字符串。
有什么线索吗?
当我的骆驼路由尝试处理来自服务器的空响应时遇到同样的问题(200 OK,内容长度:0,内容类型:应用程序/json)在我发现并修复了我用于使用 http 组件请求的 URL 中的错误后修复