2013-06-25 16 views
6

Mam java Reszta WebService URL http://localhost:8080/WebServiceEx/rest/hello/dgdgJak Call java Rest WebService wewnątrz serwletu

Kiedy wykonać URL, metoda WebService zwraca ciąg

Moje wymogiem jest, aby zadzwonić powyższy WebService URL wewnątrz Serwlet, czy ktokolwiek może pomóc?

ServletCode: Kod

public Class StoreServlet extends HttpServlet{ 
protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
     throws IOException, ServletException { 

//Invoke WebService and Get Response String Here 


} 

WebService:

public class HelloWorldService { 
    @Context 
    private ServletContext context; 

    @GET 
    @Path("/{param}") 
    public Response getMsg(@PathParam("param") String msg) { 

        return Response.status(200).entity(msg).build();  

       } 
    } 

Odpowiedz

0

Jedną z możliwości jest generowanie klienta webservices korzystając JAXWS (do tego celu - patrzeć na tutorial w Internecie). W ten sposób otrzymujesz klasy Java, których możesz używać jak zwykle w serwletu.

4

Spójrz na apache cxf JAX-RS klient:

http://cxf.apache.org/docs/jax-rs-client-api.html

przykład

BookStore store = JAXRSClientFactory.create("http://bookstore.com", BookStore.class); 
// (1) remote GET call to http://bookstore.com/bookstore 
Books books = store.getAllBooks(); 
// (2) no remote call 
BookResource subresource = store.getBookSubresource(1); 
// {3} remote GET call to http://bookstore.com/bookstore/1 
Book b = subresource.getBook(); 

Lub, jeśli używasz JAX-RS 2.0, posiada client API

np

Client client = ClientFactory.newClient(); 

String bal = client.target("http://.../atm/balance") 
        .queryParam("card", "111122223333") 
        .queryParam("pin", "9876") 
        .request("text/plain").get(String.class); 

Albo można zrobić to "rdzeń" sposób za pomocą tylko zwykły Java: http://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/

Powiązane problemy