<?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"



Similar documents
1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).




I n la n d N a v ig a t io n a co n t r ib u t io n t o eco n o m y su st a i n a b i l i t y


Victims Compensation Claim Status of All Pending Claims and Claims Decided Within the Last Three Years

SCO TT G LEA SO N D EM O Z G EB R E-

ACE-1/onearm #show service-policy client-vips

Put the human back in Human Resources.

H ig h L e v e l O v e r v iew. S te p h a n M a rt in. S e n io r S y s te m A rc h i te ct

BLADE 12th Generation. Rafał Olszewski. Łukasz Matras

PSTN. Gateway. Switch. Supervisor PC. Ethernet LAN. IPCC Express SERVER. CallManager. IP Phone. IP Phone. Cust- DB


Campus Sustainability Assessment and Related Literature





1. Oblast rozvoj spolků a SU UK 1.1. Zvyšování kvalifikace Školení Zapojení do projektů Poradenství 1.2. Financování



L a h ip e r t e n s ió n a r t e r ia l s e d e f in e c o m o u n n iv e l d e p r e s ió n a r t e r ia l s is t ó lic a ( P A S ) m a y o r o

Future Trends in Airline Pricing, Yield. March 13, 2013


R e t r o f i t o f t C i r u n i s g e C o n t r o l

C e r t ifie d Se c u r e W e b





P R E F E I T U R A M U N I C I P A L D E J A R D I M





B R T S y s te m in S e o u l a n d In te g r a te d e -T ic k e tin g S y s te m


U.S. Department of Housing and Urban Development: Weekly Progress Report on Recovery Act Spending

Opis przedmiotu zamówienia - zakres czynności Usługi sprzątania obiektów Gdyńskiego Centrum Sportu

Frederikshavn kommunale skolevæsen


proxy cert request dn, cert, Pkey, VOMS cred. (short lifetime) certificate: dn, ca, Pkey mod_ssl pre-process: parameters->

w ith In fla m m a to r y B o w e l D ise a se. G a s tro in te s tin a l C lin ic, , K a s h iw a z a, A g e o C ity, S a ita m a



III Bienal de Autismo Página 1 / 43


Combinación de bandas óptima para la discriminación de sabanas colombianas, usando imagen Landsat ETM+ZYXWVUTSRQPONMLKJIHGFEDCB

EM EA. D is trib u te d D e n ia l O f S e rv ic e


TITLE POLICY ENDORSEMENTS BY STATE

B a rn e y W a r f. U r b a n S tu d ie s, V o l. 3 2, N o. 2, ±3 7 8

3 k t h R e m e A c c e s s b t t t V T T c h t h p V T. Cl ic e ot rad io ut on nex o PN unnel yp e and oose e ap rop riat e PN unnel Int erfac e. 4.

Overview of Spellings on

i n g S e c u r it y 3 1B# ; u r w e b a p p li c a tio n s f r o m ha c ke r s w ith t his å ] í d : L : g u id e Scanned by CamScanner

Return-to-Work Outcomes Among Social Security Disability Insurance (DI) Beneficiaries

S E 5/9. Checks & Forms for. BIS Software

AN EVALUATION OF SHORT TERM TREATMENT PROGRAM FOR PERSONS DRIVING UNDER THE INFLUENCE OF ALCOHOL P. A. V a le s, Ph.D.



BMC ITSM Suite - nabité skúsenosťami. Juraj Izák,

Federation of State Boards of Physical Therapy Jurisdiction Licensure Reference Guide Topic: Continuing Competence

T c k D E GR EN S. R a p p o r t M o d u le Aa n g e m a a k t o p 19 /09 /2007 o m 09 :29 u u r BJB M /V. ja a r.

CUSTOMER INFORMATION SECURITY AWARENESS TRAINING

Workload Management Services. Data Management Services. Networking. Information Service. Fabric Management

M P L S /V P N S e c u rity , C is c o S y s te m s, In c. A ll rig h ts re s e rv e d.


e Merchant Plug-in (MPI) Integration & User Guide

Federation of State Boards of Physical Therapy Jurisdiction Licensure Reference Guide Topic: Continuing Competence

Call Detail Record Access Service Part No R01

Understanding, Modelling and Improving the Software Process. Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1

Using Predictive Modeling to Reduce Claims Losses in Auto Physical Damage

How To Rate Plan On A Credit Card With A Credit Union

Federation of State Boards of Physical Therapy Jurisdiction Licensure Reference Guide Topic: PTA Supervision Requirements

The Lincoln National Life Insurance Company Variable Life Portfolio

Knox Ridge ac. For Sale. Single Family Development. Kimberly S. Gatley Senior Vice President Direct Line kgatley@reocsanantonio.

IRA Distribution Form

State Corporate Income Tax-Calculation




JCUT-3030/6090/1212/1218/1325/1530

GE Inventory Finance. Unlock your cash potential.

UNIK4250 Security in Distributed Systems University of Oslo Spring Part 7 Wireless Network Security

HR DEPARTMENTAL SUFFIX & ORGANIZATION CODES

Tuition Reimbursement Program. Handbook

Regional Electricity Forecasting

Federation of State Boards of Physical Therapy Jurisdiction Licensure Reference Guide Topic: License Renewal Who approves courses?

High School Mathematics: State-Level Curriculum Standards and Graduation Requirements

Foresters Advantage Plus Whole Life Paid-Up at 100. Whole Life Insurance. Life Insurance Illustration

Substation Accessories

Broadband Technology Opportunities Program: Sustainable Broadband Adoption and Public Computer Centers

Acceptance Page 2. Revision History 3. Introduction 14. Control Categories 15. Scope 15. General Requirements 15

Table 12: Availability Of Workers Compensation Insurance Through Homeowner s Insurance By Jurisdiction

UFPA Brazil. d e R e d e s Ó p tic a s e s e u s Im p a c to s n o F u tu r o d a In te r n e t

Web Services in Eclipse. Sistemi Informativi Aziendali A.A. 2012/2013

With Rejoicing Hearts/ Con Amor Jovial. A Fm7 B sus 4 B Cm Cm7/B

C + + a G iriş 2. K o n tro l y a p ıla rı if/e ls e b re a k co n tin u e g o to sw itc h D ö n g ü le r w h ile d o -w h ile fo r

Thuraya XT-LITE Simple. Reliable. Affordable.

Transcription:

Applicazioni Java W S con Ax is sistema di tr ac c iab il ità ag r o al imen tar e Ing. Mario G.C.A. Cimino M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 1/14

Installazione di Axis su Jakarta Tomcat Axis (h t t p :/ / w s.a p a c h e.o r g/ a xis/ ) è u n SO AP e n gin e, u n f r a m SO AP p r o c e sso r (c o m e c l ie n t, se r v e r, ga t e w a y...) e w o r k p e r c o st r u ir e È sv il u p p a t o c o m e j a v a se r v l e t, p e r c u i si in st a l l a su se r v l e t e n gin e c o m e T o m c a t. I l p a c k a ge (h t t p :/ / a p a c h e.f is.u n ir o m a 2.it / w s/ a xis/ 1 _ 2 R C1 / a xis-1 _ 2 R C1 -b in.z ip ) n o n c o n t ie n e u n f il e f o r m a t o w e b a p p ic a t io n (a xis.w a r ) m a si in st a l l a a u t o m a t ic a m e n t e c o p ia n d o l a c a r t e l l a webapps\ax i s n e l l a c o r r isp o n d e n t e c a r t e l l a webapps d i T o m c a t. N o n e ` n e c e ssa r io r ia v v ia r e T o m c a t : in p o c h i se c o n d i v ie n e r il e v a t a a u t o m a t ic a m e n t e l a p p l ic a z io n e e st a m p a t i i r e l a t iv i m e ssa ggi su l l a sh e l l, t r a c u i l a m a n c a n z a d i a l c u n i p a c k a ge d a a ggiu n ge r e m a n u a l m e n t e c o m e d i se gu it o. Co p ia r e i 4 f il e s.j ar d e l l X M L p a r se r d e l l a Xer c es n e l l a c a r t e l l a ax i s/ W E B -I N F / l i b Ac c e d e r e m e d ia n t e il b r o w se r a l l a u r l h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ q u in d i e se gu ir e il t e st d i v a l id a z io n e h appy ax i s (h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ h a p p y a xis.j sp ) c l ic c a n d o su l l in k V al i d at e. N o r m a l m e n t e, v ie n e r il e v a t a l a m a n c a n z a d e gl i u l t e r io r i p a c k a ge s d e sc r it t i d i se gu it o, d a c o p ia r e se m p r e n e l l a c a r t e l l a ax i s/ W E B -I N F / l i b. M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 2/14

PACKAGE CO N T EN U T O N EL F I L E S CAR I CAB I L E D A activation.jar j a f -1 _ 0 _ 2 -u p d. z i p h t t p : / / j a v a. s u n. c o m / p r o d u c t s / j a v a b e a n s / g l a s g o w / j a f. h t m l m ail.jar j a v a m a i l -1 _ 3 _ 2. z i p h t t p : / / j a v a. s u n. c o m / p r o d u c t s / j a v a m a i l / d o w n l o a d s / i n d e x. h t m l x m l s e c.jar x m l -s e c u r i t y -b i n -1 _ 1 _ 0. z i p h t t p : / / x m l. a p a c h e. o r g / s e c u r i t y / d i s t / j a v a -l i b r a r y / x m l -s e c u r i t y -b i n -1 _ 1 _ 0. z i p Su c c e ssiv a m e n t e si t e st a u n SO AP e n d p o in t. Se b b e n e l o st a n d a r d SO AP u si r ic h ie st e H T T P P O S T p e r in v ia r e u n a r ic h ie st a X M L a d u n e n d p o in t, Axis su p p o r t a a n c h e u n e l e m e n t a r e m e c c a n ism o H T T P G E T, u t il e a sc o p o d i t e st in g. Ac c e d e r e d a b r o w se r a l l a u r l h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ se r v ic e s/ V e r sio n? m e t h o d = ge t V e r sio n. D o v r e b b e a p p a r ir e q u a l c o sa d e l ge n e r e : <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <soapenv:body> <getversionresponse soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"> <getversionreturn xsi:type="xsd:string"> Apache Axis version: 1.1 Built on Apr 04, 2003 (01:30:37 PST) </getversionreturn> </getversionresponse> </soapenv:body> </soapenv:envelope> T e st ia m o o r a u n J a v a W e b Se r v ic e (J W S) E n d p o in t. J W S è u n m e c c a n ism o c h e p e r m e t t e d i ge n e r a r e u n W S Se r v e r a u t o m a t ic a m e n t e d a c o d ic e J a v a. Ac c e d e r e d a M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 3/14

b r o w se r a l l a u r l h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ E c h o H e a d e r s.j w s? m a p p a r ir e q u a l c o sa d i sim il e : e t h o d = l ist. D o v r e b b e <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <soapenv:body> <listresponse soapenv:encodingstyle="http://schemas.xmlsoap.org/soap/encoding/"> <listreturn xsi:type="soapenc:array" soapenc:arraytype="xsd:string[6]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <item>accept:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*</item> <item>accept-language:en-us</item> <item>accept-encoding:gzip, deflate</item> <item>user-agent:mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</item> <item>host:localhost:8080</item> <item>connection:keep-alive</item> </listreturn> </listresponse> </soapenv:body> </soapenv:envelope> M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 4/14

G enerazione di un W S tramite JW S I f il e.j ws so n o f il e.j av a c o n d iv e r sa e st e n sio n e, c h e v e n go n o r ic o n o sc iu t i d a A x i s e c o m p il a t i a l p r im o a c c e sso. Sc r iv e r e l a se gu e n t e c l a sse J a v a e c o p ia r l a n e l l a c a r t e l l a webapps/ ax i s. // calcolatore.jws public cla s s C alcolatore { public in t som m a( in t i 1, in t i 2 ) { r e t ur n i 1 + i 2 ; public in t sottraz i on e( in t i 1, in t i 2 ) { r e t ur n i 1 - i 2 ; Ac c e d e r e d a b r o w se r a l l a u r l h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ Ca l c o l a t o r e.j w s.axis c o m p il a a u t o m a t ic a m e n t e l a c l a sse e c o n v e r t e l e c h ia m a t e SO AP in in v o c a z io n i d i m e t o d o d e l l a c l a sse. I l f il e C al c o l at o r e.c l ass v e r r à p o st o in ax i s/ W E B -I N F / j wsc l asses. E ` p o ssib il e e sa m in a r e il w sd l su h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ Ca l c o l a t o r e.j w s? w sd l <?x m l v e r s i o n ="1. 0 " e n c o d i n g ="U T F -8 "?> <w s d l :d e f i n i t i o n s t a r g e t N a m e s p a c e ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e. j w s " x m l n s :a p a c h e s o a p ="h t t p ://x m l. a p a c h e. o r g /x m l -s o a p " x m l n s :i m p l ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e. j w s " x m l n s :i n t f ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e. j w s " M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 5/14

x m l n s :s o a p e n c ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" x m l n s :w s d l ="h t t p ://s c h e m a s. x m l s o a p. o r g /w s d l /" x m l n s :w s d l s o a p ="h t t p ://s c h e m a s. x m l s o a p. o r g /w s d l /s o a p /" x m l n s :x s d ="h t t p ://w w w. w 3. o r g /20 0 1/X M L S c h e m a "> <! -- W S D L c r e a t e d b y A p a c h e A x i s v e r s i o n : 1. 2R C 2 B u i l t o n N o v 16, 20 0 4 ( 12:19 :4 4 E S T ) --> <w s d l :m e s s a g e n a m e ="s o m m a R e q u e s t "> <w s d l :p a r t n a m e ="i 1" t y p e ="x s d :i n t " /> <w s d l :p a r t n a m e ="i 2" t y p e ="x s d :i n t " /> </w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o t t r a z i o n e R e s p o n s e "> <w s d l :p a r t n a m e ="s o t t r a z i o n e R e t u r n " t y p e ="x s d :i n t " /> </w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o m m a R e s p o n s e "> <w s d l :p a r t n a m e ="s o m m a R e t u r n " t y p e ="x s d :i n t " /> </w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o t t r a z i o n e R e q u e s t "> <w s d l :p a r t n a m e ="i 1" t y p e ="x s d :i n t " /> <w s d l :p a r t n a m e ="i 2" t y p e ="x s d :i n t " /> </w s d l :m e s s a g e > <w s d l :p o r t T y p e n a m e ="C a l c o l a t o r e "> <w s d l :o p e r a t i o n n a m e ="s o m m a " p a r a m e t e r O r d e r ="i 1 i 2"> <w s d l :i n p u t m e s s a g e ="i m p l :s o m m a R e q u e s t " n a m e ="s o m m a R e q u e s t " /> <w s d l :o u t p u t m e s s a g e ="i m p l :s o m m a R e s p o n s e " n a m e ="s o m m a R e s p o n s e " /> <w s d l :o p e r a t i o n n a m e ="s o t t r a z i o n e " p a r a m e t e r O r d e r ="i 1 i 2"> <w s d l :i n p u t m e s s a g e ="i m p l :s o t t r a z i o n e R e q u e s t " n a m e ="s o t t r a z i o n e R e q u e s t " /> <w s d l :o u t p u t m e s s a g e ="i m p l :s o t t r a z i o n e R e s p o n s e " n a m e ="s o t t r a z i o n e R e s p o n s e " /> </w s d l :p o r t T y p e > <w s d l :b i n d i n g n a m e ="C a l c o l a t o r e S o a p B i n d i n g " t y p e ="i m p l :C a l c o l a t o r e "> <w s d l s o a p :b i n d i n g s t y l e ="r p c " t r a n s p o r t ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /h t t p " /> <w s d l :o p e r a t i o n n a m e ="s o m m a "> <w s d l s o a p :o p e r a t i o n s o a p A c t i o n ="" /> <w s d l :i n p u t n a m e ="s o m m a R e q u e s t "> <w s d l s o a p :b o d y e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="h t t p ://D e f a u l t N a m e s p a c e " u s e ="e n c o d e d " /> </w s d l :i n p u t > <w s d l :o u t p u t n a m e ="s o m m a R e s p o n s e "> <w s d l s o a p :b o d y e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e 0 u 10 6?w s " u s e ="e n c o d e d " /> </w s d l :o u t p u t > <w s d l :o p e r a t i o n n a m e ="s o t t r a z i o n e "> <w s d l s o a p :o p e r a t i o n s o a p A c t i o n ="" /> M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 6/14

<w s d l :i n p u t n a m e ="s o t t r a z i o n e R e q u e s t "> <w s d l s o a p :b o d y e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="h t t p ://D e f a u l t N a m e s p a c e " u s e ="e n c o d e d " /> </w s d l :i n p u t > <w s d l :o u t p u t n a m e ="s o t t r a z i o n e R e s p o n s e "> <w s d l s o a p :b o d y e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e. j w s " u s e ="e n c o d e d " /> </w s d l :o u t p u t > </w s d l :b i n d i n g > <w s d l :s e r v i c e n a m e ="C a l c o l a t o r e S e r v i c e "> <w s d l :p o r t b i n d i n g ="i m p l :C a l c o l a t o r e S o a p B i n d i n g " n a m e ="C a l c o l a t o r e "> <w s d l s o a p :a d d r e s s l o c a t i o n ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /C a l c o l a t o r e. j w s " /> </w s d l :p o r t > </w s d l :s e r v i c e > </w s d l :d e f i n i t i o n s > P e r t e a r e f u n z n a m e n t o d e l n o r o W r v e r u p p m o u n W n t c o m e d o st il io st S Se, sv il ia S Cl ie i se gu it : // C a l c o l a t o r e C l i e n t. j a v a i m p o r t o r g. a p a c h e. a x i s. c l i e n t. C a l l ; i m p o r t o r g. a p a c h e. a x i s. c l i e n t. S e r v i c e ; i m p o r t o r g. a p a c h e. a x i s. e n c o d i n g. X M L T y p e ; i m p o r t o r g. a p a c h e. a x i s. u t i l s. O p t i o n s ; i m p o r t j a v a x. x m l. r p c. P a r a m e t e r M o d e ; p u b l i c cl a s s C a l c o l a t o r e C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) t h r o w s E x c e p t i o n { O p t i o n s o p t i o n s = n e w O p t i o n s ( a r g s ) ; S t r i n g e n d p o i n t = "h t t p ://l o c a l h o s t :" + o p t i o n s. g e t P o r t ( ) + "/a x i s /C a l c o l a t o r e. j w s "; a r g s = o p t i o n s. g e t R e m a i n i n g A r g s ( ) ; i f ( a r g s == n u l l a r g s. l e n g t h! = 3 ) { S y s t e m. e r r. p r i n t l n ( "U s o : C a l c o l a t o r e C l i e n t <s o m m a s o t t r a z i o n e > a r g 1 a r g 2") ; M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 7/14

r e t u r n ; S t r i n g m e t h o d = a r g s [ 0 ] ; i f (! ( m e t h o d. e q u a l s ( "s o m m a ") m e t h o d. e q u a l s ( "s o t t r a z i o n e ") ) ) { S y s t e m. e r r. p r i n t l n ( "U s o : C a l c o l a t o r e C l i e n t <s o m m a s o t t r a z i o n e > a r g 1 a r g 2") ; r e t u r n ; I n t e g e r i 1 = n e w I n t e g e r ( a r g s [ 1] ) ; I n t e g e r i 2 = n e w I n t e g e r ( a r g s [ 2] ) ; S e r v i c e s e r v i c e = n e w S e r v i c e ( ) ; C a l l c a l l = ( C a l l ) s e r v i c e. c r e a t e C a l l ( ) ; c a l l. s e t T a r g e t E n d p o i n t A d d r e s s ( n e w j a v a. n e t. U R L ( e n d p o i n t ) ) ; c a l l. s e t O p e r a t i o n N a m e ( m e t h o d ) ; c a l l. a d d P a r a m e t e r ( "o p 1", X M L T y p e. X S D _ I N T, P a r a m e t e r M o d e. I N ) ; c a l l. a d d P a r a m e t e r ( "o p 2", X M L T y p e. X S D _ I N T, P a r a m e t e r M o d e. I N ) ; c a l l. s e t R e t u r n T y p e ( X M L T y p e. X S D _ I N T ) ; I n t e g e r r e t = ( I n t e g e r ) c a l l. i n v o k e ( n e w O b j e c t [ ] { i 1, i 2 ) ; S y s t e m. o u t. p r i n t l n ( "R i s u l t a t o : " + r e t ) ; I l se gu e n t e sc r ip t p r o v v e r e a c o m p il a r e e d e se gu ir e il c l ie n t. rem make.bat @ ec h o o f f s et CL A S S P A T H = s etl o c al s et l i b= C:\to mc at5 \w ebap p s \ax i s \W E B -I N F \l i b\ s et l i bs = % l i b% ax i s.j ar; % l i b% j ax rp c.j ar; % l i b% s aaj.j ar; % l i b% c o mmo n s -l o g g i n g.j ar; % l i b% w s d l 4 j.j ar; % l i b% c o mmo n s -d i s c o v ery.j ar; % l i b% ac ti v ati o n.j ar; % l i b% mai l.j ar; j av ac -c l as s p ath "% l i bs % " *.j av a j av a -c l as s p ath "% l i bs % " Cal c o l ato recl i en t -p 8 0 8 0 s o mma 3 7 j av a -c l as s p ath "% l i bs % " Cal c o l ato recl i en t -p 8 0 8 0 s o ttraz i o n e 9 5 en d l o c al M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 8/14

@ ec h o o n P r o d u c e n d o il se gu e n t e r isu l t a t o C:my w s > make R i s u l tato : 1 0 R i s u l tato : 4 G enerazione di un W S tramite Jav a2 W S D L J a v a 2 W SD L p e r m e t t e l a c r e a z io n e d i W S c o n m a ggio r f l e ssib il it à in f a se d i sv il u p p o, m e d ia n t e il f o r m a t o W eb S er v i c e D epl o y m en t D esc r i pt o r (W SD D ). Su p p o n ia m o d i a v e r e i t r e f il e d i t e st o se gu e n t i: C:my w s \make.bat C:my w s \Cal c o l ato recl i en t2.j av a C:my w s \s amp l es \c al c o l ato re\cal c o l ato re.j av a // C a l c o l a t o r e. j a v a p a ck a g e s a m p l e s. c a l c o l a t o r e ; p u b l i c i n t e r f a ce C a l c o l a t o r e { p u b l i c i n t s o m m a ( i n t i 1, i n t i 2) ; p u b l i c i n t s o t t r a z i o n e ( i n t i 1, i n t i 2) ; M o st r e r e m o m a n m a n o il f il e m ak e.bat. P r im a d i t u t t o, c o m p il ia m o il c o d ic e j a v a : rem make.bat @ ec h o o f f s et CL A S S P A T H = M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 9/14

s etl o c al s et l i b= C:\to mc at5 \w ebap p s \ax i s \W E B -I N F \l i b\ s et l i bs = % l i b% ax i s.j ar; % l i b% j ax rp c.j ar; % l i b% s aaj.j ar; % l i b% c o mmo n s -l o g g i n g.j ar; % l i b% w s d l 4 j.j ar; % l i b% c o mmo n s -d i s c o v ery.j ar; % l i b% ac ti v ati o n.j ar; % l i b% mai l.j ar; j av ac -c l as s p ath "% l i bs % " s amp l es / c al c o l ato re/ *.j av a Q u in d i si c r e a il W SD L u sa n d o j a v a 2 SW D L, c o n l e se gu e n t i o p z io n i: -o <n o m e d el f i l e wsd l g en er at o >, -l <c o l l o c az i o n e d el ser v i z i o >, -n <n am espac e d eg l i el em en t i d el wsd l > -p< n am espac e e pac k ag e asso c i at o > s et s erv i c e_ l o c ati o n = h ttp :/ / l o c al h o s t:8 0 8 0 / ax i s / s erv i c es / Cal c o l ato re s et targ et_ n ames p ac e= u rn :c al c o l ato re s et p ac kag e= s amp l es.c al c o l ato re j av a -c l as s p ath "% l i bs % " o rg.ap ac h e.ax i s.w s d l.j av a2w S D L -o Cal c o l ato re.w s d l -l "% s erv i c e_ l o c ati o n % " -n "% targ et_ n ames p ac e% " -p "% p ac kag e% " "% targ et_ n ames p ac e% " s amp l es.c al c o l ato re.cal c o l ato re V ie n e ge n e r a t o u n f il e C:myws\Ca l c o l a t o r e. wsd l d a l se gu e n t e c o n t e n u t o : <?x m l v e r s i o n ="1. 0 " e n c o d i n g ="U T F -8 "?> <w s d l :d e f i n i t i o n s t a r g e t N a m e s p a c e ="u r n :c a l c o l a t o r e " x m l n s :i m p l ="u r n :c a l c o l a t o r e " x m l n s :i n t f ="u r n :c a l c o l a t o r e " x m l n s :a p a c h e s o a p ="h t t p ://x m l. a p a c h e. o r g /x m l -s o a p " x m l n s :w s d l s o a p ="h t t p ://s c h e m a s. x m l s o a p. o r g /w s d l /s o a p /" x m l n s :s o a p e n c ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" x m l n s :x s d ="h t t p ://w w w. w 3. o r g /20 0 1/X M L S c h e m a " x m l n s :w s d l ="h t t p ://s c h e m a s. x m l s o a p. o r g /w s d l /"> <! --W S D L c r e a t e d b y A p a c h e A x i s v e r s i o n : 1. 2R C 2 B u i l t o n N o v 16, 20 0 4 ( 12:19 :4 4 E S T ) --> <w s d l :m e s s a g e n a m e ="s o m m a R e s p o n s e "> <w s d l :p a r t n a m e ="s o m m a R e t u r n " t y p e ="x s d :i n t "/> </w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o t t r a z i o n e R e q u e s t "> <w s d l :p a r t n a m e ="i n 0 " t y p e ="x s d :i n t "/> <w s d l :p a r t n a m e ="i n 1" t y p e ="x s d :i n t "/> M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 10 /14

</w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o t t r a z i o n e R e s p o n s e "> <w s d l :p a r t n a m e ="s o t t r a z i o n e R e t u r n " t y p e ="x s d :i n t "/> </w s d l :m e s s a g e > <w s d l :m e s s a g e n a m e ="s o m m a R e q u e s t "> <w s d l :p a r t n a m e ="i n 0 " t y p e ="x s d :i n t "/> <w s d l :p a r t n a m e ="i n 1" t y p e ="x s d :i n t "/> </w s d l :m e s s a g e > <w s d l :p o r t T y p e n a m e ="C a l c o l a t o r e "> <w s d l :o p e r a t i o n n a m e ="s o m m a " p a r a m e t e r O r d e r ="i n 0 i n 1"> <w s d l :i n p u t n a m e ="s o m m a R e q u e s t " m e s s a g e ="i m p l :s o m m a R e q u e s t "/> <w s d l :o u t p u t n a m e ="s o m m a R e s p o n s e " m e s s a g e ="i m p l :s o m m a R e s p o n s e "/> <w s d l :o p e r a t i o n n a m e ="s o t t r a z i o n e " p a r a m e t e r O r d e r ="i n 0 i n 1"> <w s d l :i n p u t n a m e ="s o t t r a z i o n e R e q u e s t " m e s s a g e ="i m p l :s o t t r a z i o n e R e q u e s t "/> <w s d l :o u t p u t n a m e ="s o t t r a z i o n e R e s p o n s e " m e s s a g e ="i m p l :s o t t r a z i o n e R e s p o n s e "/> </w s d l :p o r t T y p e > <w s d l :b i n d i n g n a m e ="C a l c o l a t o r e S o a p B i n d i n g " t y p e ="i m p l :C a l c o l a t o r e "> <w s d l s o a p :b i n d i n g s t y l e ="r p c " t r a n s p o r t ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /h t t p "/> <w s d l :o p e r a t i o n n a m e ="s o m m a "> <w s d l s o a p :o p e r a t i o n s o a p A c t i o n =""/> <w s d l :i n p u t n a m e ="s o m m a R e q u e s t "> <w s d l s o a p :b o d y u s e ="e n c o d e d " e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="u r n :c a l c o l a t o r e "/> </w s d l :i n p u t > <w s d l :o u t p u t n a m e ="s o m m a R e s p o n s e "> <w s d l s o a p :b o d y u s e ="e n c o d e d " e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="u r n :c a l c o l a t o r e "/> </w s d l :o u t p u t > <w s d l :o p e r a t i o n n a m e ="s o t t r a z i o n e "> <w s d l s o a p :o p e r a t i o n s o a p A c t i o n =""/> <w s d l :i n p u t n a m e ="s o t t r a z i o n e R e q u e s t "> <w s d l s o a p :b o d y u s e ="e n c o d e d " e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="u r n :c a l c o l a t o r e "/> </w s d l :i n p u t > <w s d l :o u t p u t n a m e ="s o t t r a z i o n e R e s p o n s e "> <w s d l s o a p :b o d y u s e ="e n c o d e d " e n c o d i n g S t y l e ="h t t p ://s c h e m a s. x m l s o a p. o r g /s o a p /e n c o d i n g /" n a m e s p a c e ="u r n :c a l c o l a t o r e "/> </w s d l :o u t p u t > </w s d l :b i n d i n g > <w s d l :s e r v i c e n a m e ="C a l c o l a t o r e S e r v i c e "> M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 11/14

<w s d l :p o r t n a m e ="C a l c o l a t o r e " b i n d i n g ="i m p l :C a l c o l a t o r e S o a p B i n d i n g "> <w s d l s o a p :a d d r e s s l o c a t i o n ="h t t p ://l o c a l h o s t :8 0 8 0 /a x i s /s e r v i c e s /C a l c o l a t o r e "/> </w s d l :p o r t > </w s d l :s e r v i c e > </w s d l :d e f i n i t i o n s > Si u sa il W SD L ge n e r a t o p e r c r e a r e t u t t i i c o m p o n e n t i n e c e ssa r i, c o n W SD L 2 J a v a : j av a -c l as s p ath "% l i bs % " o rg.ap ac h e.ax i s.w s d l.w S D L 2J av a -o. -d S es s i o n -s -S tru e -N "% targ et_ n ames p ac e% " s amp l es.c al c o l ato re Cal c o l ato re.w s d l V e n go n o ge n e r a t i i f il e se gu e n t i: C:my w s \s amp l es \c al c o l ato re\cal c o l ato re.c l as s C:my w s \s amp l es \c al c o l ato re\cal c o l ato re.j av a i n t e r f a c c i a d i p a r t e n z a r e s a r e m o t a c o n R M I C:my w s \s amp l es \c al c o l ato re\cal c o l ato res erv i c e.j av a i n t e r f a c c i a d i s e r v i z i o l a t o c l i e n t C:my w s \s amp l es \c al c o l ato re\cal c o l ato res erv i c el o c ato r.j av a i m p l e m e n t a z i o n e d e l s e r v i z i o l a t o c l i e n t C:myws\sa mp l e s\c a l c o l a t o r e \Ca l c o l a t o r e S o a p B i n d i n g I mp l. j a v a i m p l e m e n t a z i o n e d i d e f a u l t d e l s e r v e r ( c o m p l e t a r e ) C:my w s \s amp l es \c al c o l ato re\cal c o l ato res o ap B i n d i n g S kel eto n.j av a s k e l e t o n l a t o s e r v e r C:my w s \s amp l es \c al c o l ato re\cal c o l ato res o ap B i n d i n g S tu b.j av a s t u b l a t o c l i e n t C:my w s \s amp l es \c al c o l ato re\d ep l o y.w s d d d e s c r i t t o r e d i d e p l o y m e n t C:my w s \s amp l es \c al c o l ato re\u n d ep l o y.w s d d d e s c r i t t o r e d i u n d e p l o y m e n t a n o i in t e r e ssa so l o Ca l c o l a t o r e S o a p B i n d i n g I mp l. j a v a : o c c o r r e se m p l ic e m e n t e im p l e m e n t a r e i c o r p i d e i m e t o d i, in c u i v ie n e r it o r n a t o u n v a l o r e d i d e f a u l t -3. // C a l c o l a t o r e S o a p B i n d i n g I m p l. j a v a p a ck a g e s a m p l e s. c a l c o l a t o r e ; p u b l i c cl a s s C a l c o l a t o r e S o a p B i n d i n g I m p l i m p l e m e n t s s a m p l e s. c a l c o l a t o r e. C a l c o l a t o r e { p u b l i c i n t s o m m a ( i n t i n 0, i n t i n 1) t h r o w s j a v a. r m i. R e m o t e E x c e p t i o n { r e t u r n -3 ; p u b l i c i n t s o t t r a z i o n e ( i n t i n 0, i n t i n 1) t h r o w s j a v a. r m i. R e m o t e E x c e p t i o n { M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 12/14

r e t u r n -3 ; Fa t t o c iò, si p u ò f a r e il d e p l o y m e n t d e l se r v iz io m e d ia n t e l a p p l ic a z io n e A d m i n C l i en t e c o m p il a r e l e c l a ssi ge n e r a t e d a W S D L 2 J av a c o l l o c a n d o i f il e.c l ass n e l l a c a r t e l l a W E B -I N F \c l asses d i Axis. j av a -c l as s p ath "% l i bs % " o rg.ap ac h e.ax i s.c l i en t.a d mi n Cl i en t s amp l es \c al c o l ato re\d ep l o y.w s d d s et d ep l o y d i r= C:\to mc at5 \w ebap p s \ax i s \W E B -I N F \c l as s es j av ac c l as s p ath "% l i bs % " s amp l es / c al c o l ato re/ *.j av a d % d ep l o y d i r% Ac c e d e n d o d a b r o w se r a l l a u r l h t t p :/ / l o c a l h o st :8 0 8 0 / a xis/ se r v ic e s/ Ca l c o l a t o r e c o m p a r e u n m e ssa ggio d e l ge n e r e : M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 13/14

Q u e st o in d ic a c h e il se r v e r è a t t iv o. An a l o ga m e n t e a q u a n t o f a t t o p e r l e n d p o in t j w s, a ggiu n ge n d o a l l a f in e d e l l a U R L il su f f isso? wsd l Axis ge n e r a l a d e sc r iz io n e w sd l d e l se r v iz io c h e p u ò e sse r e sa l v a t a d a c h i d e v e sv il u p p a r e il c l ie n t. Co m e c l ie n t p o ssia m o a d o p e r a r e q u e l l o v ist o p e r il m e c c a n ism o j w s, r in o m in a n d o l a c l a sse c o m e C al c o l at o r ec l i en t 2 e m o d if ic a n d o so l o l e n d p o in t n e l se gu e n t e m o d o : S t r i n g e n d p o i n t = "h t t p ://l o c a l h o s t :" + o p t i o n s. g e t P o r t ( ) + "/a x i s /s e r v i c e s /C a l c o l a t o r e "; Fa t t o c iò si p u ò r ic o m p il a r e e r ie se gu ir e il c l ie n t, o t t e n e n d o o v v ia m e n t e i m e d e sim i r isu l t a t i d e l se r v e r j w s. E c c o l u l t im a p a r t e d e l f il e m ak e.bat : j av ac -c l as s p ath "% l i bs % " *.j av a j av a -c l as s p ath "% l i bs % " Cal c o l ato recl i en t2 -p 8 0 8 0 s o mma 3 7 j av a -c l as s p ath "% l i bs % " Cal c o l ato recl i en t2 -p 8 0 8 0 s o ttraz i o n e 9 5 en d l o c al @ ec h o o n M.G.C.A.Cimino, Applicazioni Java-W S con Ax is, D ipar t ime nt o d i I ng e g ne r ia d e ll I nf or mazione - U nive r s it à d i P is a 14/14