public static void main(String[] args) throws JSONException {

    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);

    Book book = new Book();
    book.setAuthor_fname("john");
    book.setAuthor_lname("ray");

    String local_uri = "http://localhost:8080/BookStoreRestService/services/books";
    WebResource service = client.resource(UriBuilder.fromUri(local_uri).build());
    ClientResponse response =
        service.path("getbooks").accept(MediaType.APPLICATION_XML).post(ClientResponse.class, book);

    // to run remote web-service
    /*String remote_uri = "http://bookstore.jainvinita.com/BookStoreRestService/services/books";
    WebResource remote_service = client.resource(UriBuilder.fromUri(
    		remote_uri).build());
    ClientResponse response = remote_service.path("getbooks")
    		.accept(MediaType.APPLICATION_XML)
    		.post(ClientResponse.class, book);*/

    int status = response.getStatus();
    System.out.println("---------status-------------" + status);
    String xml = response.getEntity(String.class);

    ArrayList<Book> bookArray = parseBooksXML(xml);
    System.out.println("-----------bookArray-----------" + bookArray.size());
    for (int i = 0; i <= bookArray.size() - 1; i++) {
      String isbn = bookArray.get(i).getIsbn();
      System.out.println("-------isbn---------" + isbn);
    }
  }
  public static ArrayList<Book> parseBooksXML(String xml) {
    ArrayList<Book> bookList = new ArrayList<Book>();
    Book book = null;
    try {
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();

      InputSource is = new InputSource();
      is.setCharacterStream(new StringReader(xml));

      Document doc = dBuilder.parse(is);
      doc.getDocumentElement().normalize();
      System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
      NodeList nList = doc.getElementsByTagName("book");
      for (int i = 0; i < nList.getLength(); i++) {
        Node nNode = nList.item(i);
        book = new Book();
        if (nNode.getNodeType() == Node.ELEMENT_NODE) {
          Element eElement = (Element) nNode;

          book.setAuthor_fname(
              eElement.getElementsByTagName("author_fname").item(0).getTextContent());
          book.setAuthor_lname(
              eElement.getElementsByTagName("author_lname").item(0).getTextContent());
          book.setBook_title(eElement.getElementsByTagName("book_title").item(0).getTextContent());
          book.setYear(
              Integer.parseInt(eElement.getElementsByTagName("year").item(0).getTextContent()));
          book.setPrice(
              Double.parseDouble(eElement.getElementsByTagName("price").item(0).getTextContent()));
          book.setIsbn(eElement.getElementsByTagName("isbn").item(0).getTextContent());

          System.out.println(
              "Author First Name : "
                  + eElement.getElementsByTagName("author_fname").item(0).getTextContent());
          System.out.println(
              "Author Last Name : "
                  + eElement.getElementsByTagName("author_lname").item(0).getTextContent());
          System.out.println(
              "Book Title : "
                  + eElement.getElementsByTagName("book_title").item(0).getTextContent());
          System.out.println(
              "Price : " + eElement.getElementsByTagName("price").item(0).getTextContent());
          System.out.println(
              "Year : " + eElement.getElementsByTagName("year").item(0).getTextContent());
          System.out.println(
              "ISBN : " + eElement.getElementsByTagName("isbn").item(0).getTextContent());
          System.out.println("----------------------------------");
        }
        bookList.add(book);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    return bookList;
  }