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; } } |
Mustafa Korkmaz
Oracle Applications Developer at Partnera
2005 yılında Dokuz Eylül Üniversitesi Endüstri Mühendisliğinden Mezun
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- 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