Java源码示例:com.sun.xml.internal.ws.util.JAXWSUtils

示例1
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例2
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例3
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例4
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例5
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例6
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例7
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例8
public MexEntityResolver(List<? extends Source> wsdls) throws IOException {
    Transformer transformer = XmlUtil.newTransformer();
    for (Source source : wsdls) {
        XMLStreamBufferResult xsbr = new XMLStreamBufferResult();
        try {
            transformer.transform(source, xsbr);
        } catch (TransformerException e) {
            throw new WebServiceException(e);
        }
        String systemId = source.getSystemId();

        //TODO: can we do anything if the given mex Source has no systemId?
        if(systemId != null){
            SDDocumentSource doc = SDDocumentSource.create(JAXWSUtils.getFileOrURL(systemId), xsbr.getXMLStreamBuffer());
            this.wsdls.put(systemId, doc);
        }
    }
}
 
示例9
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例10
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例11
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例12
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例13
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例14
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例15
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例16
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例17
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例18
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例19
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例20
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例21
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例22
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}
 
示例23
public HandlerAnnotationInfo getHandlersForPortInfo(PortInfo info){

        HandlerAnnotationInfo handlerInfo = new HandlerAnnotationInfo();
        List<Handler> handlerClassList = new ArrayList<Handler>();
        Set<String> roles = new HashSet<String>();

        for(HandlerChainType hchain : handlerChains) {
            boolean hchainMatched = false;
            if((!hchain.isConstraintSet()) ||
                    JAXWSUtils.matchQNames(info.getServiceName(), hchain.getServiceNamePattern()) ||
                    JAXWSUtils.matchQNames(info.getPortName(), hchain.getPortNamePattern()) ||
                    hchain.getProtocolBindings().contains(info.getBindingID()) ){
                hchainMatched = true;

            }
            if(hchainMatched) {
                for(HandlerType handler : hchain.getHandlers()) {
                    try {
                        Handler handlerClass = (Handler) loadClass(annotatedClass.getClassLoader(),
                                handler.getHandlerClass()).newInstance();
                        callHandlerPostConstruct(handlerClass);
                        handlerClassList.add(handlerClass);
                    } catch (InstantiationException ie){
                        throw new RuntimeException(ie);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }

                    roles.addAll(handler.getSoapRoles());
                }

            }
        }

        handlerInfo.setHandlers(handlerClassList);
        handlerInfo.setRoles(roles);
        return handlerInfo;

    }
 
示例24
SCAnnotations(final Class<?> sc) {
    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            WebServiceClient wsc =sc.getAnnotation(WebServiceClient.class);
            if(wsc==null) {
                throw new WebServiceException("Service Interface Annotations required, exiting...");
            }

            String tns = wsc.targetNamespace();
            try {
                JAXWSUtils.getFileOrURL(wsc.wsdlLocation());
            } catch (IOException e) {
                // TODO: report a reasonable error message
                throw new WebServiceException(e);
            }

            for (Method method : sc.getDeclaredMethods()) {
                WebEndpoint webEndpoint = method.getAnnotation(WebEndpoint.class);
                if (webEndpoint != null) {
                    String endpointName = webEndpoint.name();
                    QName portQName = new QName(tns, endpointName);
                    portQNames.add(portQName);
                }
                Class<?> seiClazz = method.getReturnType();
                if (seiClazz!=void.class) {
                    classes.add(seiClazz);
                }
            }

            return null;
        }
    });
}