问题标签 [restlet-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
831 浏览

tomcat7 - RESTlet ClientResource 在多次调用远程主机后挂起

我正在使用 RESTlet ClientResource 从服务器资源调用 Google Places 端点。具体来说,REST 请求调用 RESTlet ServerResource,后者调用 ClientResource 并返回 Google Places 结果。这在 Tomcat 中作为 Web 应用程序运行。

这可以正常工作大约一个小时,然后每个请求都会挂起。停止 tomcat 后,我​​看到所有请求都在日志中得到处理。这是非常不稳定的,因为 Tomcat 需要每隔一小时重新启动一次。

我已经寻求答案一段时间了,发现问题可能是连接没有被释放。建议是在表示上使用耗尽并在客户端资源上停止。

我正在使用restlets 2.1.1 的最新稳定版本。

以下是我执行上面解释的过程的方式:

在服务器资源返回表示的部分中,我称之为排气,如下所示:

有谁知道如何阻止客户端资源挂起?

0 投票
2 回答
575 浏览

servlets - 如何将信息从 servlet 过滤器传递到 Restlet ServerResource 子类?

在 Jetty 托管的 webapp 中,我使用 servlet 过滤器从 URL 中提取信息,有时将请求路由到非 Restlet servlet。对于 Restlet servlet,我希望能够将信息传递给我的 ServerResource 子类,并且我认为我应该能够通过将信息存储在 HttpServletRequest 的属性中来做到这一点。(Restlet 是否支持不同的机制来实现这一点?我在“Restlet in Action”或 stackoverflow 上找不到任何东西。)

ServletAdapter将 servlet 请求属性复制到 Restlet HttpRequest 的属性中,但它的构造函数采用 ServletContext 参数,而不是像超类(和默认适配器)ServerAdaptor 这样的上下文参数——它不会复制 servlet 请求属性——所以我不能使用ServletAdapter 来解决这个问题。

HttpServerHelper的javadoc,由 ServerServlet.createServer() 实例化,声称将名为“适配器”的上下文参数设置为 ServerAdapter 子类的类名将导致 HttpServerHelper 使用指定的类,但在我的调试中,我可以看到“适配器”上下文参数不存在于通过 ServerServlet.createServer() 中的伪服务器传递给 HttpServerHelper 构造函数的子上下文中,尽管它在父上下文中。这在我看来像一个错误:AFAICT,由于子上下文不携带其父级的属性或参数,因此当前实现的 HttpServerHelper 永远不会看到指示它使用非默认适配器的参数。也许 HttpServerHelper.getHelpedParameters() 应该从其“帮助”服务器的上下文中添加“适配器”参数 s 父上下文,如果它不存在于子上下文中?(此修复也适用于 HttpServerHelper javadoc 中提到的其他参数:“useForwardedForHeader”。)

作为一种解决方法,我扩展了 ServerServlet.createServer() 以将“适配器”参数复制到它传递给 HttpServerHelper 的子上下文中。这行得通。

我还对 ServerAdapter 进行了子类化,以将 servlet 请求属性复制到统一请求:从 ServletAdaptor.toRequest() 直接复制/粘贴。这也有效。

0 投票
2 回答
576 浏览

java - 使用 App 引擎配置 Restlet

我正在使用谷歌应用引擎来开发我的软件后端,使用 java 和 Restlet 框架。我的war目录下有index.jsp,当有人访问我的网站(例如example.com)时,我想将其视为默认页面。所以我已经在 web.xml 的 Welcome-file-list 部分提到了它。

另外,我将我的 Restlet servlet 映射到 web.xml 中的“/*”。

但是问题出现在这里,因为即使是对默认页面(即 example.com)的调用,也会转到显然在其路由器中找不到映射的 restlet。所以我决定将restlet servlet映射到“/restlet/*”。

但是有了这个我得到了 HTTP 404 错误,因为即使 web.xml 成功地将调用路由到 restlet,但是在这种情况下,restlet 在其路由器对象中找不到映射。我显然已经更改了restlet路由器中的映射以匹配新模式“restlet/*”。

如果有人可以帮助我,那就太好了。以下是我完整的 web.xml:

谢谢!

玛纳斯

0 投票
1 回答
436 浏览

rest - 如何在restlet框架中处理POST以外的请求

我有一个扩展 org.restlet.Application 类的类。使用此类处理各种请求,例如:

  • /登记
  • /login /listitem 我使用 POST 请求执行所有操作,并使用注释 @Post("json") 管理所有 org.restlet.resource.ServerResource 类。

我的问题是,如果 POST 以外的请求进入场景,我会收到类似 405 Method Not Allowed 之类的错误。那么如何在不为每个注解显式编写代码的情况下处理其他请求呢?

0 投票
2 回答
213 浏览

java - Restlet getIdentifier() 错误

当我尝试执行“FirstResource”示例时:

http://restlet.org/learn/2.0/firstResource

我在这一行中有一个由getIdentifier()引起的错误:

itemResource = new ClientResource(r.getIdentifier());

如何解决此错误?

谢谢你的帮助。

0 投票
1 回答
375 浏览

java - Restlet:将Java接口作为@Put参数传递

我想将 java 接口传递给 @Put 调用:

当我通过 ClientResource 调用 f() 时,我收到错误消息“不支持的媒体类型 (415)”,我认为这是因为 IMyInterface 不可序列化。

是否可以将 MyClass 对象作为 IMyInterface 传递?

0 投票
1 回答
1528 浏览

java - Restlet 流数据

我正在执行这项任务,我将从设备读取数据并通过 Web 服务使其可用。数据每秒读取 4 次。我希望 Web 客户端具有开放的 HTTP 连接,并使用分块传输将设备读数作为流获取,只要客户端保持连接打开即可。

作为概念验证,我想从一个不断生成随机数的服务开始,每秒 4 次,将其包装在 json 中并将其流式传输到客户端。我正在尝试基于twitter 流 api 对其进行松散建模。

我正在使用 restlet 2.1.2 来创建该 web 服务,但我不确定我应该使用哪个表示来实现这一点。我试着搜索这个,但没有找到任何有用的东西。有人可以指出我应该使用什么的正确方向,也许还有一些例子。

谢谢

0 投票
2 回答
2465 浏览

rest - Restlet GWT 客户端和跨域请求

是否可以在 GWT 版本的 Restlet Client 中执行跨域请求?

我需要使用 JSON 数据从外部 API 消耗 Rest 资源(GET、POST、PUT、DELETE)。

我知道 GWT 的同源策略 (SOP),但可能存在针对此限制的解决方法...

不再提供带有 GWT 示例的 Restlet 文档。这个链接例如:

http://wiki.restlet.org/docs_2.1/13-restlet/27-restlet/46-restlet/112-restlet.html

http://wiki.restlet.org/docs_2.1/13-restlet/275-restlet/144-restlet/189-restlet.html

0 投票
1 回答
211 浏览

maven - 如何使用 Maven 为 restlet 添加 javadocs?

我使用 m2eclipse 插件创建了一个 maven 项目,我可以通过以下代码导入依赖项,

但是,我想为下载的依赖项配置 javadocs,以便我可以在工作时检查文档。我如何实现目标?

0 投票
1 回答
149 浏览

java - 我们可以从 restlet 框架中实现的客户端调用 Jersey Web 服务服务器吗?

我的 Web 服务已在 Jersey 框架中实现。我想从我想在restlet框架中实现的客户端调用这个Web服务(服务器)。可能吗 ?

问候,