我使用Jersey
客户机对一个API进行REST调用,该API返回mulipart中的一个Json和一个PDF文件作为响应的第一和第二部分。
final Client client = ClientBuilder.newClient();
final WebTarget target = client.target(endPoint);
final Builder request = target.request().header("Authorization", authKey);
final Response response = request.get();
final String readEntity = response.readEntity(String.class);
使用上面的客户端解析这个多部分响应的正确方法是什么?
一个快速的谷歌搜索会给你结果。您必须启用multipartfeature
,并执行response.readentity(inputstream.class)
从http://www.benchresources.net/jersey-2-x-web-service-for-uploadingdownloading-zip-file-java-client/获得以下代码
// invoke service after setting necessary parameters
clientConfig = new ClientConfig();
clientConfig.register(MultiPartFeature.class);
client = ClientBuilder.newClient(clientConfig);
client.property("accept", "application/zip");
webTarget = client.target(httpURL);
// invoke service
invocationBuilder = webTarget.request();
// invocationBuilder.header("Authorization", "Basic " + authorization);
response = invocationBuilder.get();
// get response code
responseCode = response.getStatus();
System.out.println("Response code: " + responseCode);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed with HTTP error code : " + responseCode);
}
// get response message
responseMessageFromServer = response.getStatusInfo().getReasonPhrase();
System.out.println("ResponseMessageFromServer: " + responseMessageFromServer);
// read response string
inputStream = response.readEntity(InputStream.class);
qualifiedDownloadFilePath = DOWNLOAD_FILE_LOCATION + "MyJerseyZippedFile.zip";
outputStream = new FileOutputStream(qualifiedDownloadFilePath);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
我有一个网站,我只是想写一个脚本,发送字符串到一个文本输入在页面(唯一的一个)和点击提交。我构建了一个selenium系统,但被告知这是矫枉过正的,访问页面上的endpoint并以这种方式发送文本要“容易”得多。 线程“main”java.lang.IllegalStateException中出现异常:未找到InjectionManagerFactory。在org.glassfish.jersey
我设计了一个多部分Jersey REST服务,如下所示,用于接收多部分请求(文件上传)并将文件保存在磁盘位置: 我的测试客户是: 但我无法得到回应。 当我使用HTML网页作为客户端通过调用REST服务上传文件时,它工作得很好,但从REST客户端它不工作。 客户有什么需要更改的吗?
问题内容: 我正在尝试使用Jersey客户端模拟对我的Web服务的HTTP请求。我尝试实现文档中的简单示例。这是我的短代码: 我什至没有实现整个示例,因为当前我在最后一行收到一个异常: 我只将此依赖项添加到我的: 我试图用谷歌搜索问题,以及调试应用程序,但我真的看不出问题出在哪里。 编辑 所有Maven依赖项: 问题答案: 这看起来像与JAX-RS API版本(包含MultiValuedMap)有
当我的客户机应用程序尝试从我的安全RESTWeb服务请求资源时,我得到了粘贴在下面的错误。 我已经在这个主题上找到了这个答案,但是额外的代码似乎很极端。使用泽西岛客户端访问安全的宁静Web服务 有谁知道解决问题的更简单的方法吗? 我的项目:在服务器端,我正在使用jdbc realm的基本身份验证,这在浏览器中使用时工作正常。在客户端,我设置了用户名和密码,当我发送请求时发生错误。如果您需要代码片段
不确定发生了什么,但我不知道我的反应在哪里被劫持了。
正如twilio所说的同时拨号 您可以在动词中使用几个和名词来同时拨打多个电话号码和客户端。第一个接听电话的人将与呼叫者连接,而其余的呼叫尝试将被挂断。 我实现这个功能与描述相同,但是当有人拨打我的twilio号码时,我传递了上面的twiml响应,并且每个客户端都收到传入呼叫,但是当所有客户端之一通过.accept()方法选择呼叫时,没有任何反应,并且呼叫不断为所有客户端响铃。 但是,如果只有一个