2011-12-15 2 views
1
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, пожалуйста, кто-то может помочь. Я не уверен, что здесь происходит не так.Как разместить XML-файл с помощью Джерси-клиента?

+0

Пожалуйста, поделитесь URI, который вы публикуете, на i.e значение WSURI. –

ответ

2

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); 
Смежные вопросы