【发布时间】:2011-10-19 17:06:45
【问题描述】:
嗨,我有一个安静的项目,我从客户端打了休息电话。但是对于一个案例,我需要从服务器端进行安静的调用。我该怎么做?
【问题讨论】:
-
你的意思是调用另一个服务器?而不是给客户,我希望。
标签: java restful-url wcf-rest restful-architecture
嗨,我有一个安静的项目,我从客户端打了休息电话。但是对于一个案例,我需要从服务器端进行安静的调用。我该怎么做?
【问题讨论】:
标签: java restful-url wcf-rest restful-architecture
正如@Jonas 提到的,使用 HttpClient。实际上,在这种情况下,客户端和服务器之间没有区别。您的服务器是另一台服务器的客户端。
但要小心:
如果您在 Java EE 环境中,您不需要自己打开套接字(至少来自 EJB)。 “正确”的解决方案是使用 JCA 连接到其他系统。我曾经实现过 JCA 适配器:它并不难,但需要一些努力。
可能更简单的解决方案是将打开套接字的代码放入 servlet,例如一个 servlet 通过 HTTP 转换为另一个(在不同的服务器上运行)。我认为 Java EE 规范并没有强烈禁止它。
【讨论】:
可以在服务器代码中使用 JAX/RS 客户端库。
我的blog 有更多细节,但这里是相关代码。我正在使用 Apache Wink。
Resource editionResource = libraryClient.resource(
"http://localhost:9085/LibraryWink/library/editions”
);
BookEdition theEdition = new BookEdition(
/* title, isbn etc */
);
ClientResponse response = editionResource
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(theEdition);
【讨论】:
您可以为此使用Apache HttpClient 库。
【讨论】: