修复 java.net.SocketTimeoutException。读取超时
我有一台RESTFUL服务器,该服务器从客户端获取HTTP帖子输入以投票在服务器上投票.我已将apache httpclient用于客户端. public boolean vote() { HttpClient client = new DefaultHttpClient(getHttpParameters()); HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); // Timeout Limit HttpResponse response; try { HttpPost post = new HttpPost("http://127.0.0.1:808
0 2024-02-28
编程技术问答社区
Java。使用Restlet + Apache Commons FileUpload的二进制文件上传
我有一个带有 RESTLET 2.3 的REST API,并且需要对其实现文件上的功能. 问题在于,当某人使用帖子上载文件(带有多部分/form-data content-type)时,该文件使用另一个编码到达服务器. 为了进行测试,我将原始文件的内容打印在Unix终端中,然后再次打印出来,然后用 apache commons fileupload 解析估算(使用此示例的几乎相同的代码 http://restlet.com/technical-restlet.com/technical-resources/restlet-restlet-framework/restlet-framework/guide/guide/guide/guide/2.2/2.2/扩展/fileupload ).两种打印的内容都非常相似,但是原始文件的字符较少,因此我认为我的Java服务器正在使用错误的编码来解释文件. 我发送的文件是PNG图像.使用文本文件,服务器可完美地工作,但是当我发送照片或任何二进制
0 2024-02-28
编程技术问答社区
骆驼Restlet-如何使用SSL暴露服务
我使用最新的Apache骆驼(2.14)公开了很少的REST服务,更精确地使用雷斯特组件( http://camel.apache.org/restlet.html ). 有没有办法公开HTTPS下的服务?我找不到任何文档,说明如何设置SSL密钥库,密钥库密码等... 解决方案 当前的骆驼雷克不支持设置sslContext信息,我只是填充a jira 为此.
0 2024-02-28
编程技术问答社区
Apache camel将一个URI路由到另一个URI
是否可以直接将所有请求路由到另一台服务器?例如,路由所有此项目特定的休息端点Localhost:8080/Get-tomething到另一个项目端点:SomeIP:8081/Get-Something2.这样的东西: from("localhost:8080/get-something") .to("someIp:8081/get-something2") 或以下: rest() .path("/get-something") .get() .route() .to("someIp:8081/get-something2") 我尝试了太多方法,但我不能! 解决方案 我想您想使用窃听,只是按照您的描述. 因此,您会做 之类的事情 ’’’’ 来自(" localhost:8080/get-something") .窃听("直接:endpoint1")//将接收Exchange
0 2024-02-28
编程技术问答社区
骆驼Restlet maxThreads组件选项
我有问题. Apache骆驼文档指出,对于骆驼式 - 固定组件(从2.10版本开始)可以定义将服务请求的最大线程数(http://camel.apache.org/restlet.html) > 如何指定此参数? 这是我做的路线 from( "restlet:http://localhost:" + config.getEmergencyRESTPort() + "?restletMethods=post,get&restletUriPatterns=#emergencyUriTemplates&maxThreads=64").process( new EmergencyServerProcessor(config, emergencyService)); 我在URL中使用了MaxThreads参数,但不起作用. 错误是什么? 解决方案 MaxThreads不是URI选项,而
0 2024-02-28
编程技术问答社区
即使在配置了组件选项后,Apache camel连接池与restlet仍会超时
我有一个骆驼Java DSL路由,该路由调用雷并且端点.当我手动击中同一路线时,这条路线没有任何问题.但是,当我尝试通过代码泵送大量请求时,我会得到" 超时等待池" ,以下是相同的stackt-race: 2016-01-29 14:09:38.650 WARN 20256 --- [pool-3-thread-2] org.restlet : An error occurred during the communication with the remote HTTP server.org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool at org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoo
0 2024-02-28
编程技术问答社区
安卓上的Restlet Rest服务器
我想在Android手机上托管一个简单的REST服务器,以远程访问某些数据. 我在雷斯特网站上遵循了描述,但我什至无法获得一个简单的示例. 我下载了Android Restlet软件包,并添加了org.restlet.jar作为依赖项. 在我的onCreate活动方法中,我添加了这些行以启动简单的服务器组件. Component serverComponent = new Component(); serverComponent.getServers().add(Protocol.HTTP, 80); final Router router = new Router(serverComponent.getContext().createChildContext()); router.attach("/gamedata", GameDataResourceServer.class); serverComponent.getDefaultHost().attac
10 2024-02-12
编程技术问答社区
POST请求没有到达服务器
我正在尝试通过邮政请求将数据从Android智能手机发送到REST Web服务. 客户端没有错误,但是如果我发送了数据,则在服务器端没有执行代码: 客户端: public void connect2server(View v) throws IOException { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://192.168.1.108:8182"); try { List nameValuePairs = new ArrayList(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValueP
0 2024-02-11
编程技术问答社区
Android to gae restlet的例子在Android端不起作用
我正在尝试运行 a> - android到GAE-但返回的值一直是无效的,在Android的logcat中显示警告:Unable to find a converter for this representation : [application/json,UTF-8] 返回null的特定代码是此行: Contact contact = resource.retrieve(); 我认为这是一个转换问题.如果是这样,我很惊讶这只是一个警告. 任何想法如何从这里去? 一些笔记: 我使用雷斯特2.1.4 我使用卷曲来测试服务器端,并且效果很好.示例:curl -i -X GET http://127.0.0.1:8888/contacts/123 要针对本地服务器测试Android,我使用以下IP:10.0.2.2 解决方案 是的,找到了一个解决方案. 我只需要注册一个转换器 - 特别是杰克逊转换器.在以下答案中找到解决方案: https:/
6 2024-02-11
编程技术问答社区
安卓Restlet HTTPS
试图从我的Web服务(在App-engine上运行)在我的Android客户端上获取一些数据 ClientResource cr = new ClientResource("https://myapp.appspot.com/restlet/service/"); IServiceResource res = cr.wrap(IServiceResource.class); m_Services = res.getServices(); 我得到此错误: 05-20 08:30:15.406: ERROR/AndroidRuntime(31767): Caused by: Communication Error (1001) - Could not change the mode after the initial handshake has begun. 我有org.restlet.ext.ssl.jar for HTTPS-Support,我正在使用此行添加客户端
4 2024-02-04
编程技术问答社区
安卓中的RestKit?
我已经使用了 restkit iOS中的框架.它非常强大,并提供了诸如缓存和所有内容之类的功能.我正在寻找是否在Android中有类似的框架? 我遇到了一个名为雷斯特的框架.但没有找到任何样品可以使用. 是否有相同的框架可以从REST服务中缓存数据?有人可以将我带到Android中的雷丝(Android)的好教程? 谢谢 解决方案 此外,还有第一个应用程序教程涵盖了Android的雷神: 简介/第一步/第一个应用 其他解决方案 有一个可以工作的样本: 2.2/简介/第一步/第一键 它应该解决您的问题 其他解决方案 我不会称其为框架,但是有一个名为 robospice 支持缓存的休息呼叫. 这是他们在网页中发布的描述: Robospice是一个模块化的Android库,使写作异步 长期运行的任务容易.它专门从事网络请求, 支持缓存,并使用 扩展模块
0 2024-02-03
编程技术问答社区
如何从安卓系统向RESTlet webservice传递参数?
我一直在网上寻找如何将参数传递给雷斯特网络服务,但似乎没有太多有关雷神的教程. 我想从我的Android应用程序上的表单中发送一些参数(如果我可以使用JSON进行此操作,那将是很棒的). 解决方案 我解决了这个 至于服务器端 @Post public JSONArray serverSideFunction(Representation entity) throws JSONException { try { JSONObject req = (new JsonRepresentation(entity)).getJsonObject(); System.out.println(req.getString(/* filed name */)); System.out.println(req.getString(/* filed name */)); /* * you c
4 2024-02-01
编程技术问答社区
使用Ajax和java Restlet在客户端应用程序中流传视频
嗨,我想在客户端应用中流式传输视频,但视频位于服务器应用中.我正在使用Java Restlet和Jquery Ajax将客户端应用程序连接到服务器应用程序.通过Ajax电话,我连接到雷斯特.我不知道如何从服务器端流式传输视频,Ajax接收响应以及如何在浏览器中播放视频后如何发送对Ajax的响应.任何人都可以帮助我处理这个问题吗? 这是我的代码 html: PlayVideo ajax呼叫服务器 $('#playVideo').click(function (){ var jsonObj = {}; jsonObj.userId = "siva";
2 2024-01-18
编程技术问答社区
XML和JSON web api:从POJO自动映射?
我将开始一个小项目,该项目是最终要获得Web XML/JSON API.我将在Java写它,我将使用雷丝特库. 如何处理XML/JSON二元性?我知道我可以使用jaxb将pojos"转换"到XML(和后背),但是如何自动化JSON?我可以利用雷斯特库中有任何功能吗? 解决方案 雷斯特允许您直接与服务器资源中的pojos一起使用静止注释方法的级别,如下所述: public class MyServerResource extends ServerResource { @Get public List getList() { List list = (get list from backend for example) return list; } @Post public MyPojo addPojo(Pojo pojo) { addPojoInBa
6 2023-12-21
编程技术问答社区
如何在Java Restlet中访问请求的头值?
我正在使用 RESTLET JAVA . 开发Web服务 为此,我想保护某些Web服务免受未经授权的客户端的影响.所以我已经写了过滤课.在那个过滤器类中,我想获得请求的标题.但是我遇到以下错误 - java.lang.ClassCastException: org.restlet.engine.http.HttpRequest cannot be cast to javax.servlet.http.HttpServletRequest 编码是 - public class MyFilter extends Filter { @Override protected int beforeHandle(Request request, Response response) { int result = STOP; HttpServletRequest httpReq = (HttpServletRequest) req
2 2023-12-02
编程技术问答社区
谷歌应用引擎上的RESTful Webservices
首先,我需要说我在Google App Engine中没有那么经验. 我知道我们有可能在GAE上部署Restful Web-Services(Jersey) ,我也知道雷斯特有一个专门用于GAE的版本. 我想从那些使用两种方法的人那里得到建议. 例如,为泽西岛配置GAE应用程序太难或挣扎了吗??? 或者例如使用任何缺点?还是太厚(雷斯特)? 谢谢 解决方案 我一年前开始使用Jersey和Google App Engine开发应用程序.从我身边的很棒的经验,但我从未与雷斯特(Restlet)合作过. 我在这里尝试总结GAE集成中发现的主要困难: 泽西岛版本:1.6作品 我建议您使用Jackson(版本1.7.1)进行JSON代表 web.xml片段: jersey com.sun.jersey.spi.container
0 2023-12-02
编程技术问答社区
REST: 映射 404 HTTP 状态代码
我们的团队正在开发恢复的应用程序...我们正在辩论"最佳实践"方法. 是否应该将404状态代码响应返回以获取过滤器状查询?说我的获取网址是 .../1/service/startswith/a.json 它返回以我的数据库中a开头的所有值...但是如果找不到"一个"值,我应该只用空的JSON字符串返回状态代码200吗?或状态代码404. 谢谢! 解决方案 参见我的答案我解决了您的问题. 特别是这个位, 我认为是否答案 返回404取决于什么是 正在检索的资源.是 这是搜索的代表 结果,还是它的代表 产品?要知道这一点,你真的需要 查看引导的链接关系 我们到URL. 如果URL应该返回 产品表示,然后是404 如果代码确实可以返回 不存在.如果URL返回搜索 结果,它不应返回404. 最终结果是URL 看起来不是确定的 因素.话虽如此,这是 大会使用查询字符串 返回搜索结果,以便更多 直观地使用该URL风格 当您不想返回404时. 其他
6 2023-12-02
编程技术问答社区
RESTful身份验证导致高负载下的性能较差?
对于一个安息的Web服务,我们说服务器不应存储任何状态.现在,对于每个请求,必须对"用户"进行身份验证,并且必须拥有他/她希望执行的诉讼授权. 现在,每个请求都将包含该用户的授权数据.这是我的困惑: 假设主页上有一个登录和密码字段.用户输入将发送回服务器的用户名/密码,用户已验证,然后返回"某些令牌".现在,此令牌已按每个请求发送到服务器.问题: 后端DB是否需要一个单独的表来存储这些表 由用户名索引的令牌? 假设令牌存储在DB中,则每个请求都需要进行DB调用.这不是使DB服务器在高负载时成为瓶颈吗? 如果代币并未真正存储在db中 举行会议可能并不息,但是我看不到恢复身份验证/授权的规模如何(W.R.T.上述点)? 如果不是令牌,那么是否需要将用户名/密码发送回n-forth? (听起来像个坏主意:) 我可能会误解静止身份验证/授权的概念.但是,对于每个HTTP请求"服务"都需要前往数据库以验证凭据的情况确实如此吗?有什么可以捷径缩短过程并仍然忠于宁静原则的
4 2023-12-02
编程技术问答社区
Restlet路由的恶梦?
好吧,这很荒谬:(或者我的设计可能是:) 这是我们正在使用的URL: /{projectName}/{wallName} - GET only: fetch all win conditions posted to the all /{projectName}/WinCondition - POST a new Win Condition /{projectName}/WinCondition/{id} - GET, PUT & DELETE 现在有趣的部分: 如果按照上述订购代码POST: /myProject/WinCondition将使用WallName路由到第一个路线!因此得到405. 如果我将/{projectName}/{wallName}移到底部,则可以正确路由! 现在这就是我所知道的: RESTLET中的默认路由模式 是mode_first_match.我将其设置为 mode_best_match和URL的
4 2023-12-02
编程技术问答社区
实现Java REST web服务的最简单框架
在Java中实现客户端和服务器REST框架的最佳框架是什么?我一直在努力寻找易于使用的解决方案. 更新:泽西岛和雷斯特都似乎是不错的选择.我们可能会使用雷斯特,但我们会尝试两者. 解决方案 recretlet 听起来好像应该提供您要寻找的东西: 支持客户端和服务器(在相对对称的API中) 智能URL绑定 MIME类型的理解(给定接受的MIME类型,它将在该类型中要求您的资源来表示其代表) 支持JAX-RS注释(就像泽西岛一样) 其他解决方案 泽西岛对于两个人来说真的很容易.要编写Web服务,请使用注释: @Path("/helloworld") public class HelloWorldResource { // The Java method will process HTTP GET requests @GET // The Java method will produce content identified b
4 2023-12-02
编程技术问答社区