Ağu
13
2015
13
2015
Weblogic Sunucusu Web Servisi Handler Kullanımı
Merhaba,
Bu yazımda weblogic sunucusunda handler kullanımının nasıl yapılacağını bir örnek ile anlatmaya çalışacağım.
handler-chain.xml isimli handler classınını gösteren xml dosyası yaratılır.
<?xml version="1.0" encoding="UTF-8"?> <handler-chains xmlns="http://java.sun.com/xml/ns/javaee"> <handler-chain> <handler> <handler-name>Handler1</handler-name> <handler-class>handler.Handler1</handler-class> </handler> </handler-chain> </handler-chains> |
yaratılan xml dosyası web servisi class ı ile aynı lokasyonda durması için projede aynı paket içerisine konur veya oluşturulur.
örnekteki handler-chain.xml inin işaret ettiği handler paketi içerisindeki handler1.java classının örneği aşağıdaki gibidir.
PACKAGE handler; import JAVA.io.ByteArrayOutputStream; import JAVA.util.SET; import JAVA.util.Collections; import JAVA.util.logging.LEVEL; import JAVA.util.logging.Logger; import javax.xml.namespace.QName; import javax.xml.ws.handler.soap.SOAPHandler; import javax.xml.ws.handler.MessageContext; import javax.xml.ws.handler.soap.SOAPMessageContext; import javax.xml.soap.SOAPMessage; import org.slf4j.LoggerFactory; PUBLIC class Handler1 implements SOAPHandler<SOAPMessageContext> { /** * logger */ PRIVATE static final org.slf4j.Logger _LOG = LoggerFactory.getLogger(Handler1.class); PUBLIC Set<QName> getHeaders() { RETURN Collections.emptySet(); } PUBLIC BOOLEAN handleMessage(SOAPMessageContext messageContext) { BOOLEAN outboundProperty = (BOOLEAN) messageContext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); SOAPMessage soapMessage = messageContext.getMessage(); IF (outboundProperty.booleanValue()) { // gönderilen cevap . try { _LOG.info((String)messageContext.get("UUID") + " - Response Value => " + toString(soapMessage)); } catch (EXCEPTION ex) { _LOG.error("During Preparing SoapResponse got ERROR !",ex); } } ELSE { // gelen talep try { messageContext.put("SoapRequest", toString(soapMessage)); // _LOG.info("Soap Message : " + toString(soapMessage)); messageContext.setScope("SoapRequest", MessageContext.Scope.APPLICATION);//burdaki SET scope olmadan Params classı içerisinden çağırılamıyor ! } catch (EXCEPTION ex) { _LOG.error("During Conversion SoapMessage to String Process got ERROR", ex); } } RETURN TRUE; } PUBLIC BOOLEAN handleFault(SOAPMessageContext messageContext) { RETURN TRUE; } PUBLIC void CLOSE(MessageContext messageContext) { } PUBLIC static String toString(SOAPMessage soapMsg) throws EXCEPTION { ByteArrayOutputStream OUT = NEW ByteArrayOutputStream(); soapMsg.writeTo(OUT); String soapMsgStr = NEW String(OUT.toByteArray()); RETURN soapMsgStr; } } |
Latest posts by Mustafa Korkmaz (see all)
- Write for us sponsored posts - 16 Mayıs 2025
- CameraBag Photo Software 2024.0.0 Download Free For PC - 16 Mayıs 2025
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
Etiketler: handler-chain.xml, javax.xml.soap.SOAPMessage, javax.xml.ws.handler.soap.SOAPHandler, weblogic handler, weblogic SOAPMessageContext
Yazar





