/** * Returns all ejb descriptors that has a given Class name as * the web service endpoint interface. * It returns an empty array if no ejb is found. */ public EjbDescriptor[] getEjbBySEIName(String className) { ArrayList<EjbDescriptor> ejbList = new ArrayList<EjbDescriptor>(); for (Object ejb : this.getEjbs()) { if (ejb instanceof EjbDescriptor) { EjbDescriptor ejbDesc = (EjbDescriptor)ejb; if (className.equals(ejbDesc.getWebServiceEndpointInterfaceName())) { ejbList.add(ejbDesc); } } } return ejbList.toArray(new EjbDescriptor[ejbList.size()]); }
/** * Returns the full set of business method descriptors I have */ private Set getBusinessMethodDescriptors() { ClassLoader classLoader = getEjbBundleDescriptor().getClassLoader(); Set methods = getLocalRemoteBusinessMethodDescriptors(); try { if (hasWebServiceEndpointInterface()) { addAllInterfaceMethodsIn(methods, classLoader.loadClass(getWebServiceEndpointInterfaceName()), MethodDescriptor.EJB_WEB_SERVICE); } } catch (Throwable t) { _logger.log(Level.SEVERE, "enterprise.deployment.backend.methodClassLoadFailure", new Object[]{"(EjbDescriptor.getBusinessMethodDescriptors())"}); throw new RuntimeException(t); } return methods; }
public void validateEjbEndpoint(WebServiceEndpoint ejbEndpoint) { EjbDescriptor ejbDescriptor = ejbEndpoint.getEjbComponentImpl(); EjbBundleDescriptor bundle = ejbDescriptor.getEjbBundleDescriptor(); WebServicesDescriptor webServices = bundle.getWebServices(); Collection endpoints = webServices.getEndpointsImplementedBy(ejbDescriptor); if( endpoints.size() == 1 ) { if( ejbDescriptor.hasWebServiceEndpointInterface() ) { if(!ejbEndpoint.getServiceEndpointInterface().equals (ejbDescriptor.getWebServiceEndpointInterfaceName())) { String msg = "Ejb " + ejbDescriptor.getName() + " service endpoint interface does not match " + " port component " + ejbEndpoint.getEndpointName(); throw new IllegalStateException(msg); } } else { String msg = "Ejb " + ejbDescriptor.getName() + " must declare <service-endpoint> interface"; throw new IllegalStateException(msg); } } else if( endpoints.size() > 1 ) { String msg = "Ejb " + ejbDescriptor.getName() + " implements " + endpoints.size() + " web service endpoints " + " but must only implement 1"; throw new IllegalStateException(msg); } }
addAllInterfaceMethodsIn(methods, classLoader.loadClass(ejbDescriptor.getWebServiceEndpointInterfaceName()));
addAllInterfaceMethodsIn(methods, classLoader.loadClass(ejbDescriptor.getWebServiceEndpointInterfaceName()));
(ejbDescriptor.getWebServiceEndpointInterfaceName());
if( ejbDescriptor.hasWebServiceEndpointInterface() ) { Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); try { Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); method = TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames);
if( ejbDescriptor.hasWebServiceEndpointInterface() ) { Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); return TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames); try { Class cl = classloader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); method = TypeUtil.getMethod(cl, classloader, getName(), javaParamClassNames);
endpoints.iterator().next(); webServiceEndpointIntf = loader.loadClass (ejbDescriptor.getWebServiceEndpointInterfaceName()); isWebServiceEndpoint = true;
descriptor.getWebServiceEndpointInterfaceName()); appendTextChild(ejbNode, EjbTagNames.EJB_CLASS, descriptor.getEjbClassName());