Как опубликовать файл XML с помощью клиента Джерси? - PullRequest
1 голос
/ 15 декабря 2011
    final WebResource service = client.resource(UriBuilder.fromUri(WSURI).build());
    service.type(MediaType.APPLICATION_XML);
    service.accept(MediaType.TEXT_PLAIN);
    final Builder builder = service.header(HttpHeaders.AUTHORIZATION, HEADER);

    File file = new File("/test.xml");
    builder.entity(file);
    final ClientResponse response = builder.post(ClientResponse.class);

Я хочу отправить файл XML и получить ответ обратно. Код, который я пытаюсь дать 400 BAD запрос, пожалуйста, кто-то может помочь. Я не уверен, что здесь происходит не так.

1 Ответ

2 голосов
/ 17 декабря 2011

WebResource является неизменным - его методы возвращают новый экземпляр компоновщика.Итак, 2-я и 3-я строки вашего фрагмента кода не имеют никакого эффекта, так как вы игнорируете их результат.То же самое, когда вы вызываете метод entity().Вместо этого вы должны сделать следующее:

final WebResource service = client.resource(UriBuilder.fromUri(WSURI).build());
Builder builder = service.type(MediaType.APPLICATION_XML);
builder = builder.accept(MediaType.TEXT_PLAIN);
builder = builder.header(HttpHeaders.AUTHORIZATION, HEADER);

File file = new File("/test.xml");
builder = builder.entity(file);
final ClientResponse response = builder.post(ClientResponse.class);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...