/** * Obtain handler chain from annotations. * * @param obj A endpoint implementation class or a SEI, or a generated * service class. */ private List<Handler> getHandlersFromAnnotation(Class<?> clazz, PortInfo portInfo) { AnnotationHandlerChainBuilder builder = new AnnotationHandlerChainBuilder(); return builder.buildHandlerChainFromClass(clazz, portInfo != null ? portInfo.getPortName() : null, portInfo != null ? portInfo.getServiceName() : null, portInfo != null ? portInfo.getBindingID() : null); }
public class MyHandlerResolver implements HandlerResolver { @Override public List<Handler> getHandlerChain(PortInfo portInfo) { List<Handler> handlerChain = Lists.newArrayList(); Handler soapHandler = new MySoapHandler(); String bindingID = portInfo.getBindingID(); if (bindingID.equals("http://schemas.xmlsoap.org/wsdl/soap/http")) { handlerChain.add(soapHandler); } else if (bindingID.equals("http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/")) { handlerChain.add(soapHandler); } return handlerChain; } }
private boolean matchPortName(final PortInfo info, final QName namePattern) { return match(info == null ? null : info.getPortName(), namePattern); }
private boolean matchServiceName(final PortInfo info, final QName namePattern) { return match(info == null ? null : info.getServiceName(), namePattern); }
public class SoapNamespaceHandlerResolver implements HandlerResolver { @SuppressWarnings({ "rawtypes" }) @Override public List<Handler> getHandlerChain(PortInfo portInfo) { List<Handler> handlerChain = new ArrayList<Handler>(); Handler handler = (SOAPHandler<SOAPMessageContext>) new SoapNamespaceHandler(); String bindingID = portInfo.getBindingID(); if (bindingID.equals("http://schemas.xmlsoap.org/wsdl/soap/http")) { handlerChain.add(handler); } else if (bindingID.equals("http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/")) { handlerChain.add(handler); } return handlerChain; } }
private boolean matchPortName(final PortInfo info, final QName namePattern) { return match(info == null ? null : info.getPortName(), namePattern); }
private boolean matchServiceName(final PortInfo info, final QName namePattern) { return match((info == null ? null : info.getServiceName()), namePattern); }
public boolean equals(Object obj) { if (obj instanceof PortInfo) { PortInfo info = (PortInfo) obj; if (bindingId.toString().equals(info.getBindingID().toString()) && portName.equals(info.getPortName()) && serviceName.equals(info.getServiceName())) { return true; } } return false; }
@SuppressWarnings("rawtypes") public List<Handler> getHandlerChain(PortInfo portInfo) { bindingID = portInfo.getBindingID(); return chain; }
private boolean matchPortName(final PortInfo info, final QName namePattern) { return match((info == null ? null : info.getPortName()), namePattern); }
private boolean matchServiceName(PortInfo info, String namePattern) { return match((info == null ? null : info.getServiceName()), namePattern); }
/** * Obtain handler chain from annotations. * * @param obj A endpoint implementation class or a SEI, or a generated * service class. */ private List<Handler> getHandlersFromAnnotation(Class<?> clazz, PortInfo portInfo) { AnnotationHandlerChainBuilder builder = new AnnotationHandlerChainBuilder(); return builder.buildHandlerChainFromClass(clazz, portInfo != null ? portInfo.getPortName() : null, portInfo != null ? portInfo.getServiceName() : null, portInfo != null ? portInfo.getBindingID() : null); }
private boolean matchBinding(PortInfo info, List bindings) { return match((info == null ? null : info.getBindingID()), bindings); }
private boolean matchPortName(PortInfo info, String namePattern) { return match((info == null ? null : info.getPortName()), namePattern); }
private boolean matchServiceName(PortInfo info, String namePattern) { return match((info == null ? null : info.getServiceName()), namePattern); }
@SuppressWarnings("rawtypes") public List<Handler> getHandlerChain(PortInfo portInfo) { synchronized (handlerMap) { List<Handler> handlerChain = handlerMap.get(portInfo); if (handlerChain == null) { QName portQName = portInfo.getPortName(); QName serviceQName = portInfo.getServiceName(); String bindingId = portInfo.getBindingID(); handlerChain = createHandlerChain(portInfo, portQName, serviceQName, bindingId); handlerMap.put(portInfo, handlerChain); } return handlerChain; } }
private boolean matchBinding(PortInfo info, List bindings) { return match((info == null ? null : info.getBindingID()), bindings); }
private boolean matchPortName(PortInfo info, String namePattern) { return match((info == null ? null : info.getPortName()), namePattern); }
private boolean matchServiceName(final PortInfo info, final QName namePattern) { return match(info == null ? null : info.getServiceName(), namePattern); }
/** * Object.equals is overridden here so that PortInfo objects * can be compared when using them as keys in the map in * HandlerResolverImpl. This method relies on the equals() * methods of java.lang.String and javax.xml.namespace.QName. * * @param obj The PortInfo object to test for equality. * @return True if they match, and false if they do not or * if the object passed in is not a PortInfo. */ public boolean equals(Object obj) { if (obj instanceof PortInfo) { PortInfo info = (PortInfo) obj; if (bindingId.toString().equals(info.getBindingID()) && portName.equals(info.getPortName()) && serviceName.equals(info.getServiceName())) { return true; } } return false; }