Added: 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRDestinationOutputStream.java
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,102 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.servicemix.cxf.transport.nmr;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.dom.DOMSource;
+
+import org.w3c.dom.Document;
+
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.io.CachedOutputStream;
+import org.apache.cxf.message.Message;
+import org.apache.servicemix.nmr.api.Channel;
+import org.apache.servicemix.nmr.api.Exchange;
+
+public class NMRDestinationOutputStream extends CachedOutputStream {
+
+    private static final Logger LOG = 
LogUtils.getL7dLogger(NMRDestinationOutputStream.class);
+    private Message inMessage;
+    private Channel channel;
+    
+    public NMRDestinationOutputStream(Message m,
+                               Channel dc) {
+        super();
+        inMessage = m;
+        channel = dc;
+    }
+    
+    @Override
+    protected void doFlush() throws IOException {
+        // so far do nothing
+    }
+
+    @Override
+    protected void doClose() throws IOException {
+        commitOutputMessage();
+    }
+
+    @Override
+    protected void onWrite() throws IOException {
+        // so far do nothing
+    }
+
+    private void commitOutputMessage() throws IOException {
+        try { 
+            if (inMessage.getExchange().isOneWay()) {
+                return;
+            } else {
+                
+                InputStream bais = getInputStream();
+                LOG.finest(new org.apache.cxf.common.i18n.Message(
+                    "BUILDING.DOCUMENT", LOG).toString());
+                DocumentBuilderFactory docBuilderFactory = 
DocumentBuilderFactory.newInstance();
+                docBuilderFactory.setNamespaceAware(true);
+                DocumentBuilder builder = 
docBuilderFactory.newDocumentBuilder();
+                Document doc = builder.parse(bais);
+            
+                Exchange xchng = inMessage.get(Exchange.class);
+                LOG.fine(new 
org.apache.cxf.common.i18n.Message("CREATE.NORMALIZED.MESSAGE", 
LOG).toString());
+                if (inMessage.getExchange().getOutFaultMessage() != null) {
+                    org.apache.cxf.interceptor.Fault f = 
(org.apache.cxf.interceptor.Fault) inMessage.getContent(Exception.class);
+                    if (f.hasDetails()) {
+                        xchng.getFault().setBody(new DOMSource(doc));
+                    } else {
+                        xchng.setError(f);
+                    }
+                } else {
+                    xchng.getOut().setBody(new DOMSource(doc));
+                    
+                }
+                LOG.fine(new 
org.apache.cxf.common.i18n.Message("POST.DISPATCH", LOG).toString());
+                channel.send(xchng);
+            }
+        } catch (Exception ex) { 
+            LOG.log(Level.SEVERE, new 
org.apache.cxf.common.i18n.Message("ERROR.SEND.MESSAGE", LOG).toString(), ex);
+        }
+    }
+    
+}

Added: 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRMessageHelper.java
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.servicemix.cxf.transport.nmr;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+
+
+
+public final class NMRMessageHelper {
+
+
+    private static final TransformerFactory TRANSFORMER_FACTORY = 
TransformerFactory.newInstance();
+
+    private NMRMessageHelper() {
+        // complete
+    }
+
+    public static InputStream convertMessageToInputStream(Source src) throws 
IOException,
+        TransformerConfigurationException, TransformerException {
+
+        final Transformer transformer = TRANSFORMER_FACTORY.newTransformer();
+
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        StreamResult result = new StreamResult(baos);
+        transformer.transform(src, result);
+        
+        return new ByteArrayInputStream(baos.toByteArray());
+    }
+}

Added: 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/java/org/apache/servicemix/cxf/transport/nmr/NMRTransportFactory.java
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,155 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.servicemix.cxf.transport.nmr;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Logger;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.configuration.Configurer;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.transport.AbstractTransportFactory;
+import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.transport.ConduitInitiator;
+import org.apache.cxf.transport.ConduitInitiatorManager;
+import org.apache.cxf.transport.Destination;
+import org.apache.cxf.transport.DestinationFactory;
+import org.apache.cxf.transport.DestinationFactoryManager;
+import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.servicemix.nmr.api.NMR;
+import org.apache.servicemix.nmr.api.ServiceMixException;
+
+public class NMRTransportFactory extends AbstractTransportFactory implements 
ConduitInitiator,
+    DestinationFactory {
+    
+    public static final String TRANSPORT_ID = 
"http://cxf.apache.org/transports/nmr";;
+    
+    private static final Logger LOG = 
LogUtils.getL7dLogger(NMRTransportFactory.class);
+
+
+    private NMR nmr;
+    private Bus bus;
+    private final Map<String, NMRDestination> destinationMap =  new 
HashMap<String, NMRDestination>();
+    
+
+    private Collection<String> activationNamespaces;
+
+    @Resource
+    public void setBus(Bus b) {
+        bus = b;
+    }
+    
+    public Bus getBus() {
+        return bus;
+    }
+    
+    public Set<String> getUriPrefixes() {
+        return Collections.singleton("nmr");
+    }
+
+    @Resource
+    public void setActivationNamespaces(Collection<String> ans) {
+        activationNamespaces = ans;
+    }
+
+    public NMR getNmr() {
+        return nmr;
+    }
+
+    public void setNmr(NMR nmr) {
+        this.nmr = nmr;
+    }
+
+    @PostConstruct
+    void registerWithBindingManager() {
+        if (null == bus) {
+            return;
+        }
+        ConduitInitiatorManager cim = 
bus.getExtension(ConduitInitiatorManager.class);
+        if (null != cim && null != activationNamespaces) {
+            for (String ns : activationNamespaces) {
+                cim.registerConduitInitiator(ns, this);
+            }
+        }
+        DestinationFactoryManager dfm = 
bus.getExtension(DestinationFactoryManager.class);
+        if (null != dfm && null != activationNamespaces) {
+            for (String ns : activationNamespaces) {
+                dfm.registerDestinationFactory(ns, this);
+            }
+        }
+    }
+
+    
+
+    
+    public Conduit getConduit(EndpointInfo targetInfo) throws IOException {
+        return getConduit(targetInfo, null);
+    }
+
+    public Conduit getConduit(EndpointInfo endpointInfo, EndpointReferenceType 
target) throws IOException {
+        Conduit conduit = new NMRConduit(target, nmr);
+        Configurer configurer = bus.getExtension(Configurer.class);
+        if (null != configurer) {
+            configurer.configureBean(conduit);
+        }
+        return conduit;
+    }
+
+    public Destination getDestination(EndpointInfo ei) throws IOException {
+        NMRDestination destination = new NMRDestination(ei, nmr);
+        Configurer configurer = bus.getExtension(Configurer.class);
+        if (null != configurer) {
+            configurer.configureBean(destination);
+        }
+        try {
+            putDestination(ei.getService().getName().toString()
+                + ei.getInterface().getName().toString(), destination);
+        } catch (ServiceMixException e) {
+            throw new IOException(e.getMessage());
+        }
+        return destination;
+    }
+    
+    public void putDestination(String epName, NMRDestination destination) 
throws ServiceMixException {
+        if (destinationMap.containsKey(epName)) {
+            throw new ServiceMixException("JBIDestination for Endpoint "
+                                   + epName + " already be created");
+        } else {
+            destinationMap.put(epName, destination);
+        }
+    }
+
+    public NMRDestination getDestination(String epName) {
+        return destinationMap.get(epName);
+    }
+    
+    public void removeDestination(String epName) {
+        destinationMap.remove(epName);
+    }
+    
+}

Added: 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/resources/org/apache/servicemix/cxf/transport/nmr/Messages.properties
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/resources/org/apache/servicemix/cxf/transport/nmr/Messages.properties?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/resources/org/apache/servicemix/cxf/transport/nmr/Messages.properties
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/cxf-transport-nmr/src/main/resources/org/apache/servicemix/cxf/transport/nmr/Messages.properties
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,46 @@
+#
+#    Licensed to the Apache Software Foundation (ASF) under one
+#    or more contributor license agreements. See the NOTICE file
+#    distributed with this work for additional information
+#    regarding copyright ownership. The ASF licenses this file
+#    to you under the Apache License, Version 2.0 (the
+#    "License"); you may not use this file except in compliance
+#    with the License. You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing,
+#    software distributed under the License is distributed on an
+#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#    KIND, either express or implied. See the License for the
+#    specific language governing permissions and limitations
+#    under the License.
+#
+NOT.IMPLEMENTED=not yet implemented
+INVOKE.SERVICE=invoking service\t
+CREATE.MESSAGE.EXCHANGE=create message exchange svc:\t
+EXCHANGE.ENDPOINT=exchange endpoint:\t
+NO.MESSAGE=no message yet
+UNABLE.RETRIEVE.MESSAGE=unable to retrieve message
+CONTEXT.MUST.BE=context must be of type JBIOutputStreamMessageContext
+RECEIVED.MESSAGE=received message:\t
+ACTIVE.JBI.SERVER.TRANSPORT=activating JBI server transport
+BUILDING.DOCUMENT=building document from bytes
+CREATE.NORMALIZED.MESSAGE=creating NormalizedMessage
+POST.DISPATCH=postDispatch sending out message to NWR
+ERROR.SEND.MESSAGE=error sending Out message
+DISPATCH.MESSAGE.ON.CALLBACK=dispatching message on callback:\t
+ERROR.PREPARE.MESSAGE=error preparing message
+RECEIVE.THREAD.START=JBIServerTransport message receiving thread started
+DISPATCH.TO.SU=dispatching to CXF service unit
+NO.SU.FOUND=no CXFServiceUnit found
+ERROR.DISPATCH.THREAD=error running dispatch thread
+JBI.SERVER.TRANSPORT.MESSAGE.PROCESS.THREAD.EXIT=JBIServerTransport message 
processing thread exiting
+CONFIG.DELIVERY.CHANNEL=configuring DeliveryChannel:\t
+CONFIG.SU.MANAGER=configuring ServiceUnitManager:\t
+JBI.TRANSPORT.FACTORY.NOT.INITIALIZED=JBITransportFactory is not properly 
initialized
+SU.MANAGER=CXFServiceUnitManager:\t
+DELIVERY.CHANNEL=DeliveryChannel:\t
+JBI.TRANSPORT.FACTORY.NOT.FULLY.INITIALIZED=JBITransport factory not fully 
initialized
+CREATE.SERVER.TRANSPORT=creating JBI server transport
+CREATE.CLIENT.TRANSPORT=creating JBI client transport

Modified: servicemix/smx4/features/trunk/ejb3/deployer/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/pom.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/ejb3/deployer/pom.xml (original)
+++ servicemix/smx4/features/trunk/ejb3/deployer/pom.xml Fri Feb  1 05:44:02 
2008
@@ -41,6 +41,21 @@
             <version>${pom.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.servicemix.ejb3</groupId>
+            <artifactId>org.apache.servicemix.cxf.transport.nmr</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.servicemix.ejb3</groupId>
+            <artifactId>org.apache.servicemix.cxf.binding.nmr</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.servicemix.nmr</groupId>
+            <artifactId>org.apache.servicemix.nmr.api</artifactId>
+            <version>${servicemix.nmr.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.servicemix.bundles</groupId>
             <artifactId>org.apache.servicemix.bundles.jaxb-api-2.0</artifactId>
             <version>${servicemix.nmr.version}</version>
@@ -56,9 +71,14 @@
             <version>${pom.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.servicemix.bundles</groupId>
-            
<artifactId>org.apache.servicemix.bundles.openejb-3.0.0-SNAPSHOT</artifactId>
-            <version>${pom.version}</version>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>openejb-core</artifactId>
+            <version>${openejb.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>openejb-cxf</artifactId>
+            <version>${openejb.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.servicemix.bundles</groupId>
@@ -290,6 +310,17 @@
             <artifactId>geronimo-activation_1.1_spec</artifactId>
             <version>${geronimo.activation.version}</version>
             <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.servicemix.nmr</groupId>
+            <artifactId>org.apache.servicemix.nmr.core</artifactId>
+            <version>${servicemix.nmr.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-bundle</artifactId>
+            <version>${cxf.version}</version>
+            <optional>true</optional>
         </dependency>
     </dependencies>
 

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/CxfService.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/CxfService.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/CxfService.java
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/CxfService.java
 Fri Feb  1 05:44:02 2008
@@ -72,12 +72,14 @@
         }
     }
 
+    @Override
     public void afterApplicationCreated(AppInfo appInfo) {
         System.out.println("CxfService:afterApplicationCreated");
         
Thread.currentThread().setContextClassLoader(Bus.class.getClassLoader());
         super.afterApplicationCreated(appInfo);    //To change body of 
overridden methods use File | Settings | File Templates.
     }
 
+    @Override
     public void beforeApplicationDestroyed(AppInfo appInfo) {
         System.out.println("CxfService:beforeApplicationDestroyed");
         
Thread.currentThread().setContextClassLoader(Bus.class.getClassLoader());

Added: 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrEndpoint.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrEndpoint.java?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrEndpoint.java
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrEndpoint.java
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,100 @@
+package org.apache.servicemix.ejb3.deployer;
+
+import java.util.List;
+
+import javax.xml.ws.WebServiceException;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.binding.soap.SoapBinding;
+import org.apache.cxf.binding.soap.interceptor.MustUnderstandInterceptor;
+import org.apache.cxf.binding.soap.saaj.SAAJInInterceptor;
+import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.interceptor.Interceptor;
+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.http.WSDLQueryHandler;
+import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.core.webservices.PortData;
+import org.apache.openejb.server.cxf.CxfEndpoint;
+import org.apache.openejb.server.cxf.CxfServiceConfiguration;
+import org.apache.openejb.server.cxf.JaxWsImplementorInfoImpl;
+import org.apache.openejb.server.cxf.ejb.EjbMethodInvoker;
+import org.apache.servicemix.cxf.binding.nmr.NMRConstants;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Jan 31, 2008
+ * Time: 1:20:46 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class NmrEndpoint extends CxfEndpoint {
+
+    private DeploymentInfo deploymentInfo;
+
+    public NmrEndpoint(Bus bus, PortData portData, DeploymentInfo 
deploymentInfo) {
+        super(bus, portData, deploymentInfo.getJndiEnc(), 
deploymentInfo.getBeanClass());
+        this.deploymentInfo = deploymentInfo;
+
+        String bindingURI = NMRConstants.NS_NMR_BINDING;
+        implInfo = new JaxWsImplementorInfoImpl((Class) implementor, 
bindingURI);
+
+        serviceFactory = new JaxWsServiceFactoryBean(implInfo);
+        serviceFactory.setBus(bus);
+
+        // install as first to overwrite annotations (wsdl-file, wsdl-port, 
wsdl-service)
+        CxfServiceConfiguration configuration = new 
CxfServiceConfiguration(portData);
+        serviceFactory.getConfigurations().add(0, configuration);
+
+        service = serviceFactory.create();
+    }
+
+    protected Class getImplementorClass() {
+        return (Class) this.implementor;
+    }
+
+    protected void init() {
+        // configure handlers
+        try {
+            initHandlers();
+        } catch (Exception e) {
+            throw new WebServiceException("Error configuring handlers", e);
+        }
+
+        // Set service to invoke the target ejb
+        service.setInvoker(new EjbMethodInvoker(this.bus, deploymentInfo));
+
+        // Remove interceptors that perform handler processing since
+        // handler processing must happen within the EJB container.
+        Endpoint endpoint = getEndpoint();
+        removeHandlerInterceptors(bus.getInInterceptors());
+        removeHandlerInterceptors(endpoint.getInInterceptors());
+        removeHandlerInterceptors(endpoint.getBinding().getInInterceptors());
+        removeHandlerInterceptors(endpoint.getService().getInInterceptors());
+
+        // Install SAAJ interceptor
+        if (endpoint.getBinding() instanceof SoapBinding && 
!this.implInfo.isWebServiceProvider()) {
+            endpoint.getService().getInInterceptors().add(new 
SAAJInInterceptor());
+        }
+
+        WSDLQueryHandler wsdl = new WSDLQueryHandler(bus);
+        wsdl.writeResponse("http://localhost/service?wsdl";, null, 
endpoint.getEndpointInfo(), System.err);
+    }
+
+    private static void removeHandlerInterceptors(List<Interceptor> 
interceptors) {
+        for (Interceptor interceptor : interceptors) {
+            if (interceptor instanceof MustUnderstandInterceptor || 
interceptor instanceof LogicalHandlerInInterceptor || interceptor instanceof 
SOAPHandlerInterceptor) {
+                interceptors.remove(interceptor);
+            }
+        }
+    }
+
+    public void stop() {
+        // call handler preDestroy
+        destroyHandlers();
+
+        // shutdown server
+        super.stop();
+    }
+}

Added: 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrService.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrService.java?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrService.java
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/NmrService.java
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,159 @@
+package org.apache.servicemix.ejb3.deployer;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.Socket;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.binding.BindingFactory;
+import org.apache.cxf.binding.BindingFactoryManager;
+import org.apache.cxf.bus.extension.ExtensionManagerBus;
+import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
+import org.apache.cxf.transport.DestinationFactoryManager;
+import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.DeploymentListener;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
+import org.apache.openejb.assembler.classic.StatelessBeanInfo;
+import org.apache.openejb.core.CoreContainerSystem;
+import org.apache.openejb.core.webservices.PortData;
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.server.SelfManaging;
+import org.apache.openejb.server.ServerService;
+import org.apache.openejb.server.ServiceException;
+import org.apache.openejb.spi.ContainerSystem;
+import org.apache.servicemix.cxf.binding.nmr.NMRBindingFactory;
+import org.apache.servicemix.cxf.binding.nmr.NMRConstants;
+import org.apache.servicemix.cxf.transport.nmr.NMRTransportFactory;
+import org.apache.servicemix.nmr.api.NMR;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Jan 30, 2008
+ * Time: 9:49:07 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class NmrService implements ServerService, SelfManaging, 
DeploymentListener {
+
+    private Assembler assembler;
+    private final Set<AppInfo> deployedApplications = new HashSet<AppInfo>();
+    private NMR nmr;
+    private Map<StatelessBeanInfo, Endpoint> endpoints = new 
HashMap<StatelessBeanInfo, Endpoint>();
+
+    public void start() throws ServiceException {
+        assembler = SystemInstance.get().getComponent(Assembler.class);
+        if (assembler != null) {
+            assembler.addDeploymentListener(this);
+            for (AppInfo appInfo : assembler.getDeployedApplications()) {
+                afterApplicationCreated(appInfo);
+            }
+        }
+    }
+
+    public void stop() throws ServiceException {
+        if (assembler != null) {
+            assembler.removeDeploymentListener(this);
+            for (AppInfo appInfo : new 
ArrayList<AppInfo>(deployedApplications)) {
+                beforeApplicationDestroyed(appInfo);
+            }
+            assembler = null;
+        }
+    }
+
+    public void service(InputStream in, OutputStream out) throws 
ServiceException, IOException {
+        throw new UnsupportedOperationException("NmrService can not be invoked 
directly");
+    }
+
+    public void service(Socket socket) throws ServiceException, IOException {
+        throw new UnsupportedOperationException("NmrService can not be invoked 
directly");
+    }
+
+    public String getName() {
+        return "nmr";
+    }
+
+    public String getIP() {
+        return "n/a";
+    }
+
+    public int getPort() {
+        return -1;
+    }
+
+    public NMR getNmr() {
+        return nmr;
+    }
+
+    public void setNmr(NMR nmr) {
+        this.nmr = nmr;
+    }
+
+    public void init(Properties props) throws Exception {
+    }
+
+    public void afterApplicationCreated(AppInfo appInfo) {
+        if (deployedApplications.add(appInfo)) {
+            System.out.println("Deploying new application to NMR");
+            for (EjbJarInfo ejbJar : appInfo.ejbJars) {
+                for (EnterpriseBeanInfo bean : ejbJar.enterpriseBeans) {
+                    if (bean instanceof StatelessBeanInfo) {
+                        StatelessBeanInfo statelessBeanInfo = 
(StatelessBeanInfo) bean;
+                        Endpoint endpoint = createEndpoint(statelessBeanInfo);
+                        endpoint.publish("nmr://endpoint");
+                        endpoints.put(statelessBeanInfo, endpoint);
+                    }
+                }
+            }
+        }
+    }
+
+    public void beforeApplicationDestroyed(AppInfo appInfo) {
+        if (deployedApplications.remove(appInfo)) {
+            for (EjbJarInfo ejbJar : appInfo.ejbJars) {
+                for (EnterpriseBeanInfo bean : ejbJar.enterpriseBeans) {
+                    if (bean instanceof StatelessBeanInfo) {
+                        StatelessBeanInfo statelessBeanInfo = 
(StatelessBeanInfo) bean;
+                        Endpoint endpoint = 
endpoints.remove(statelessBeanInfo);
+                        endpoint.stop();
+                    }
+                }
+            }
+        }
+    }
+
+    protected Endpoint createEndpoint(StatelessBeanInfo bean) {
+        Bus bus = new ExtensionManagerBus();
+
+        NMRTransportFactory transportFactory = new NMRTransportFactory();
+        transportFactory.setBus(bus);
+        transportFactory.setNmr(nmr);
+        
transportFactory.setTransportIds(Collections.singletonList(NMRTransportFactory.TRANSPORT_ID));
+        DestinationFactoryManager dfm = 
bus.getExtension(DestinationFactoryManager.class);
+        dfm.registerDestinationFactory(NMRTransportFactory.TRANSPORT_ID, 
transportFactory);
+
+        NMRBindingFactory bindingFactory = new NMRBindingFactory();
+        bindingFactory.setBus(bus);
+        BindingFactoryManager bfm = 
bus.getExtension(BindingFactoryManager.class);
+        bfm.registerBindingFactory(NMRConstants.NS_NMR_BINDING, 
bindingFactory);
+        
+        CoreContainerSystem containerSystem = (CoreContainerSystem) 
SystemInstance.get().getComponent(ContainerSystem.class);
+        DeploymentInfo deploymentInfo = 
containerSystem.getDeploymentInfo(bean.ejbDeploymentId);
+        PortData port = new PortData();
+        NmrEndpoint ep = new NmrEndpoint(bus, port, deploymentInfo);
+        return ep;
+    }
+
+}

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/OpenEjbFactory.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/OpenEjbFactory.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/OpenEjbFactory.java
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/java/org/apache/servicemix/ejb3/deployer/OpenEjbFactory.java
 Fri Feb  1 05:44:02 2008
@@ -25,19 +25,19 @@
 import org.apache.openejb.OpenEJB;
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
 import org.apache.openejb.assembler.classic.SecurityServiceInfo;
 import org.apache.openejb.assembler.classic.TransactionServiceInfo;
-import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
+import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
 import org.apache.openejb.assembler.dynamic.PassthroughFactory;
 import org.apache.openejb.core.ServerFederation;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.ri.sp.PseudoSecurityService;
-import org.apache.openejb.server.ServerService;
-import org.apache.openejb.server.ServiceManager;
 import org.apache.openejb.server.SelfManaging;
-import org.apache.openejb.server.ServiceLogger;
+import org.apache.openejb.server.ServerService;
 import org.apache.openejb.server.ServiceAccessController;
 import org.apache.openejb.server.ServiceDaemon;
+import org.apache.openejb.server.ServiceLogger;
 import org.apache.openejb.server.webservices.WsRegistry;
 import org.apache.openejb.spi.ApplicationServer;
 import org.apache.openejb.spi.ContainerSystem;
@@ -45,6 +45,8 @@
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.Messages;
+import org.apache.openejb.util.proxy.Jdk13ProxyFactory;
+import org.apache.openejb.util.proxy.ProxyFactory;
 
 /**
  * Factory for OpenEJB to intitialize everything.
@@ -58,6 +60,7 @@
     private TransactionManager transactionManager;
     private WsRegistry wsRegistry;
     private SecurityService securityService;
+    private ProxyFactory proxyFactory;
     private List<ServerService> serverServices;
 
     static {
@@ -80,6 +83,10 @@
         this.securityService = securityService;
     }
 
+    public void setProxyFactory(ProxyFactory proxyFactory) {
+        this.proxyFactory = proxyFactory;
+    }
+
     public void setServerServices(List<ServerService> serverServices) {
         List<ServerService> services = new ArrayList<ServerService>();
         for (ServerService service : serverServices) {
@@ -121,6 +128,18 @@
         }
         system.setComponent(ContainerSystem.class, containerSystem);
 
+        if (proxyFactory == null)  {
+            proxyFactory = new Jdk13ProxyFactory();
+        }
+        if (proxyFactory != null) {
+            ProxyFactoryInfo proxyFactoryInfo = new ProxyFactoryInfo();
+            PassthroughFactory.add(proxyFactoryInfo, proxyFactory);
+            proxyFactoryInfo.id = "Default Proxy Factory";
+            proxyFactoryInfo.service = "ProxyFactory";
+            assembler.createProxyFactory(proxyFactoryInfo);
+            system.setComponent(ProxyFactory.class, proxyFactory);
+        }
+        
         if (securityService == null) {
             securityService = new PseudoSecurityService();
         }

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/resources/META-INF/spring/openejb-spring.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/main/resources/META-INF/spring/openejb-spring.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/resources/META-INF/spring/openejb-spring.xml
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/main/resources/META-INF/spring/openejb-spring.xml
 Fri Feb  1 05:44:02 2008
@@ -44,6 +44,9 @@
                     <property name="authMethod" value="NONE" />
                     <property name="transportGuarantee" value="NONE" />
                 </bean>
+                <bean class="org.apache.servicemix.ejb3.deployer.NmrService">
+                    <property name="nmr" ref="nmr" />
+                </bean>
             </list>
         </property>
     </bean>
@@ -59,10 +62,15 @@
     <!-- Reference to the transaction manager -->
     <osgi:reference id="transactionManager"
                     interface="javax.transaction.TransactionManager"
-             cardinality="0..1" />
+                    cardinality="0..1" />
+
+    <!-- Reference to the NMR -->
+    <osgi:reference id="nmr"
+                    interface="org.apache.servicemix.nmr.api.NMR"
+                    cardinality="0..1" />
 
     <!-- Reference to the OSGi http service -->
     <osgi:reference id="httpService"
                     interface="org.osgi.service.http.HttpService"
-            cardinality="0..1" />
+                    cardinality="0..1" />
 </beans>

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyService.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyService.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyService.java
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyService.java
 Fri Feb  1 05:44:02 2008
@@ -2,6 +2,7 @@
 
 import javax.ejb.Stateless;
 import javax.jws.WebService;
+import javax.jws.WebMethod;
 
 /**
  * Created by IntelliJ IDEA.
@@ -10,12 +11,14 @@
  * Time: 7:37:05 PM
  * To change this template use File | Settings | File Templates.
  */
[EMAIL PROTECTED]
 @Stateless
[EMAIL PROTECTED]
 public class MyService implements MyServiceItf {
 
-    public String hello(String msg) {
-        return "Hello " + msg + "!";
+    @WebMethod
+
+    public String hello(String s) {
+        return "Hello " + s + "!";
     }
 
 }

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyServiceItf.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyServiceItf.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyServiceItf.java
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/MyServiceItf.java
 Fri Feb  1 05:44:02 2008
@@ -1,6 +1,14 @@
 package org.apache.servicemix.ejb3.deployer;
 
+import javax.jws.WebMethod;
 import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
 
 /**
  * Created by IntelliJ IDEA.
@@ -10,8 +18,26 @@
  * To change this template use File | Settings | File Templates.
  */
 @WebService
[EMAIL PROTECTED](style = SOAPBinding.Style.DOCUMENT)
 public interface MyServiceItf {
 
-    String hello(String ms);
+    @XmlType
+    @XmlAccessorType(XmlAccessType.FIELD)
+    public class HelloRequest {
+        @XmlElement
+        public String message;
+    }
+
+    @XmlType
+    @XmlAccessorType(XmlAccessType.FIELD)
+    public class HelloResponse {
+        @XmlElement
+        public String message;
+    }
+
+    @WebMethod
+    @ResponseWrapper(className = 
"org.apache.servicemix.ejb3.deployer.MyServiceItf$HelloRequest", localName = 
"helloResponse")
+    @RequestWrapper(className = 
"org.apache.servicemix.ejb3.deployer.MyServiceItf$HelloRequest", localName = 
"hello")
+    public String hello(String message);
 
 }

Modified: 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/Test.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/Test.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/Test.java
 (original)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/java/org/apache/servicemix/ejb3/deployer/Test.java
 Fri Feb  1 05:44:02 2008
@@ -1,17 +1,30 @@
 package org.apache.servicemix.ejb3.deployer;
 
+import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Dictionary;
+import java.util.HashMap;
 import java.util.List;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
 
 import junit.framework.TestCase;
+import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
 import org.apache.openejb.server.ServerService;
+import org.apache.servicemix.nmr.api.Channel;
+import org.apache.servicemix.nmr.api.Exchange;
+import org.apache.servicemix.nmr.api.Pattern;
+import org.apache.servicemix.nmr.api.Reference;
+import org.apache.servicemix.nmr.core.ServiceMix;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
 import org.osgi.service.http.NamespaceException;
@@ -25,7 +38,7 @@
  */
 public class Test extends TestCase {
 
-    public void test() throws Exception {
+    public void testWebService() throws Exception {
         System.setProperty("openejb.deployments.classpath", "false");
 
         final List<String> servlets = new ArrayList<String>();
@@ -52,8 +65,12 @@
         factory.setServerServices(services);
         factory.init();
 
-        File f = new File("target/test-classes");
-        URL url = f.getAbsoluteFile().toURL();
+        URL url = getClass().getResource("Test.class");
+        File f = new File(url.toURI());
+        while (!f.getName().equals("test-classes")) {
+            f = f.getParentFile();
+        }
+        url = f.getAbsoluteFile().toURL();
         URLClassLoader cl = new URLClassLoader(new URL[] {url}, 
Test.class.getClassLoader());
         System.out.println(url.toString());
         //new Deployer().deploy(cl, null);
@@ -61,5 +78,46 @@
 
         assertEquals(1, servlets.size());
     }
+
+    public void testEjb() throws Exception {
+        System.setProperty("openejb.deployments.classpath", "false");
+
+        ServiceMix nmr = new ServiceMix();
+        nmr.init();
+
+        OpenEjbFactory factory = new OpenEjbFactory();
+        List<ServerService> services = new ArrayList<ServerService>();
+        NmrService svc = new NmrService();
+        svc.setNmr(nmr);
+        services.add(svc);
+        factory.setServerServices(services);
+        factory.setTransactionManager(new GeronimoTransactionManager());
+        factory.init();
+
+        URL url = getClass().getResource("Test.class");
+        File f = new File(url.toURI());
+        while (!f.getName().equals("test-classes")) {
+            f = f.getParentFile();
+        }
+        url = f.getAbsoluteFile().toURL();
+        URLClassLoader cl = new URLClassLoader(new URL[] {url}, 
Test.class.getClassLoader());
+        System.out.println(url.toString());
+        //new Deployer().deploy(cl, null);
+        new Deployer().deploy(cl, url.toString());
+
+        Channel channel = nmr.createChannel();
+        Reference ref = nmr.getEndpointRegistry().lookup(new HashMap<String, 
Object>());
+        Exchange e = channel.createExchange(Pattern.InOut);
+        e.setTarget(ref);
+        e.setOperation(new 
QName("http://deployer.ejb3.servicemix.apache.org/";, "hello"));
+        e.getIn().setBody(new StreamSource(new 
ByteArrayInputStream("<jbi:message 
xmlns:jbi='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'><jbi:part><hello 
xmlns='http://deployer.ejb3.servicemix.apache.org/'><arg0>world</arg0></hello></jbi:part></jbi:message>".getBytes())));
+        channel.sendSync(e);
+
+        Source src = (Source) e.getOut().getBody();
+        TransformerFactory.newInstance().newTransformer().transform(src, new 
StreamResult(System.err));
+
+        assertEquals(1, nmr.getEndpointRegistry().getServices().size());
+    }
+
 
 }

Added: 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/resources/log4j.properties
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/deployer/src/test/resources/log4j.properties?rev=617498&view=auto
==============================================================================
--- 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/resources/log4j.properties
 (added)
+++ 
servicemix/smx4/features/trunk/ejb3/deployer/src/test/resources/log4j.properties
 Fri Feb  1 05:44:02 2008
@@ -0,0 +1,29 @@
+#
+#    Licensed to the Apache Software Foundation (ASF) under one or more
+#    contributor license agreements.  See the NOTICE file distributed with
+#    this work for additional information regarding copyright ownership.
+#    The ASF licenses this file to You under the Apache License, Version 2.0
+#    (the "License"); you may not use this file except in compliance with
+#    the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+#
+################################################################################
+
+log4j.rootLogger=DEBUG, stdout
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
+
+log4j.logger.org.springframework.osgi=DEBUG
+log4j.logger.org.apache.camel=DEBUG
+log4j.logger.org.apache.servicemix=DEBUG
+
+#log4j.debug=false
\ No newline at end of file

Modified: servicemix/smx4/features/trunk/ejb3/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/ejb3/pom.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/ejb3/pom.xml (original)
+++ servicemix/smx4/features/trunk/ejb3/pom.xml Fri Feb  1 05:44:02 2008
@@ -36,6 +36,8 @@
 
     <modules>
         <module>bundles</module>
+        <module>cxf-transport-nmr</module>
+        <module>cxf-binding-nmr</module>
         <module>deployer</module>
     </modules>
 

Modified: servicemix/smx4/features/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/pom.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- servicemix/smx4/features/trunk/pom.xml (original)
+++ servicemix/smx4/features/trunk/pom.xml Fri Feb  1 05:44:02 2008
@@ -69,7 +69,7 @@
       <commons.logging.version>1.1</commons.logging.version>
       <cxf.version>2.0.4-incubator</cxf.version>
       
<felix.bundlerepository.version>1.1.0-r605854</felix.bundlerepository.version>
-      <felix.compendium.version>0.9.0-r605854</felix.compendium.version>
+      <felix.compendium.version>1.0.0</felix.compendium.version>
       <felix.configadmin.version>0.9.0-r605854</felix.configadmin.version>
       <felix.core.version>1.1.0-r605854</felix.core.version>
       <felix.osgi.version>1.0.0</felix.osgi.version>
@@ -102,15 +102,15 @@
       <junit.version>4.4</junit.version>
       <log4j.version>1.2.14</log4j.version>
       <mina.version>1.1.6-r602102</mina.version>
-      <openejb.version>3.0.0-SNAPSHOT</openejb.version>
+      <openejb.version>3.0-SNAPSHOT</openejb.version>
       <openjpa.version>1.0.1</openjpa.version>
-      <pax.logging.version>1.0-RC2</pax.logging.version>
+      <pax.logging.version>1.0.0</pax.logging.version>
       <pax.runner.version>0.5.5</pax.runner.version>
       <pax.web.version>0.3.1</pax.web.version>
       <servicemix.kernel.version>1.0-m2-SNAPSHOT</servicemix.kernel.version>
       <servicemix.nmr.version>1.0-SNAPSHOT</servicemix.nmr.version>
-      <spring.version>2.5</spring.version>
-      <spring.osgi.version>1.0-rc2</spring.osgi.version>
+      <spring.version>2.5.1</spring.version>
+      <spring.osgi.version>1.0</spring.osgi.version>
       <xstream.version>1.2.2</xstream.version>
       <xbean.version>3.4-SNAPSHOT</xbean.version>
   </properties>
@@ -134,12 +134,6 @@
            <name>Incubator Repository</name>
            <url>http://people.apache.org/repo/m2-incubating-repository</url>
        </repository>
-       <!-- Spring Milestone repo -->
-       <repository>
-           <id>spring-milestone</id>
-           <name>Spring Milestone Repository</name>
-           
<url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
-       </repository>
        <!-- OPS4j repository -->
        <repository>
            <id>ops4j</id>
@@ -155,6 +149,14 @@
           <name>ServiceMix Repository</name>
           <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
       </pluginRepository>
+      <!-- Snapshot repo -->
+      <pluginRepository>
+          <id>snapshots</id>
+          <name>Snapshots Repository</name>
+          <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+          <releases><enabled>false</enabled></releases>
+          <snapshots><enabled>true</enabled></snapshots>
+      </pluginRepository>
   </pluginRepositories>
 
   <dependencyManagement>
@@ -228,6 +230,31 @@
           <groupId>commons-logging</groupId>
           <artifactId>commons-logging</artifactId>
           <version>${commons.logging.version}</version>
+      </dependency>
+      <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-jms_1.1_spec</artifactId>
+          <version>${geronimo.jms.version}</version>
+      </dependency>
+      <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-jta_1.1_spec</artifactId>
+          <version>${geronimo.jta.version}</version>
+      </dependency>
+      <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-servlet_1.5_spec</artifactId>
+          <version>${geronimo.servlet.version}</version>
+      </dependency>
+      <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+          <version>${geronimo.j2ee.connector.version}</version>
+      </dependency>
+      <dependency>
+          <groupId>org.apache.geronimo.specs</groupId>
+          <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
+          <version>${geronimo.j2ee.management.version}</version>
       </dependency>
     </dependencies>
   </dependencyManagement>

Modified: servicemix/smx4/kernel/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/pom.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/pom.xml (original)
+++ servicemix/smx4/kernel/trunk/pom.xml Fri Feb  1 05:44:02 2008
@@ -102,12 +102,6 @@
        </repository>
        <!-- Spring Milestone repo -->
        <repository>
-           <id>spring-milestone</id>
-           <name>Spring Milestone Repository</name>
-           
<url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
-       </repository>
-       <!-- Spring Milestone repo -->
-       <repository>
            <id>ops4j</id>
            <name>OPS4j Repository</name>
            <url>http://repository.ops4j.org/maven2</url>

Modified: 
servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- 
servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java
 (original)
+++ 
servicemix/smx4/nmr/trunk/jbi/deployer/src/main/java/org/apache/servicemix/jbi/deployer/impl/Deployer.java
 Fri Feb  1 05:44:02 2008
@@ -49,7 +49,6 @@
 import org.osgi.service.prefs.PreferencesService;
 import org.springframework.osgi.util.BundleDelegatingClassLoader;
 import org.springframework.osgi.util.OsgiServiceReferenceUtils;
-import org.springframework.osgi.util.OsgiServiceUtils;
 import org.springframework.osgi.util.OsgiStringUtils;
 
 /**
@@ -278,7 +277,7 @@
         String filter = "(" + NAME + "=" + name + ")";
         BundleContext context = getBundleContext();
         ServiceReference reference = 
OsgiServiceReferenceUtils.getServiceReference(context, 
Component.class.getName(), filter);
-        return (Component) OsgiServiceUtils.getService(context, reference);
+        return (Component) context.getService(reference);
     }
 
     protected ClassLoader createComponentClassLoader(ComponentDesc component, 
Bundle bundle) {

Modified: servicemix/smx4/nmr/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/pom.xml?rev=617498&r1=617497&r2=617498&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/pom.xml (original)
+++ servicemix/smx4/nmr/trunk/pom.xml Fri Feb  1 05:44:02 2008
@@ -61,14 +61,14 @@
       <aopalliance.version>1.0</aopalliance.version>
       <asm.version>2.2.3</asm.version>
       <cglib.version>2.1_3</cglib.version>
-      <commons.io.version>1.3.1</commons.io.version>
-      <commons.logging.version>1.1</commons.logging.version>
+      <commons.io.version>1.3.2</commons.io.version>
+      <commons.logging.version>1.1.1</commons.logging.version>
       <felix.configadmin.version>0.9.0-r605854</felix.configadmin.version>
       <felix.main.version>1.1.0-r605854</felix.main.version>
       <felix.plugin.version>1.2.0</felix.plugin.version>
       <felix.framework.version>1.1.0-r605854-patched</felix.framework.version>
       <felix.osgi.version>1.0.0</felix.osgi.version>
-      <felix.compendium.version>0.9.0-r605854</felix.compendium.version>
+      <felix.compendium.version>1.0.0</felix.compendium.version>
       
<felix.bundlerepository.version>1.1.0-r605854</felix.bundlerepository.version>
       <geronimo.activation.version>1.0.1</geronimo.activation.version>
       <geronimo.servlet.version>1.1.1</geronimo.servlet.version>
@@ -78,13 +78,13 @@
       <jline.version>0.9.93</jline.version>
       <log4j.version>1.2.14</log4j.version>
       <mina.version>1.1.6-r602102</mina.version>
-      <pax.logging.version>1.0-RC2</pax.logging.version>
+      <pax.logging.version>1.0</pax.logging.version>
       <smx3.version>3.2.1</smx3.version>
-      <smx.kernel.version>1.0-m1-SNAPSHOT</smx.kernel.version>
-      <spring.osgi.version>1.0-rc2</spring.osgi.version>
-      <spring.version>2.5</spring.version>
+      <smx.kernel.version>1.0-m2-SNAPSHOT</smx.kernel.version>
+      <spring.osgi.version>1.0</spring.osgi.version>
+      <spring.version>2.5.1</spring.version>
       <woodstox.version>3.2.3</woodstox.version>
-      <xbean.version>3.3-SNAPSHOT</xbean.version>
+      <xbean.version>3.3</xbean.version>
       <xstream.version>1.2.2</xstream.version>
   </properties>
 
@@ -112,12 +112,6 @@
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
-       </repository>
-       <!-- Spring Milestone repo -->
-       <repository>
-           <id>spring-milestone</id>
-           <name>Spring Milestone Repository</name>
-           
<url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
        </repository>
    </repositories>
 


Reply via email to