问题标签 [jersey-client]

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 投票
1 回答
11226 浏览

java - Jersey Client post binary data application-octet/stream

I would like to perform a post with binary data using Jersey Client.

The equivalent with curl would be:

#xA;

I could not find how to do it in the official docs: http://jersey.java.net/documentation/latest/user-guide.html#client

Thanks.

0 投票
1 回答
457 浏览

java - 小程序中的 Jersey 客户端不解析 JSON

我有一个简单的应用程序,可以用作小程序和独立应用程序。它向 REST 服务发送请求并尝试显示结果,即List<City>.

城市类代码如下:

它使用 jersey-bundle-1.17 发送请求并获得响应。

发送请求并获得响应的代码:

构建应用程序后,我有两个 jar 文件 - MyJar.jar 和我的应用程序和 jersey-bundle-1.17.jar。球衣的类路径在 MyJar.jar 的清单中指定。

当我将我的 jar 文件作为独立应用程序(java -jar MyJar.jar)运行时,一切正常,请求被发送,响应被接收并反序列化到List<City>. 当我在发送小程序(在 html 页面或 appletviewer 中)请求时运行我的 jar 文件时,会收到响应,但它无法反序列化对这List<City>句话的响应

我尝试将 JacksonJsonProvider.class 添加到 Jersey 提供程序列表中,尝试仅反序列化到 String 到 City[] - 它总是说从 applet 运行时找不到合适的消息正文阅读器。当作为桌面应用程序运行时,一切正常。

Applet 肯定会加载 jersey-bundle jar,因为我在服务器访问日志中看到它并发送了请求,但它看起来加载不正确(也许它在加载时忽略 jersey-bundle jar 的清单,我不知道) . 仅当从小程序执行代码时才会出现问题。

有人可以帮我吗?

0 投票
0 回答
1065 浏览

jackson - 受 json_class 影响的 readEntity?

“json_class”属性有什么特殊含义吗?我有 2 个 get/post 集,这是 json 中唯一的显着差异。第一组效果很好。我能够使用:

除非我分成两部分(即读入阅读器然后映射到对象),否则第二组将不起作用。我看到的唯一显着区别是第二个 json 中的第一个属性始终是 "{"json_class":"Message","broadcast":false,"content":"post from java 1","created_at":"2013- 08-14T12:31:03-05:00","已删除":false,"....}

但是,如果我使用第一组中的代码,它会抛出“MessageBodyReader not found for media type=text/html; charset=utf-8, ...”异常。

0 投票
1 回答
9673 浏览

java - 获取 java.net.ConnectException:连接被拒绝

我为此寻找解决方案,但似乎都不适用于我的情况。所以这里是:我有一个应用程序需要对第三方域进行服务调用。我正在使用泽西客户端进行此服务调用。进行此调用的代码是

resourceWithParams球衣网络资源在哪里。请注意,即使它是POST,Web 服务也需要一个查询字符串和空正文。这可能是有问题的设计,但这是我们必须解决的问题。

此设置在我的本地计算机以及我们的 preprod 服务器上运行良好。但是在我们的生产服务器上,它给出了一个例外:

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused

以下几点可能有助于为我指明正确的方向:

1)当我们在 prod 服务器命令行上使用向 Web 服务发送请求时,我们得到了一个有效的响应,curl所以似乎没有防火墙问题。只有当我们通过 Web 应用程序(即使用 jersey 客户端通过 java 代码)尝试时才会发生这种情况。

2) prod 服务器上没有设置代理

3)在本地主机上工作正常。

4) Rest webservice 使用 https 并且在我们的服务器上安装了正确的证书,这一点证明了curl在 prod 上的 webservice 工作正常。

关于问题可能是什么以及我们应该从哪里开始寻找的任何想法?

编辑:

如前所述,我们使用 https 连接到 Web 服务。如果我们改用 http,它似乎确实有效。

0 投票
1 回答
7091 浏览

java - 带有 Jersey 客户端版本 2.2 的 Restful WebService 调用

案子

我正在尝试使用 REST 服务将用户数据提取到 Servlet 过滤器。

POM.xml

代码

休息:

问题

问题

0)我的代码有什么问题?

1) 使用 REST + JPA 从 servlet 过滤器获取数据的最明智方法是什么?

2)如果有另一种方法可以做到这一点,我的意思是,请告诉我?

3)泽西客户端是唯一的方法吗

4)如何在没有 Jersey 客户端的情况下直接从过滤器获取 EntityManager 并调用其余服务?

泽西岛文档和示例:http: //jersey.java.net/documentation/latest/user-guide.html#d0e2481

谢谢,萨米

0 投票
1 回答
31879 浏览

java - 仅使用带有 CA 证书且没有密钥库的 SSLContext

我需要设置一个javax.net.ssl.SSLContext用于 Jersey-Client 应用程序。我要做的就是接受自定义根 ca 证书的上下文。真的没有办法生成密钥库文件和导入 CA 证书吗?

0 投票
1 回答
652 浏览

java - Jersey 客户端基本身份验证对话抑制

我正在使用 Jeresy Client Api 与 Rest 服务进行通信。我想处理来自服务器的 401 响应。每当服务器为 401 Jersey 提供自己的身份验证对话框时,例如浏览器的用户名和密码。

client.addFilter(new com.sun.jersey.api.client.filter.HTTPBasicAuthFilter(username, password));

有没有办法隐藏或抑制此对话并显示我的自定义对话。

0 投票
2 回答
11581 浏览

json - 如何使用 Jackson (2.x) 提供程序设置 Jersey 客户端来处理 POST 请求

我正在努力设置 Jersey 客户端来测试对资源的 POST 请求。

我的 Jersey 和 Jackson 依赖项如下所示:

我正在使用 Jersey 2.4 和 Jackson 2.2.3。

我像这样设置客户端和 WebTarget:

我这样设置服务器:

我尝试在资源上测试 POST 请求:

目前,我收到以下错误:

但是,当我使用 curl 在资源上测试 POST 请求时,一切正常。所以我认为这可能与泽西客户端设置有关。

0 投票
1 回答
35045 浏览

java - Jersey-client 和 Apache HTTP Client 如何比较?

首先,我不想在这里发起一场激烈的战争。我非常了解泽西岛,但几乎没有使用过 httpclient。

jersey-client 和 Apache 的 httpclient 之间的主要区别是什么?在哪些方面一个比另一个更好?有没有好的对比图?对于较大的文件(比如 2048 MB),哪一个性能更好?

非常感谢您的评论!

0 投票
2 回答
11442 浏览

json - Jersey 1.17.1 POJO 映射功能服务器以及如何从客户端获取?

我在服务器上运行 REST 服务,我想将我的 POJO 列表转换为 Json。我不想使用@XMLRootElement JA-RX,因为它只适用于 XML。如果你谷歌你会发现 Jackson 是 Json 非常好的选择。

有没有人解决了这个问题,请粘贴完整的服务器和客户端代码?

注意:我花了 16 个小时才知道如何做到这一点,当我回答问题时,他们删除了我的答案,所以我决定把它放在这里以节省其他人宝贵的时间,我相信知识共享。如果你能改进我的代码。我总是乐于接受建议。