continue;
List<HandlerType> handlerTypeList = handlerChainType.getHandler();
Iterator ht = handlerTypeList.iterator();
while (ht.hasNext()) {
HandlerType handlerType = (HandlerType) ht.next();
// TODO must do better job comparing the handlerType with the PortInfo param
// to see if the current iterator handler is intended for this service.
// TODO review: need to check for null getHandlerClass() return?
// or will schema not allow it?
String portHandler = handlerType.getHandlerClass().getValue();
Class aClass;
try {
aClass = loadClass(portHandler);
} catch (Exception e) {
// TODO: should we just ignore this problem?
throw ExceptionFactory.makeWebServiceException(e);
}
// 9.2.1.2 sort them by Logical, then SOAP
if (LogicalHandler.class.isAssignableFrom(aClass))
handlers.add(aClass);
else if (SOAPHandler.class.isAssignableFrom(aClass))
// instanceof ProtocolHandler
handlers.add(aClass);
else if (Handler.class.isAssignableFrom(aClass)) {
throw ExceptionFactory.makeWebServiceException(Messages
.getMessage("handlerChainErr1", aClass.getName()));
} else {
throw ExceptionFactory.makeWebServiceException(Messages
.getMessage("handlerChainErr2", aClass.getName()));
}
// If a role was specified, add it to the roles played
if (handlerRoles != null) {
List<org.apache.axis2.jaxws.description.xml.handler.String> soapRolesList =
handlerType.getSoapRole();
Iterator<org.apache.axis2.jaxws.description.xml.handler.String>
soapRolesIterator = soapRolesList.iterator();
while (soapRolesIterator.hasNext()) {
org.apache.axis2.jaxws.description.xml.handler.String soapRoleElement =
soapRolesIterator.next();