Feb 18, 2009

Ελέγχοντας (testing) ένα JAX-WS Web Service στον Weblogic

Η έκδοση 11g του JDeveloper, όπως και ο Weblogic 10.3 υποστηρίζουν web services συμβατά με το παλαιότερο JAX-RPC και φυσικά με το JAX-WS. Στον JDeveloper, μπορούμε είτε να ορίσουμε απευθείας τα web service annotations στην Java κλάση μας ή να αφήσουμε τον wizard να κάνει το ίδιο, κάνοντας δεξί click, και ακολουθώντας την επιλογή Create Web Service. Από εκεί και πέρα, ξανά μέσω ενός editor μπορούμε να επηρεάσουμε τη συμπεριφορά του service, όπως για παράδειγμα να δηλώσουμε handlers, διαχείριση ασφάλειας, κλπ.

Ως προς τη δοκιμή του service, υπάρχουν οι εναλλακτικές του ίδιου του JDeveloper (για deployment στον embedded Weblogic) με ένα καινούργιο μενού επιλογών που ενσωματώνει με απλούστερο τρόπο από το 10g τον HTTP Analyzer (http://serafeimk.blogspot.com/2006/10/http-analyzer.html) και είναι εφικτό έτσι να ελέγξουμε μια δικτυακή υπηρεσία, ακόμα και αν χρησιμοποιεί ένα username token authentication. Κάνοντας click στο context-menu Test Web Service, o JDeveloper αναλαμβάνει το deployment στον embedded WLS, ενεργοποιεί τον HTTP Analyzer και αρχικοποιεί την οθόνη των δοκιμών, όπου μπορούμε να παρακολουθήσουμε ή να επέμβουμε στα μηνύματα που ανταλλάσσονται.






Επίσης υπάρχει και η default σελίδα που φτιάχνει ο Weblogic έπειτα από το deployment και αφορά τον έλεγχο απλών περιπτώσεων, χωρίς αυθεντικοποίηση.

Ως προς αυτό, αν έχουμε κάνει ήδη deploy τις βιβλιοθήκες του ADF τότε θα έρθουμε αντιμέτωποι με τον εξής λάθος (Error 503 - Service unavailable)

ανατρέχοντας στα log files του Weblogic διαπιστώνουμε πως πρόκειται για τη βιβλιοθήκη του log4j.

Ένας τρόπος να το ξεπεράσουμε είναι ενσωματώσουμε τη βιβλιοθήκη του log4j στην εκκίνηση του Weblogic ως μέρος του CLASSPATH (αρχείο startWeblogic.sh)

No comments: