2015-07-17 3 views
0

У меня есть необходимость, когда один api получает запрос на отправку данных формы и после некоторой обработки мне нужно перенаправить запрос на другой api.JAX-RS запрос прямой отправки

Мой первый АФИ:

@Path("/integrator/api") 
    public class IntegratorREST { 

    @Context private HttpServletRequest request; 
    @Context private HttpServletResponse response; 

    @Context private ServletContext _context; 

    @POST 
    @Path("/go") 
    @Consumes(MediaType.MULTIPART_FORM_DATA) 
    public Object forwardLink(@Context UriInfo info) throws URISyntaxException, ServletException, IOException { 


     (... my code ...) 

     // For simple CORS requests, the server only needs to add these 2 header parameters that allow access to any client. 
     response.setHeader("Access-Control-Allow-Origin", "*"); 
     response.setHeader("Access-Control-Allow-Credentials", "true"); 

     RequestDispatcher rd = _context.getRequestDispatcher("/uploadfile/api/send"); 
     rd.forward(request, response); 

     return null; 

    } 

} 

Второй АФИ:

@Path("/uploadfile/api") 
public class UploadFileREST { 

private String DIRECTORY = 
     "../../pentaho-solutions/system/uploadfile/"; 

@SuppressWarnings("unchecked") 
@POST 
@Path("/send") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Produces("application/json") 
public Output uploadFile(
     @Context UriInfo info, 
     @FormDataParam("file") InputStream uploadedInputStream, 
     @FormDataParam("file") FormDataContentDisposition fileDetail) { 

    (... code to upload a file to server ...) 

} 

Итак, rd.forward() в первом апи выполняется, но ничего не произойдет во втором , Я имею в виду, что у меня есть точка останова в первой строке, но код не выполняется.

Кроме того, я не получаю сообщение об ошибке/ошибке в консоли.

Как отправить запрос на отправку другим конечным точкам?

Спасибо за любую помощь.

Kleyson Rios.

ответ

0

Я думаю, вам нужно будет вызвать второй API, используя вызов службы REST, используя API-интерфейс Apache HTTPClient или что-то подобное.

С уважением, Hunaid.

+0

Можете ли вы дать образец кода? –

+0

И как использовать параметры сообщения, переданные первому API? Потому что один из них - это файл для загрузки. –

+0

Ссылка на эту ссылку для получения полного кода http://www.java-redefined.com/2014/04/rest-client-java-using-apache-http-client.html – user2246289