Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JBoss 5.1 (for SOA) как зарегать JSR109 Handler?


Автор: MikeVeng 23.7.2012, 18:47
Всем привет!

Имеется JSR109 совместимый хэндлер:
Код

package jsr109test;

import javax.xml.namespace.QName;
import javax.xml.rpc.handler.Handler;
import javax.xml.rpc.handler.HandlerInfo;
import javax.xml.rpc.handler.MessageContext;

public class ServerHndler implements Handler 
{
    private Logger log = new Logger();
    private HandlerInfo hi;
   /**
    * Initialize the JAX-RPC handler. According to JSR109, this method must
    * retain the information defined by the HandlerInfo.
    * 
    * @param hi
    *            the HandlerInfo provided by the container.
    * @throws IllegalStateException
    *            if the container declared by this handler class is not
    *            supported by the agent.
    */
    @Override
    public void init(HandlerInfo hi)  {
        this.hi = hi;
        log.Info("Handler created", hi);
    }

    @Override
    public void destroy() {
        log.Info("Handler destoyed", hi);
    }

    @Override
    public QName[] getHeaders() {
        QName[] res = hi.getHeaders();
        log.Info("Handler getHeaders() = ", res);
        return res;
    }

    @Override
    public boolean handleFault(MessageContext mc) {
        log.Info("Handler handleFault(mc), mc = ", mc);
        return true;
    }

    @Override
    public boolean handleRequest(MessageContext mc) {
        log.Info("Handler handleRequest(mc), mc = ", mc);
        return true;
    }

    @Override
    public boolean handleResponse(MessageContext mc) {
        log.Info("Handler handleResponse(mc), mc = ", mc);
        return true;
    }
}


Что нужно поменять в конфигурации JBoss 5.1 (for SOA), чтобы он начал работать, т.е. ловит проходящие SOAP-сообщения?

Заранее благодарен. Майк.

Автор: MikeVeng 23.7.2012, 20:49
Дополнительно имеется вот такой хэндлер:
Код

package jsr109test;

import javax.xml.ws.handler.Handler; 
import javax.xml.ws.handler.MessageContext;

public class SOAPHandler implements Handler<MessageContext> {

    private Logger log = new Logger(this.getClass().getName());

    @Override
    public boolean handleMessage(MessageContext mc) {
        log.Info("handleMessage(MessageContext mc), mc = ", mc);
        return true;
    }

    @Override
    public boolean handleFault(MessageContext mc) {
        log.Info("handleFault(MessageContext mc), mc = ", mc);
        return true;
    }

    @Override
    public void close(MessageContext mc) {
        log.Info("close(MessageContext mc), mc = ", mc);
    }

}

Заранее благодарен за советы по его подключению.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)