JAX-RPC
JAX-RPC definiuje mapowanie pomiędzy obiektami Javy, a typami XML.
Schemat działania:
- klient wywołuje metodę na obiekcie odpowiadającym usłudze (stub),
- parametry wykonanie metody tłumaczone są na XML i wysyłane w "kopercie" SOAP
- kontener rozpakowuje wiadomość SOAP, tłumaczy parametry na obiekty Javy i wywołuje metodę usługi,
- obliczona ospowiedź tłumaczona jest do XML i odsyłana klientowi,
- JAX-RPC po stronie klienta przetwarza odpowiedź na obiekty Javy,
- klient poznaje odpowiedź.
Dozwolone obiekty Javy:
- java.lang.Boolean
- java.lang.Byte
- java.lang.Double
- java.lang.Float
- java.lang.Integer
- java.lang.Long
- java.lang.Short
- java.lang.String
- java.math.BigDecimal
- java.math.BigInteger
- java.net.URI
- java.util.Calendar
- java.util.Date
- typy primitywne: boolean, byte, double, float, int, long, short
- tablice
Ponadto można przesyłać obekty klas, które spełniają następujące warunki:
- mają publiczny domyślny konstruktor,
- implementują interfejs java.rmi.Remote
- wszystkie polą muszą byc typu dozwolonego przez JAX-RPC,
- pola public nie mogą być transient ani final,
- do pól niepublicznych musi być dostęp przez odpowiednie gettery i settery.