Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/OpenEJBLoginValidator.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/OpenEJBLoginValidator.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/OpenEJBLoginValidator.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/OpenEJBLoginValidator.java Wed Jul 23 17:20:44 2014 @@ -18,18 +18,16 @@ package org.apache.openejb.server.cxf; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.spi.SecurityService; -import org.apache.ws.security.WSPasswordCallback; -import org.apache.ws.security.WSSecurityException; -import org.apache.ws.security.handler.RequestData; -import org.apache.ws.security.message.token.UsernameToken; -import org.apache.ws.security.validate.UsernameTokenValidator; +import org.apache.wss4j.common.ext.WSPasswordCallback; +import org.apache.wss4j.common.ext.WSSecurityException; +import org.apache.wss4j.dom.handler.RequestData; +import org.apache.wss4j.dom.message.token.UsernameToken; +import org.apache.wss4j.dom.validate.UsernameTokenValidator; import javax.security.auth.callback.Callback; import javax.security.auth.login.LoginException; public class OpenEJBLoginValidator extends UsernameTokenValidator { - - @SuppressWarnings("unchecked") @Override protected void verifyDigestPassword(final UsernameToken usernameToken, final RequestData data) throws WSSecurityException { @@ -37,8 +35,7 @@ public class OpenEJBLoginValidator exten super.verifyDigestPassword(usernameToken, data); // get the plain text password - final WSPasswordCallback pwCb = new WSPasswordCallback(usernameToken.getName(), - null, usernameToken.getPasswordType(), WSPasswordCallback.USERNAME_TOKEN, data); + final WSPasswordCallback pwCb = new WSPasswordCallback(usernameToken.getName(), null, usernameToken.getPasswordType(), WSPasswordCallback.USERNAME_TOKEN); try { data.getCallbackHandler().handle(new Callback[]{pwCb}); } catch (Exception e) {
Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java Wed Jul 23 17:20:44 2014 @@ -19,7 +19,7 @@ package org.apache.openejb.server.cxf; import org.apache.cxf.binding.soap.SoapMessage; import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor; import org.apache.cxf.phase.Phase; -import org.apache.ws.security.WSConstants; +import org.apache.wss4j.dom.WSConstants; import javax.xml.namespace.QName; import java.util.HashSet; Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java Wed Jul 23 17:20:44 2014 @@ -26,6 +26,7 @@ import org.apache.cxf.interceptor.Interc import org.apache.cxf.jaxws.handler.logical.LogicalHandlerInInterceptor; import org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor; import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean; +import org.apache.cxf.transport.DestinationFactory; import org.apache.cxf.transport.http.HTTPTransportFactory; import org.apache.openejb.BeanContext; import org.apache.openejb.assembler.classic.util.ServiceConfiguration; @@ -38,7 +39,6 @@ import org.apache.openejb.server.cxf.Jax import javax.xml.ws.WebServiceException; import java.util.List; -import java.util.logging.Level; /** * A web service endpoint which invokes an EJB container. @@ -46,8 +46,8 @@ import java.util.logging.Level; public class EjbEndpoint extends CxfEndpoint { private final BeanContext beanContext; - public EjbEndpoint(Bus bus, PortData portData, BeanContext beanContext, HTTPTransportFactory httpTransportFactory, ServiceConfiguration config) { - super(bus, portData, beanContext.getJndiEnc(), beanContext.getBeanClass(), httpTransportFactory, config); + public EjbEndpoint(Bus bus, PortData portData, BeanContext beanContext, DestinationFactory transportFactory, ServiceConfiguration config) { + super(bus, portData, beanContext.getJndiEnc(), beanContext.getBeanClass(), transportFactory, config); this.beanContext = beanContext; String bindingURI = JaxWsUtils.getBindingURI(portData.getBindingID()); Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMethodInvoker.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMethodInvoker.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMethodInvoker.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMethodInvoker.java Wed Jul 23 17:20:44 2014 @@ -45,42 +45,48 @@ public class EjbMethodInvoker extends Ab private static final Logger log = Logger.getInstance(LogCategory.CXF, EjbMethodInvoker.class); private static final String HANDLER_PROPERTIES = "HandlerProperties"; + private final Object instance; - private BeanContext beanContext; - private Bus bus; + private final BeanContext beanContext; + private final Bus bus; - public EjbMethodInvoker(Bus bus, BeanContext beanContext) { - super((Factory) null); + public EjbMethodInvoker(final Bus bus, final BeanContext beanContext) { + super(null); this.bus = bus; this.beanContext = beanContext; + + Object inst; + try { + inst = beanContext.getBeanClass().newInstance(); + } catch (final Exception e) { + inst = null; + } + this.instance = inst; } - public Object getServiceObject(Exchange context) { - return null; + @Override + public Object getServiceObject(final Exchange context) { + return instance; // just to not get a NPE } - public void releaseServiceObject(Exchange ex, Object obj) { + @Override + public void releaseServiceObject(final Exchange ex, final Object obj) { // do nothing } - protected Object invoke(Exchange exchange, Object serviceObject, Method m, - List<Object> params) { - Object result = null; - - InvocationContext invContext = exchange.get(InvocationContext.class); + @Override + protected Object invoke(final Exchange exchange, final Object serviceObject, + final Method m, final List<Object> params) { + final InvocationContext invContext = exchange.get(InvocationContext.class); if (invContext == null) { - log.debug("PreEJBInvoke"); - result = preEjbInvoke(exchange, serviceObject, m, params); - } else { - log.debug("EJBInvoke"); // calls performInvocation() - result = super.invoke(exchange, serviceObject, m, params); + return preEjbInvoke(exchange, m, params); } - - return result; + return super.invoke(exchange, serviceObject, m, params); } - protected Object performInvocation(Exchange exchange, Object serviceObject, - Method m, Object[] paramArray) throws Exception { + @Override + protected Object performInvocation(final Exchange exchange, final Object serviceObject, + final Method m, final Object[] paramArray) throws Exception { InvocationContext invContext = exchange.get(InvocationContext.class); invContext.setParameters(paramArray); Object res = invContext.proceed(); @@ -96,8 +102,7 @@ public class EjbMethodInvoker extends Ab return res; } - private Object preEjbInvoke(Exchange exchange, Object serviceObject, - Method method, List<Object> params) { + private Object preEjbInvoke(Exchange exchange, Method method, List<Object> params) { EjbMessageContext ctx = new EjbMessageContext(exchange.getInMessage(), Scope.APPLICATION); Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java Wed Jul 23 17:20:44 2014 @@ -18,7 +18,7 @@ package org.apache.openejb.server.cxf.ejb; import org.apache.cxf.Bus; -import org.apache.cxf.transport.http.HTTPTransportFactory; +import org.apache.cxf.transport.DestinationFactory; import org.apache.openejb.BeanContext; import org.apache.openejb.api.internal.Internal; import org.apache.openejb.api.jmx.Description; @@ -45,14 +45,14 @@ public class EjbWsContainer extends CxfW private final BeanContext beanContext; private WsServiceMBean mbean; - public EjbWsContainer(final Bus bus, final HTTPTransportFactory transportFactory, final PortData port, final BeanContext beanContext, final ServiceConfiguration config) { + public EjbWsContainer(final Bus bus, final DestinationFactory transportFactory, final PortData port, final BeanContext beanContext, final ServiceConfiguration config) { super(bus, transportFactory, port, config); if (beanContext == null) throw new NullPointerException("deploymentInfo is null"); this.beanContext = beanContext; } protected EjbEndpoint createEndpoint() { - return new EjbEndpoint(bus, port, beanContext, httpTransportFactory, serviceConfiguration); + return new EjbEndpoint(bus, port, beanContext, transportFactory, serviceConfiguration); } @Override Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java Wed Jul 23 17:20:44 2014 @@ -25,7 +25,7 @@ import org.apache.cxf.jaxws.support.JaxW import org.apache.cxf.resource.DefaultResourceManager; import org.apache.cxf.resource.ResourceManager; import org.apache.cxf.resource.ResourceResolver; -import org.apache.cxf.transport.http.HTTPTransportFactory; +import org.apache.cxf.transport.DestinationFactory; import org.apache.openejb.Injection; import org.apache.openejb.InjectionProcessor; import org.apache.openejb.assembler.classic.util.ServiceConfiguration; @@ -68,7 +68,7 @@ public class PojoEndpoint extends CxfEnd private CreationalContextImpl toClean = null; public PojoEndpoint(ClassLoader loader, Bus bus, PortData port, Context context, Class<?> instance, - HTTPTransportFactory httpTransportFactory, + DestinationFactory httpTransportFactory, Map<String, Object> bindings, ServiceConfiguration config) { super(bus, port, context, instance, httpTransportFactory, config); Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java Wed Jul 23 17:20:44 2014 @@ -18,7 +18,7 @@ package org.apache.openejb.server.cxf.pojo; import org.apache.cxf.Bus; -import org.apache.cxf.transport.http.HTTPTransportFactory; +import org.apache.cxf.transport.DestinationFactory; import org.apache.openejb.api.internal.Internal; import org.apache.openejb.api.jmx.Description; import org.apache.openejb.api.jmx.MBean; @@ -49,7 +49,7 @@ public class PojoWsContainer extends Cxf private final ClassLoader loader; private WsServiceMBean mbean; - public PojoWsContainer(final ClassLoader loader, final HTTPTransportFactory transportFactory, + public PojoWsContainer(final ClassLoader loader, final DestinationFactory transportFactory, final Bus bus, final PortData port, final Context context, final Class target, final Map<String, Object> bdgs, final ServiceConfiguration configuration) { @@ -63,11 +63,11 @@ public class PojoWsContainer extends Cxf @Override protected String getFakeUrl() { - return target.getClass().getName() + "_" + hashCode(); // pojo are not like ejbName: unique + return (Class.class.isInstance(target)? Class.class.cast(target).getName() : target.getClass().getName()) + "_" + hashCode(); // pojo are not like ejbName: unique } protected PojoEndpoint createEndpoint() { - return new PojoEndpoint(loader, bus, port, context, target, httpTransportFactory, bindings, serviceConfiguration); + return new PojoEndpoint(loader, bus, port, context, target, transportFactory, bindings, serviceConfiguration); } @Override Modified: tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CdiHandlersTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CdiHandlersTest.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CdiHandlersTest.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CdiHandlersTest.java Wed Jul 23 17:20:44 2014 @@ -16,6 +16,8 @@ */ package org.apache.openejb.server.cxf; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.frontend.ClientProxy; import org.apache.openejb.jee.WebApp; import org.apache.openejb.junit.ApplicationComposer; import org.apache.openejb.server.cxf.handler.SimpleHandler; @@ -32,6 +34,7 @@ import org.junit.runner.RunWith; import javax.jws.HandlerChain; import javax.jws.WebService; import javax.xml.namespace.QName; +import javax.xml.ws.Endpoint; import javax.xml.ws.Service; import java.net.MalformedURLException; import java.net.URL; @@ -64,9 +67,9 @@ public class CdiHandlersTest { @Test public void checkHandlersAreCDIBeans() throws MalformedURLException { SimpleHandler.reset(); - Service.create(new URL("http://localhost:" + port + "/test/ws?wsdl"), - new QName("http://cxf.server.openejb.apache.org/", "MyHandledWebserviceService")) - .getPort(MyHandledWsApi.class).test(); + final Service service = Service.create(new URL("http://localhost:" + port + "/test/ws?wsdl"), new QName("http://cxf.server.openejb.apache.org/", "MyHandledWebserviceService")); + final MyHandledWsApi servicePort = service.getPort(MyHandledWsApi.class); + servicePort.test(); assertTrue(SimpleHandler.close); assertTrue(SimpleHandler.handled); assertTrue(SimpleHandler.pre); Modified: tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CustomEndpointConfiguratorTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CustomEndpointConfiguratorTest.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CustomEndpointConfiguratorTest.java (original) +++ tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CustomEndpointConfiguratorTest.java Wed Jul 23 17:20:44 2014 @@ -25,8 +25,8 @@ import org.apache.openejb.jee.SingletonB import org.apache.openejb.jee.oejb3.EjbDeployment; import org.apache.openejb.jee.oejb3.OpenejbJar; import org.apache.openejb.junit.ApplicationComposer; -import org.apache.openejb.junit.Configuration; -import org.apache.openejb.junit.Module; +import org.apache.openejb.testing.Configuration; +import org.apache.openejb.testing.Module; import org.junit.Test; import org.junit.runner.RunWith; Modified: tomee/tomee/trunk/tomee/apache-tomee/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/apache-tomee/pom.xml?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/apache-tomee/pom.xml (original) +++ tomee/tomee/trunk/tomee/apache-tomee/pom.xml Wed Jul 23 17:20:44 2014 @@ -237,6 +237,11 @@ <artifactId>openejb-jpa-integration</artifactId> <version>${version.openejb}</version> </dependency> + <dependency> + <groupId>org.apache.xbean</groupId> + <artifactId>xbean-asm5-shaded</artifactId> + <version>${xbeanVersion}</version> + </dependency> </dependencies> <configuration> <classpathScope>runtime</classpathScope> Modified: tomee/tomee/trunk/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java (original) +++ tomee/tomee/trunk/tomee/apache-tomee/src/main/java/org/apache/tomee/RemoteTomEEEJBContainer.java Wed Jul 23 17:20:44 2014 @@ -100,7 +100,16 @@ public class RemoteTomEEEJBContainer ext setProperty(Context.PROVIDER_URL, remoteEjb); }}); - final Deployer deployer = Deployer.class.cast(instance.context.lookup("openejb/DeployerBusinessRemote")); + Deployer deployer = null; + for (int i = 0; i < (properties.containsKey("retries") ? Integer.parseInt(String.class.cast(properties.get("retries"))) : 20); i++) { + deployer = Deployer.class.cast(instance.context.lookup("openejb/DeployerBusinessRemote")); + if (deployer != null) { + break; + } + } + if (deployer == null) { + throw new TomEERemoteEJBContainerException("Can't lookup deployer, eother increse retries or setup it correctly", new IllegalStateException()); + } if (modules instanceof File) { final File file = File.class.cast(modules); Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java (original) +++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEClassLoaderEnricher.java Wed Jul 23 17:20:44 2014 @@ -144,7 +144,7 @@ public final class TomEEClassLoaderEnric {"javax.jms.Queue", null, null}, // JMS {"javax.enterprise.context.ApplicationScoped", null, null}, // CDI {"javax.inject.Inject", null, null}, // CDI - {"javax.ws.rs.Path", "javax.ws.rs.core.Configurable", "You provide JAXRS 2 API in the webapp, we tolerate it to support some advanced feature but if you expect TomEE to provide it you should remove it"}, // JAXRS - commented since we manage to find why jersey-core brings the api! + {"javax.ws.rs.Path", null, null}, {"javax.ejb.EJB", null, null}, // EJB {"javax.annotation.PostConstruct", "javax.annotation.Priority", "You provide javax.annotation API 1.2 so we'll tolerate new classes but it should surely be upgraded in the container"} // javax.annotation }; Modified: tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java (original) +++ tomee/tomee/trunk/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java Wed Jul 23 17:20:44 2014 @@ -100,7 +100,7 @@ public class Installer implements Instal installConfigFiles(); removeTomcatLibJar("annotations-api.jar"); - addJavaeeInEndorsed(); + // addJavaeeInEndorsed(); addTomEEJuli(); addTomEEAdminConfInTomcatUsers(); @@ -185,7 +185,7 @@ public class Installer implements Instal installConfigFiles(); removeTomcatLibJar("annotations-api.jar"); - addJavaeeInEndorsed(); + // addJavaeeInEndorsed(); addTomEEJuli(); // before moveLibs moveLibs(); Modified: tomee/tomee/trunk/tomee/tomee-webapp/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-webapp/pom.xml?rev=1612878&r1=1612877&r2=1612878&view=diff ============================================================================== --- tomee/tomee/trunk/tomee/tomee-webapp/pom.xml (original) +++ tomee/tomee/trunk/tomee/tomee-webapp/pom.xml Wed Jul 23 17:20:44 2014 @@ -134,11 +134,6 @@ <version>${tomcat.version}</version> <scope>provided</scope> </dependency> - <dependency> <!-- will be moved over endorsed dir so simply adding it alone (= not in javaee-api) --> - <groupId>org.apache.geronimo.specs</groupId> - <artifactId>geronimo-jaxb_2.2_spec</artifactId> - <scope>runtime</scope> - </dependency> <dependency> <groupId>org.apache.geronimo.javamail</groupId> <artifactId>geronimo-javamail_1.4_mail</artifactId>
