private static <T> void processHandlerAnnotation(WSBinding binding, Class<T> implType, QName serviceName, QName portName) { HandlerAnnotationInfo chainInfo = HandlerAnnotationProcessor.buildHandlerInfo( implType, serviceName, portName, binding); if (chainInfo != null) { binding.setHandlerChain(chainInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(chainInfo.getRoles()); } } }
/** * Parses the handler and role information and sets it * on the {@link WSBinding}. * * @return true if <handler-chains> element present in DD * false otherwise. */ protected boolean setHandlersAndRoles(WSBinding binding, XMLStreamReader reader, QName serviceName, QName portName) { if (reader.getEventType() == XMLStreamConstants.END_ELEMENT || !reader.getName().equals(HandlerChainsModel.QNAME_HANDLER_CHAINS)) { return false; } HandlerAnnotationInfo handlerInfo = HandlerChainsModel.parseHandlerFile( reader, classLoader, serviceName, portName, binding); binding.setHandlerChain(handlerInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(handlerInfo.getRoles()); } // move past </handler-chains> XMLStreamReaderUtil.nextContent(reader); return true; }
/** * Parses the handler and role information and sets it * on the {@link WSBinding}. * * @return true if <handler-chains> element present in DD * false otherwise. */ protected boolean setHandlersAndRoles(WSBinding binding, XMLStreamReader reader, QName serviceName, QName portName) { if (reader.getEventType() == XMLStreamConstants.END_ELEMENT || !reader.getName().equals(HandlerChainsModel.QNAME_HANDLER_CHAINS)) { return false; } HandlerAnnotationInfo handlerInfo = HandlerChainsModel.parseHandlerFile( reader, classLoader, serviceName, portName, binding); binding.setHandlerChain(handlerInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(handlerInfo.getRoles()); } // move past </handler-chains> XMLStreamReaderUtil.nextContent(reader); return true; }
/** * Parses the handler and role information and sets it * on the {@link WSBinding}. * * @return true if <handler-chains> element present in DD * false otherwise. */ protected boolean setHandlersAndRoles(WSBinding binding, XMLStreamReader reader, QName serviceName, QName portName) { if (reader.getEventType() == XMLStreamConstants.END_ELEMENT || !reader.getName().equals(HandlerChainsModel.QNAME_HANDLER_CHAINS)) { return false; } HandlerAnnotationInfo handlerInfo = HandlerChainsModel.parseHandlerFile( reader, classLoader, serviceName, portName, binding); binding.setHandlerChain(handlerInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(handlerInfo.getRoles()); } // move past </handler-chains> XMLStreamReaderUtil.nextContent(reader); return true; }
private static <T> void processHandlerAnnotation(WSBinding binding, Class<T> implType, QName serviceName, QName portName) { HandlerAnnotationInfo chainInfo = HandlerAnnotationProcessor.buildHandlerInfo( implType, serviceName, portName, binding); if (chainInfo != null) { binding.setHandlerChain(chainInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(chainInfo.getRoles()); } } }
private static <T> void processHandlerAnnotation(WSBinding binding, Class<T> implType, QName serviceName, QName portName) { HandlerAnnotationInfo chainInfo = HandlerAnnotationProcessor.buildHandlerInfo( implType, serviceName, portName, binding); if (chainInfo != null) { binding.setHandlerChain(chainInfo.getHandlers()); if (binding instanceof SOAPBinding) { ((SOAPBinding) binding).setRoles(chainInfo.getRoles()); } } }
List<Handler> chain = binding.getHandlerChain(); chain.addAll(handlers); binding.setHandlerChain(chain);
public void configureJAXWSServiceHandlers(WebServiceEndpoint ep, String bindingId, WSBinding bindingObj) { // No handler chains; do nothing if(!ep.hasHandlerChain()) { return; } LinkedList handlerChainList = ep.getHandlerChain(); List<Handler> finalHandlerList = new ArrayList<Handler>(); Set<String> roles = new HashSet(); for(Iterator<WebServiceHandlerChain> i = handlerChainList.iterator(); i.hasNext();) { WebServiceHandlerChain hc = i.next(); // Apply the serviceName / portName / bindings filter to ensure // that the handlers are for this endpoint if(!patternsMatch(hc, ep.getServiceName(), ep.getWsdlPort(), bindingId)) { continue; } // OK - this handler has to be configured for this endpoint // Iterate through all handlers that have been configured List<Handler> handlerInfo = processConfiguredHandlers(hc.getHandlers(), roles); finalHandlerList.addAll(handlerInfo); } // Processing of all handlers over; // set final list of handler in RuntimeEndpointInfo bindingObj.setHandlerChain(finalHandlerList); // Set soap roles for soap bindings only if(bindingObj instanceof javax.xml.ws.soap.SOAPBinding) { ((javax.xml.ws.soap.SOAPBinding)bindingObj).setRoles(roles); } }
QName serviceQName = new QName(JAXWSUtils.getTargetNamespace(serviceObj.getClass()),serviceName); WSBinding binding = BindingImpl.create(BindingID.SOAP11_HTTP); binding.setHandlerChain(handlerChain); Class<?> serviceClass = serviceObj.getClass(); if(BytecodeAPIUtils.isProxy(serviceClass)) serviceClass = serviceClass.getSuperclass();