package com.manning; import java.util.HashMap; import java.util.Map; import java.util.Set; import javax.xml.namespace.QName; import javax.xml.ws.handler.MessageContext; import javax.xml.ws.handler.MessageContext.Scope; import org.apache.chemistry.opencmis.commons.server.CallContext; import org.apache.chemistry.opencmis.server.impl.webservices.AbstractService; import com.sun.xml.ws.api.handler.MessageHandler; import com.sun.xml.ws.api.handler.MessageHandlerContext; //<start id="ne-setup"/> public class MyAuthHandler implements MessageHandler<MessageHandlerContext> { public Set<QName> getHeaders() { return null; } public void close(MessageContext context) { } public boolean handleFault(MessageHandlerContext context) { return true; } public boolean handleMessage(MessageHandlerContext context) { Boolean outboundProperty = (Boolean) context .get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outboundProperty.booleanValue()) { return true; } Map<String, String> callContextMap = new HashMap<String, String>(); String user = ... String password = ... callContextMap.put(CallContext.USERNAME, user); callContextMap.put(CallContext.PASSWORD, password); context.put(AbstractService.CALL_CONTEXT_MAP, callContextMap); //<co id="ch14_co_authhandler1"/> context.setScope(AbstractService.CALL_CONTEXT_MAP, Scope.APPLICATION); return true; } }//<end id="ne-setup"/>