RESTful services, XPath

References for subject 8

Programming:

XPath:

Preparation (the same as last week)

  1. SoapUI (if you want to test classic web services - not required this week)

    • Download a version for your system from this site and unpack or install
    • If you're working on a lab computer, you can unzip Linux installation package directly from my account

      tar xfzv ~czarnik/xml/soapui-4.6.0-linux-bin.tar.gz

  2. JBoss (version 6.1)

    • Download from here and unpack
    • If you're working on a lab computer, you can unzip Linux installation package directly from my account

      unzip ~czarnik/xml/jboss-as-distribution-6.1.0.Final.zip

  3. Unpack XML08.zip – this is a whole Eclipse workspace, not a single project.
  4. Eclipse

    1. Have Eclipse Indigo, Juno, or Kepler for Java EE Developers
    2. Use the above unpacked workspace.
    3. Go to Help > Market Place, type JBoss Tools and choose a version for your Eclipse. From the list of packages select only JAX-RS Tools, JBossWS Tools and JBoss AS Tools.
    4. After a restart go to Servers tab (visible in Java EE perspective) and add the JBoss server. Start the server and check http://localhost:8080 address in a Web browser.

RESTful services

Start the JBoss server and run the project REST in it (e.g. Servers / Add and Remove). Test for example hello?who=Ja.

Task 1. PathParam

Go to class Kalkulator, test it (using web browser). Then add more arithmetic operations accessible in the same way as addition.

Task 2. XPath support

Go to class XPath, test it (using web browser).

Add new parameter xpath and make the method return the result of the given expression (it should evaluate to a single node). If the parameter is not given (or empty), return the whole document, as it is now.

All right, there are some technical issues. If you don't know how to manage them, here is an example solution.

Test the service. Note that slash signs / must be replaced with %2F in URLs.

XPath

Jeśli starczy czasu, można zacząć zajmować się samym XPath (za tydzień będzie XPath i XQuery). Można tu użyć stworzonej właśnie usługi, albo okienka XPath w Eclipse (perspektywa "XML").

Za pomocą XPath wybierz określone elementy dokumentu przyklad.xml lub wyraź określone konstrukcje.

  1. wszystkie obiekty,
  2. zagnieżdżone opisy (tzn. znajdujące się w innych opisach),
  3. obiekt o id równym E4,
  4. obiekty z opisem,
  5. obiekty bez opisu,
  6. opisy w obiektach bez nazwy,
  7. tylko drugie opisy obiektów,
  8. obiekty parzyste,
  9. dodatki znajdujące się za opisami,
  10. dodatki znajdujące się bezpośrednio za opisami,
  11. obiekty, których wszystkie dzieci posiadają podelement wyr,
  12. sekwencja: dla każdego obiektu, liczba jego dzieci.

Valid XHTML 1.1Valid CSS