1 16 package org.apache.cocoon.webservices; 17 18 import javax.xml.rpc.handler.MessageContext ; 19 import javax.xml.rpc.server.ServiceLifecycle ; 20 import javax.xml.rpc.server.ServletEndpointContext ; 21 import javax.xml.rpc.ServiceException ; 22 23 import org.apache.avalon.framework.logger.AbstractLogEnabled; 24 import org.apache.avalon.framework.logger.Logger; 25 26 import org.apache.cocoon.components.axis.SoapServer; 28 44 public abstract class AbstractLogEnabledService 45 extends AbstractLogEnabled 46 implements ServiceLifecycle { 47 48 protected ServletEndpointContext m_endPointContext; 50 51 protected MessageContext m_context; 53 54 63 public void init(final Object context) throws ServiceException { 64 setContext(context); 65 setLogger(); 66 } 67 68 76 private void setContext(final Object context) throws ServiceException { 77 try { 78 m_endPointContext = (ServletEndpointContext ) context; 79 80 } catch (final ClassCastException e) { 81 throw new ServiceException ( 82 "Service requires ServletEndPointContext, supplied was " + context, e 83 ); 84 } 85 86 m_context = m_endPointContext.getMessageContext(); 87 } 88 89 93 private void setLogger() { 94 enableLogging((Logger) m_context.getProperty(SoapServer.LOGGER)); 95 } 96 97 100 public void destroy() { 101 m_context = null; 102 } 103 } 104 | Popular Tags |