pea02 Secure Web Services mit unterschiedlichen Handlertypen Arbo von Monkiewitsch Handler ● ● ● Viele Wege führen zu sicheren Webservices Allgem. : Handler mit Sicherheitsfunktionen (encrypt, sign ..) einsetzen Implementierungen: – Basic Handler – RPC Handler RPC Handler ● Direkt von Sun – javax.xml.rpc.handler.Handler ● Interface ● Wichtige Methoden: – handleRequest(MessageContext c) – handleResponse(MessageContext c) Basic Handler ● Aus dem Apache Axis Projekt – org.apache.axis.handlers.BasicHandler ● Abstract Class ● Wichtigste Methode: – invoke(MessageContext c) Wo liegen die Unterschiede? Basic Handler ● ● für den Request und Response muss jeweils eine class erstellt werden nur invoke() muss überschrieben werden RPC Handler ● ● ist in der Lage Response und Request in einer zu bearbeiten handleRequest(), handleResponse(), handleFault(), getHeaders(), init(), destroy() müssen implementiert werden Basic Handler ● Classname wird in der WSDD und dem deployment descriptor direkt als handler type angegeben ... <responseFlow> <handler type="java:MyBasicHandler"> ... RPC Handler ● Als handler type muss JAXRPCHandler angegeben werden. Um die class zu finden ist parameter className notwendig ... <responseFlow> <handler type="java:org.apache.axis. handlers.JAXRPCHandler"> <parameter name="className" value="MyRPCHandler"/> ... Welche Relation besteht? Die abstract class BasicHandler implementiert das Interface javax.xml.rpc.handler.Handler : <<Interface>> Handler <<Abstract Class>> BasicHandler Anmerkungen ● ● Man kann die invoke() vom Basic Handler und handleRequest() / handleResponse() vom RPC Handler sehr ähnlich bzw. gleich implementieren Vor- und Nachteile: – Mit dem Basic Handler hat man weniger Arbeit, da nur eine Methode geschrieben werden muss und der Handler im descriptor direkt angegeben werden kann – Der RPC Handler hat dagegen den Vorteil request und response in einer Classe bearbeiten zu können, gegen ihn spricht, dass man alle Interface methoden erstellen muss pea02 das war`s .. Arbo von Monkiewitsch