cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject svn commit: r702420 [1/2] - in /cxf/trunk: api/ api/src/main/java/org/apache/cxf/jca/ api/src/main/java/org/apache/cxf/jca/outbound/ distribution/src/main/release/samples/integration/jca/outbound.was61/ distribution/src/main/release/samples/integration...
Date Tue, 07 Oct 2008 10:00:32 GMT
Author: ningjiang
Date: Tue Oct  7 03:00:21 2008
New Revision: 702420

URL: http://svn.apache.org/viewvc?rev=702420&view=rev
Log:
CXF-1841 patch applied with thanks to William

Added:
    cxf/trunk/api/src/main/java/org/apache/cxf/jca/
    cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/
    cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java   (with props)
    cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java   (with props)
    cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java   (with props)
    cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl   (with props)
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java   (with props)
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java   (with props)
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java   (with props)
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ManagedConnectionFactoryImpl.java   (with props)
    cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ManagedConnectionImpl.java   (with props)
Modified:
    cxf/trunk/api/pom.xml
    cxf/trunk/integration/jca/pom.xml

Modified: cxf/trunk/api/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/api/pom.xml?rev=702420&r1=702419&r2=702420&view=diff
==============================================================================
--- cxf/trunk/api/pom.xml (original)
+++ cxf/trunk/api/pom.xml Tue Oct  7 03:00:21 2008
@@ -74,6 +74,10 @@
             <artifactId>geronimo-annotation_1.0_spec</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>wstx-asl</artifactId>
         </dependency>

Added: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java (added)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,50 @@
+/**
+ * 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.cxf.jca.outbound;
+
+/**
+ * A CXFConnection is obtains from {@link CXFConnectionFactory}.  It provides
+ * access to a CXF web service for client to invoke.  The client should close
+ * the CxfConnection when the web service is no longer needed.
+ */
+
+public interface CXFConnection {
+    
+    /**
+     * Retrieves a service object to invoke.  The serviceInterface class must
+     * match the serviceClass in the CXFConnectionSpec that is used to
+     * obtain this CXFConnection.  Application can continue to use the service
+     * object after the the connection has been closed by calling {@link #close()}.
+     * 
+     * @param <T>
+     * @param serviceClass
+     * @return service object
+     * @throws Exception
+     */
+    <T> T getService(Class<T> serviceClass) throws Exception;
+    
+    /**
+     * Closes the connection handle. A caller should not use a closed connection.
+     * 
+     * @throws Exception if an error occurs during close.
+     */
+    void close() throws Exception;
+
+
+}

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnection.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java (added)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,48 @@
+/**
+ * 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.cxf.jca.outbound;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+import javax.resource.ResourceException;
+
+
+/**
+ * Provides methods to create a {@link CXFConnection} object that provides access
+ * to a Web Service defined from the supplied specifications.  A CXFConnectionFactory 
+ * is returned from an environment naming context JNDI lookup by the Application 
+ * Server.
+ */
+public interface CXFConnectionFactory extends Serializable, Referenceable  {
+    
+    /**
+     * Creates a CXFConnection object which allows access to CXF web service based on 
+     * the CXFConnectionSpec object.  Required CXFConnectionSpec fields are wsdlURL, 
+     * serviceClass, endpointName, and serviceName.  Each connection returned by this 
+     * method MUST be closed by calling the {@link CXFConnection#close()} when it is no 
+     * longer needed.  
+     * 
+     * @param spec
+     * @return CXFConnection 
+     * @throws ResourceException
+     */
+    CXFConnection getConnection(CXFConnectionSpec spec) throws ResourceException;
+
+}

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java (added)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,193 @@
+/**
+ * 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.cxf.jca.outbound;
+
+import java.net.URL;
+
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.xml.namespace.QName;
+
+import org.apache.commons.lang.ObjectUtils;
+
+/**
+ *
+ * The CXFConnectionSpec contains properties that needed for obtaining
+ * a {@link CXFConnection}.
+ */
+public class CXFConnectionSpec implements ConnectionRequestInfo {
+        
+    private Class<?> serviceClass;
+    private URL wsdlURL;
+    private URL busConfigURL;
+    private QName serviceName;
+    private QName endpointName;
+    private String address;
+    
+    /**
+     * @return the serviceClass
+     */
+    public Class<?> getServiceClass() {
+        return serviceClass;
+    }
+    /**
+     * @param serviceClass the serviceClass to set
+     */
+    public void setServiceClass(Class<?> serviceClass) {
+        this.serviceClass = serviceClass;
+    }
+    /**
+     * @return the wsdlURL
+     */
+    public URL getWsdlURL() {
+        return wsdlURL;
+    }
+    /**
+     * @param wsdlURL the wsdlURL to set
+     */
+    public void setWsdlURL(URL wsdlURL) {
+        this.wsdlURL = wsdlURL;
+    }
+    /**
+     * @return the busConfigURL
+     */
+    public URL getBusConfigURL() {
+        return busConfigURL;
+    }
+    /**
+     * @param busConfigURL the busConfigURL to set
+     */
+    public void setBusConfigURL(URL busConfigURL) {
+        this.busConfigURL = busConfigURL;
+    }
+    /**
+     * @return the serviceName
+     */
+    public QName getServiceName() {
+        return serviceName;
+    }
+    /**
+     * @param serviceName the serviceName to set
+     */
+    public void setServiceName(QName serviceName) {
+        this.serviceName = serviceName;
+    }
+    /**
+     * @return the endpointName
+     */
+    public QName getEndpointName() {
+        return endpointName;
+    }
+    /**
+     * @param endpointName the endpointName to set
+     */
+    public void setEndpointName(QName endpointName) {
+        this.endpointName = endpointName;
+    }
+    /**
+     * @return the address
+     */
+    public String getAddress() {
+        return address;
+    }
+    /**
+     * @param address the address to set
+     */
+    public void setAddress(String address) {
+        this.address = address;
+    }
+    
+    // Required by JCA Spec 
+    public boolean equals(Object other) {
+        if (!this.getClass().isAssignableFrom(other.getClass())) {
+            return false;
+        }
+        
+        CXFConnectionSpec that = (CXFConnectionSpec)other;
+        
+        if (!ObjectUtils.equals(that.getWsdlURL(), wsdlURL)) {
+            return false;
+        }
+        
+        if (!ObjectUtils.equals(that.getBusConfigURL(), busConfigURL)) {
+            return false;
+        }
+        
+        if (!ObjectUtils.equals(that.getServiceClass(), serviceClass)) {
+            return false;
+        }
+        
+        if (!ObjectUtils.equals(that.getServiceName(), serviceName)) {
+            return false;
+        }
+        
+        if (!ObjectUtils.equals(that.getEndpointName(), endpointName)) {
+            return false;
+        }
+        
+        if (!ObjectUtils.equals(that.getAddress(), address)) {
+            return false;
+        }
+ 
+        return true;
+    }
+
+    // Required by JCA Spec
+    public int hashCode() {
+        int retval = 0;
+        
+        if (wsdlURL != null) {
+            retval += wsdlURL.hashCode();
+        }
+        
+        if (busConfigURL != null) {
+            retval += busConfigURL.hashCode();
+        }
+        
+        if (serviceClass != null) {
+            retval += serviceClass.hashCode();
+        }
+        
+        if (serviceName != null) {
+            retval += serviceName.hashCode();
+        }
+        
+        if (endpointName != null) {
+            retval += endpointName.hashCode();
+        }
+        
+        if (address != null) {
+            retval += address.hashCode();
+        }
+        
+        return retval;
+    
+    }
+
+    public String toString() {
+        StringBuffer buf = new StringBuffer();
+        buf.append("serviceName=" + serviceName);
+        buf.append(",endpointName=" + endpointName);
+        buf.append(",wsdlURL=" + wsdlURL);
+        buf.append(",busConfigURL=" + busConfigURL);
+        buf.append(",serviceClass=" + serviceClass);
+        buf.append(",address=" + address);
+        return buf.toString();
+    }
+    
+}

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/api/src/main/java/org/apache/cxf/jca/outbound/CXFConnectionSpec.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt Tue Oct  7 03:00:21 2008
@@ -0,0 +1,277 @@
+CXF OUTBOUND RESOURCE ADAPTER IBM WEBSPHERE 6.1 SAMPLE
+======================================================
+
+This sample demonstrates the new CXF outbound resource adapter.  Notice that
+it does not use the ra.xml file located in <CXF_HOME>/etc directory as does 
+the old outbound sample.  Instead, it uses the ra.xml file in the sample's 
+etc directory.  You may notice in ra.xml file that the new outbound connect-
+ion classes have a new package name: org.apache.cxf.jca.outbound.  The APIs 
+for new outbound resource adapter use that package name.  
+
+The src/demo/servlet/HelloWorldServlet.java source file illustrates how to 
+invoke the CXF outbound connector APIs.
+
+The RAR deployment descriptor used in this demo is only configured to enable
+outbound connection for clarity.  It is perfectly fine to configure inbound 
+and outbound connector in the same RAR file.
+
+The README.txt (this file) provides detailed instructions to run the sample 
+in IBM WebSphere 6.1.  However, the cxf.rar and helloworld.war files built 
+by this sample can be deployed to other application servers as well.  Please
+consult application server vendor's documentation for instructions to deploy 
+in other application server environment.
+
+In this sample, you will first build a resource adapter RAR file.  Next, you 
+will create a web application and compile a WAR file.  Upon receiving a 
+request, the web application will make outgoing calls to a CXF web service, 
+gather results, and send responses to the client.
+
+The web application is a Servlet that accepts a HTTP request.  It then looks 
+up a CXFConnectoryFactory from the application server's JNDI registry.  The 
+CXFConnectoryFactory is the entry point to gain access to CXF web service.   
+The application calls the getConnection() method and gets back a 
+CXFConnection.  With a CXFConnection, the application can get the web service
+client by calling the getService() method.  The application must close the 
+CXFConnection but the it can continue to use the web service client after the 
+connection has been closed.
+
+The sole parameter to CXFConnectoryFactory.getConnection() method is 
+CXFConnectionSpec.   The following fields of CXFConnectionSpec are required:
+
+serviceName  - the QName of the service
+endpointName - the QName of the endpoint (port name)
+wsdlURL      - the URL of the WSDL
+serviceClass - the service interface class
+
+The following fields of CXFConnectionSpec are optional:
+
+busConfigURL - the URL of the CXF bus configuration.  If this is provided, it
+               overrides the busConfigURL defined (if any) in the 
+               CXFConnectionFactory custom property. (see the next paragraph)
+address      - the transport address
+
+The CXF bus configuration can be configured in CXF resource adapter factory's
+custom property (busConfigURL).  More than one factory can be created for each
+resource adapter.  Each factory has a JNDI name and can have different custom
+property values.  The application can choose to (JNDI) lookup the factory (by
+different JNDI name) it needs and picks up the factory's custom property 
+values.  If busConfigURL in the CXFConnectionSpec is specified during the
+getConnection() call, the value in the CXFConnectionSpec takes precedence over
+the property value of the connection factory custom property.  If no
+busConfigURL value is set in neither CXFConnectionSpec nor connection factory, 
+default bus will be created.
+
+
+Prerequisite
+------------
+
+For IBM WebSphere 6.1, you need to copy <CXF_HOME>/lib/wsdl4j-1.6.2.jar to 
+<WAS_HOME>/AppServer/java/jre/lib/endorsed.  If the "endorsed" directory does
+not exist, create a new one.  You need to restart the WebSphere 6.1 server.
+
+If your environment already includes cxf-manifest.jar on the
+CLASSPATH, and the JDK and ant bin directories on the PATH
+it is not necessary to set the environment as described in
+the samples directory README.  If your environment is not
+properly configured, or if you are planning on using wsdl2java,
+javac, and java to build and run the samples, you must set the
+environment.
+
+
+Building and running the sample using Ant
+-----------------------------------------
+From the base directory of this sample (i.e., where this README file is
+located), the Ant build.xml file can be used to build and run the sample.
+ 
+
+Build the common Servlet base jar
+---------------------------------
+  (Unix)    % cd ../common
+            % ant
+            % cd ../outbound.was
+
+  (Windows) > cd ..\common
+            > ant
+            > cd ..\outbound.was
+
+Build CXF J2C RAR file 
+----------------------
+  (Unix)    % ant generate.rar
+  (Windows) > ant generate.rar
+
+The result RAR file is located in build/classes/lib/cxf.rar
+
+
+Launch the application server
+-----------------------------
+
+The sample requires an application server (IBM WebSphere 6.1).  Make sure 
+you have a running instance of an application server. 
+
+
+Enable Tracing CXF messages (Optional)
+--------------------------------------
+
+To see the full effect of this sample, you will need to enable trace log in
+your application server.
+
+Please consult your vendor documentation on setting tracing and log level.  
+Here are basic instructions to deploy the MDB in WebSphere 6.1.
+
+1. Logon to WebSphere Integrated Solution Console.  The default address is:
+
+   http://<hostname>:9060/ibm/console/login.do
+
+2. Navigate to tree menu: Servers -> Application Servers 
+
+3. On the Application servers page, click of the target server (e.g. server1).
+   We will refer the target server as "server1" thereafter.  Please subsitute
+   for a suitable server name in your environment.
+
+4. On the next page (Application servers -> server1 in the Configuration tab)
+   and under Troubleshooting, click on Logging and Tracing.
+
+5. On the Logging and Tracking page, click on Change Log Detail Levels.
+
+6. On the next page, click on the Runtime tab.
+
+7. On the next page, check the "Save runtime changes to configuration as well"
+   box.  Enter the following in the textbox and then click OK.
+
+   *=info: org.apache.cxf.*=finest
+
+The trace log is located in:
+
+   <WebSphere install>/AppServer/profiles/AppSrv01/logs/server/trace.log.
+
+Please remember to remove the "org.apache.cxf.*=finest" entry in a production
+environment.
+
+Deploy the CXF JCA Connector
+-----------------------------
+
+The CXF JCA Connector must be deployed to the application server before 
+running the sample.  The JCA Connector used in this sample has a unique
+deployment descriptor (ra.xml) to demonstrate the direct invocation of
+service implementation resides in the Message Driven Bean.  Therefore, the 
+JCA Connector in this sample cannot be used by other JCA samples.  Please
+make sure there is no other CXF JCA Connector deployed into the application
+server.
+
+Please consult your vendor documentation on Resource Adapter deployment. 
+Here are basic instructions to deploy the CXF JCA connector in WebSphere 6.1.
+
+1. Logon to WebSphere Integrated Solution Console.  The default address is:
+
+   http://<hostname>:9060/ibm/console/login.do
+
+2. Navigate to tree menu: Resources -> Resource adapters -> Resource adapters
+
+3. On the Resource adapters page, click the "Install RAR" button.
+
+4. On the Install RAR File page, select the "Local path" radio button if the
+   browser that you are running is on the same machine as the WebSphere server.
+   Otherwise, select the "Server path" radio button.  Specify or browse to the
+   path build/lib/cxf.rar file of this sample.  Then, click the "Next" button.
+
+5. On the next page, click the "OK" button to install the Resource Adapter.
+
+6. On the next page, click the "CXF JCA Connector" link to edit the Resource
+   Adatper.
+
+7. On the "Configuration" page, click the "J2C connection factories"
+   link.  
+
+8. On the next page, click the "New" button to create a new connection
+   factory.
+
+9. On the next page, enter "CXFConnectionFactory" in the Name textbox and click
+   the "OK" button.
+   
+   Notice that the JNDI name is optional.  If it is omitted, a JNDI name
+   is created for you as eis/<ConnectionFactory> where <ConnectionFactory>
+   is "CXFConnectionFactory" above.  Basically, you can name the factory
+   anything as long as your application knows the JNDI name to look it up.
+
+10. Finally, click the "Save" link to commit the configuration.
+
+
+Building the Web Application
+----------------------------
+
+Issue the command:
+
+  (Unix)    % ant
+  (Windows) > ant
+
+The output WAR file can be found in build/lib/helloworld.war.
+
+
+Deploying the Web Applicatin
+----------------------------
+
+Please consult your vendor documentation on WAR file deployment.  Here are 
+basic instructions to deploy the MDB in WebSphere 6.1.
+
+1. Logon to WebSphere Integrated Solution Console.  The default address is:
+
+   http://<hostname>:9060/ibm/console/login.do
+
+2. Navigate to tree menu: Applications -> Install new Applications
+
+3. On the "Preparing for the application installation" page, select the "Local 
+   path" radio button if the browser that you are running is on the same 
+   machine as the WebSphere server.  Otherwise, select the "Server path" radio
+   button.  Specify or browse to the path helloworld.war file in this sample.
+
+   Enter "helloworld" in the Context root textbox.  Then, click the "Next" 
+   button.
+
+4. Click the "Next" button on the "Step 1: Select installation options" page.
+
+5. Click the "Next" button on the "Step 2: Map modules to servers" page.
+
+6. On the "Step 3. Map resource references to resources" page, Enter the follow
+   in the "Target Resource JNDI Name" and then click Next.
+
+   eis/CXFConnectionFactory
+
+7. On the "Step 4. Map virtual hosts for Web modules" page, click Next.
+
+8. On the "Step 5. Summary" page, click Finish.
+
+9. Finally, click the "Save" link to commit the configuration.
+
+10. Navigate to tree menu: Applications -> Enterprise Applications
+
+11. Select the box next to "helloworld_war" and click the "Start" button at 
+    the top to start the application.
+
+
+Running the Demo
+----------------
+
+Start the server in samples/wsdl_first by running:
+
+    Change directory to ../../../wsdl_first
+    ant server
+
+Notice that the server will timeout and stop itself after a few minutes.
+
+Next, run the client:
+
+    ant client
+
+NOTE: the URL in demo.client.Client.jar needs to be adjusted for other app
+      server
+
+This will launch the client submitted a HTTP request to the Servlet hosted by
+the application server.  The Servlet obtained a CXFConnection.  And, from
+the connection, it obtained a web service client.  The Servlet invoked the
+The web server.  It gathered the result and replied to the client.
+
+The following output is observed from the client.
+
+client:
+     [java]  server return: Hi  CXF from an EJB
+

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/README.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml Tue Oct  7 03:00:21 2008
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<!--
+  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.
+-->
+
+<project name="JCA Outbound WAS 6.1 Sample" default="build" basedir=".">
+
+    <property environment="env"/>
+    <condition property="cxf.home" value="${env.CXF_HOME}">
+        <isset property="env.CXF_HOME"/>
+    </condition>
+
+    <fail message="this sample need to use CXF_HOME enviroment, please setup CXF_HOME in your environment" unless="cxf.home"/>
+
+    <property name="wsdl.dir" value="${basedir}/etc/wsdl"/>
+    <property name="wsdl.location" value="${wsdl.dir}/hello_world.wsdl"/>
+    <property name="war.name" value="helloworld.war"/>
+    <property name="j2ee.resources.dir" location="${basedir}/../common/resources"/>
+
+    <property environment="env"/>
+    <condition property="module.jar.dir" value="${env.CXF_HOME}/modules" else="${env.CXF_HOME}/lib">
+        <available file="${env.CXF_HOME}/modules" type="dir"/>
+    </condition>
+    <condition property="integration.jar.dir" value="${env.CXF_HOME}/modules/integration" else="${env.CXF_HOME}/lib">
+        <available file="${env.CXF_HOME}/modules/integration" type="dir"/>
+    </condition>
+    
+    <import file="../../../common_build.xml"/>
+ 
+    <path id="thirdParth.classpath">
+        <pathelement location="${basedir}/../common/common.jar"/>
+    </path>
+
+    <path id="other.classpath">
+        <pathelement location="${cxf.home}/lib/geronimo-servlet_2.5_spec-1.2-M1.jar"/>
+        <pathelement location="${cxf.home}/lib/geronimo-j2ee-connector_1.5_spec-2.0.0.jar"/>
+        <pathelement location="${basedir}/../common/common.jar"/>
+        <fileset dir="${integration.jar.dir}" >  
+             <include name="cxf-integration-jca-*.jar"/>
+        </fileset>
+    </path>
+    
+    <target name="init">
+        <mkdir dir="${build.classes.dir}"/>
+        <mkdir dir="${build.src.dir}"/> 
+        <mkdir dir="${build.classes.dir}/lib"/>
+    </target>
+
+
+    <target name="generate.rar" depends="init">
+        <copy file="${basedir}/etc/ra.xml" todir="${build.classes.dir}/cxf-rar/META-INF"/>
+
+        <copy todir="${build.classes.dir}/cxf-rar" failonerror="no">
+            <fileset dir="${cxf.home}/lib">
+                <include name="*.jar"/>
+                <exclude name="*manifest*.jar"/>
+                <exclude name="*-jbi-*.jar"/>
+            </fileset>
+            <fileset dir="${module.jar.dir}">
+                <include name="cxf*.jar"/>
+                <exclude name="*manifest*.jar"/>
+                <exclude name="*-jbi-*.jar"/>
+            </fileset>
+            <fileset dir="${integration.jar.dir}">
+                <include name="*-jca-*.jar"/>
+                <exclude name="*-jbi-*.jar"/>
+            </fileset>
+        </copy>
+        <jar destfile="${build.classes.dir}/lib/cxf.rar"
+         basedir="${build.classes.dir}/cxf-rar"/>
+    </target>
+  
+    <target name="j2ee.compile" depends="maybe.generate.code">
+        <javac destdir="${build.classes.dir}" debug="true">
+            <src path="${build.src.dir}"/>
+            <src path="${basedir}/src"/>
+            <classpath>
+                <path refid="cxf.classpath"/>
+                <path refid="other.classpath"/>
+            </classpath>
+        </javac>
+
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${build.src.dir}" includes="**/*.xml" />
+            <fileset dir="${build.src.dir}" includes="**/*.wsdl" />
+        </copy>
+    </target>
+
+    <target name="build" description="compile the code" depends="init,j2ee.compile,build-war"/>
+
+    <target name="generate.code">
+        <echo level="info" message="Generating code using wsdl2java..."/>
+        <wsdl2java file="hello_world.wsdl"/>
+    </target>
+
+     <target name="clean">
+        <delete dir="${build.dir}"/>
+    </target>
+
+    <target name="build-war">
+        <copy file="${wsdl.location}" todir="${basedir}/src" />
+
+        <mkdir dir="./build/lib"/>
+        <mkdir dir="./build/classes/wsdl"/>
+        <mkdir dir="./build/classes/etc"/>
+        <copy file="${wsdl.location}" todir="${basedir}/build/classes/wsdl"/>
+        <copy file="${basedir}/etc/cxf_client.xml" todir="${basedir}/build/classes/etc"/>
+        <war destfile="build/lib/${war.name}" webxml="${basedir}/etc/web.xml">
+            <lib dir="../common/">
+                <include name="common.jar"/>
+            </lib>
+
+            <classes dir="${build.classes.dir}">
+                <include name="**/servlet/*.class"/>
+                <include name="**/hello_world_soap_http/*.class"/>
+                <include name="**/hello_world_soap_http/types/*.class"/>
+                <include name="**/*.wsdl"/>
+                <include name="**/cxf_client.xml"/>
+            </classes>
+
+            <zipfileset dir="${j2ee.resources.dir}/images" prefix="images">
+                <include name="*.gif" />
+            </zipfileset>
+
+            <zipfileset dir="${j2ee.resources.dir}">
+                <include name="*.css" />
+            </zipfileset>
+
+        </war>
+    </target>
+
+    <target name="client" description="run demo client" depends="build">
+        <property name="param" value=""/>
+        <cxfrun classname="demo.client.Client" param1="${op}"/>
+    </target>
+
+
+
+</project>

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/build.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml Tue Oct  7 03:00:21 2008
@@ -0,0 +1,29 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xmlns:cxf="http://cxf.apache.org/core"
+      xsi:schemaLocation="
+      http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
+      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
+
+    <!--
+        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.
+    -->
+
+    <cxf:bus>
+        <cxf:features>
+            <cxf:logging/>
+        </cxf:features>
+    </cxf:bus> 
+</beans>

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/cxf_client.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml Tue Oct  7 03:00:21 2008
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <!--
+        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.
+    -->
+<connector xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java/sun.com/xml/ns/j2ee/connector_1_5.xsd"
+    version="1.5">
+    <display-name>CXFConnector</display-name>
+    <vendor-name>Apache</vendor-name>
+    <eis-type>CXF</eis-type>
+    <resourceadapter-version>2.0</resourceadapter-version>
+    <license>
+        <license-required>false</license-required>
+    </license>
+    <resourceadapter>
+        <resourceadapter-class>
+            org.apache.cxf.jca.cxf.ResourceAdapterImpl
+        </resourceadapter-class>
+        <outbound-resourceadapter>
+            <connection-definition>
+                <managedconnectionfactory-class>
+                    org.apache.cxf.jca.outbound.ManagedConnectionFactoryImpl
+                </managedconnectionfactory-class>
+                <connectionfactory-interface>
+                    org.apache.cxf.jca.outbound.CXFConnectionFactory
+                </connectionfactory-interface>
+                <connectionfactory-impl-class>
+                    org.apache.cxf.jca.outbound.ConnectionFactoryImpl
+                </connectionfactory-impl-class>
+                <connection-interface>
+                    org.apache.cxf.jca.outbound.CXFConnection
+                </connection-interface>
+                <connection-impl-class>
+                    org.apache.cxf.jca.outbound.ManagedConnectionImpl
+                </connection-impl-class>
+            </connection-definition>
+            <transaction-support>NoTransaction
+            </transaction-support>
+            <authentication-mechanism>
+                <authentication-mechanism-type>BasicPassword
+                </authentication-mechanism-type>
+                <credential-interface>
+                    javax.resource.spi.security.PasswordCredential
+                </credential-interface>
+            </authentication-mechanism>
+            <reauthentication-support>false
+            </reauthentication-support>
+        </outbound-resourceadapter>
+    </resourceadapter>
+</connector>

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/ra.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml Tue Oct  7 03:00:21 2008
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+  <servlet>
+    <servlet-name>HelloWorldServlet</servlet-name>
+    <servlet-class>demo.servlet.HelloWorldServlet</servlet-class>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>HelloWorldServlet</servlet-name>
+    <url-pattern>*.do</url-pattern>
+  </servlet-mapping>
+ 
+  <resource-ref>
+    <res-ref-name>eis/CXFConnectionFactory</res-ref-name>
+    <res-type>org.apache.cxf.jca.outbound.CXFConnectionFactory</res-type>
+    <res-auth>Container</res-auth>
+  </resource-ref>
+
+</web-app>

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/web.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl Tue Oct  7 03:00:21 2008
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://apache.org/hello_world_soap_http"
+    xmlns:x1="http://apache.org/hello_world_soap_http/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <wsdl:types>
+        <schema targetNamespace="http://apache.org/hello_world_soap_http/types" 
+            xmlns="http://www.w3.org/2001/XMLSchema"
+	    xmlns:tns="http://apache.org/hello_world_soap_http/types"
+            elementFormDefault="qualified">
+	    <simpleType name="MyStringType">
+		<restriction base="string">
+		    <maxLength value="30" />
+		</restriction>
+	    </simpleType>
+
+            <element name="sayHi">
+                <complexType/>
+            </element>
+            <element name="sayHiResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMe">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="tns:MyStringType"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeOneWay">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="pingMe">
+                <complexType/>
+            </element>
+            <element name="pingMeResponse">
+                <complexType/>
+            </element>
+            <element name="faultDetail">
+                <complexType>
+                    <sequence>
+                        <element name="minor" type="short"/>
+                        <element name="major" type="short"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+    </wsdl:types>
+    <wsdl:message name="sayHiRequest">
+        <wsdl:part element="x1:sayHi" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="sayHiResponse">
+        <wsdl:part element="x1:sayHiResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part element="x1:greetMe" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part element="x1:greetMeResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeOneWayRequest">
+        <wsdl:part element="x1:greetMeOneWay" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeRequest">
+        <wsdl:part name="in" element="x1:pingMe"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeResponse">
+        <wsdl:part name="out" element="x1:pingMeResponse"/>
+    </wsdl:message>		
+    <wsdl:message name="pingMeFault">
+        <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+    </wsdl:message>
+    
+    <wsdl:portType name="Greeter">
+        <wsdl:operation name="sayHi">
+            <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+            <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMe">
+            <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
+            <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMeOneWay">
+            <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
+            <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
+            <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+        </wsdl:operation> 
+    </wsdl:portType>
+    <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        
+        <wsdl:operation name="sayHi">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="sayHiRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="sayHiResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMe">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="greetMeResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMeOneWay">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeOneWayRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        
+    </wsdl:binding>
+    <wsdl:service name="SOAPService">
+        <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
+            <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
+

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/etc/wsdl/hello_world.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,108 @@
+/**
+ * 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 demo.client;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class Client {
+
+    protected Client() {
+    }
+
+
+    public static void main(String[] args) throws Exception {
+
+        invokeServlet("sayHi", null);
+        invokeServlet("greetMe", "CXF");
+    }
+
+    public static void invokeServlet(String op, String user) throws Exception {
+        boolean isSayHi = true;
+        try {
+            if (!"sayHi".equals(op)) {
+                isSayHi = false;
+            }
+
+            /*
+             * Default port for JBoss is 8080
+             * URL url = new URL("http://localhost:8080/helloworld/*.do");
+             */
+            URL url = new URL("http://localhost:9080/helloworld/*.do");
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+
+            conn.setRequestMethod("POST");
+            conn.setDoOutput(true);
+                
+            BufferedWriter out =
+                    new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
+                
+            out.write("Operation=" + op);
+            if (!isSayHi) {
+                out.write("&User=" + user);                
+            }
+            out.flush();
+            out.close();
+                
+            BufferedReader in =
+                new BufferedReader(new InputStreamReader(conn.getInputStream()));
+            
+            boolean correctReturn = false;
+            String response;
+            if (isSayHi) {
+                while ((response = in.readLine()) != null) {
+                    
+                    if (response.contains("Bonjour")) {
+                        System.out.println(" sayHi server return: Bonjour");
+                        correctReturn = true;
+                        break;
+                    }
+                }
+            } else {
+                while ((response = in.readLine()) != null) {
+                    if (response.contains("Hello CXF")) {
+                        System.out.println(" greetMe server return: Hello CXF");
+                        correctReturn = true;
+                        break;
+                    }
+                }
+            }
+
+            if (!correctReturn) {
+                System.out.println("Can't got correct return from server.");
+            }
+            
+            in.close();
+            
+        } catch (MalformedURLException ex) {
+            ex.printStackTrace();
+        } catch (IOException ex) {
+            ex.printStackTrace();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/client/Client.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,148 @@
+/**
+ * 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 demo.servlet;
+
+import java.io.PrintWriter;
+import java.util.Map;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.resource.ResourceException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+
+import org.apache.cxf.jca.outbound.CXFConnection;
+import org.apache.cxf.jca.outbound.CXFConnectionFactory;
+import org.apache.cxf.jca.outbound.CXFConnectionSpec;
+import org.apache.hello_world_soap_http.Greeter;
+
+public class HelloWorldServlet extends DemoServletBase {
+
+    private static final String EIS_JNDI_NAME = "java:comp/env/eis/CXFConnectionFactory";
+
+    private String operationName; 
+    private String userName; 
+
+    public HelloWorldServlet() {
+        super("J2EE Connector Hello World Demo");
+    }
+
+    public void doGet(HttpServletRequest req, HttpServletResponse resp) {
+        try { 
+            operationName = req.getParameter("Operation"); 
+            userName = req.getParameter("User"); 
+            super.doGet(req, resp);
+        } finally { 
+            operationName = null; 
+        } 
+    }
+
+
+    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
+        doGet(req, resp);
+    }
+
+    /** 
+     * get a connection to the SOAP service
+     */ 
+    protected CXFConnection getServiceConnection() throws NamingException, ResourceException {
+
+
+        // retrieve the connection factory from JNDI 
+        //
+        Context ctx = new InitialContext();
+        CXFConnectionFactory factory = (CXFConnectionFactory)ctx.lookup(EIS_JNDI_NAME);
+
+        // create the connection 
+        //
+        CXFConnectionSpec spec = new CXFConnectionSpec();
+        spec.setWsdlURL(getClass().getResource("/wsdl/hello_world.wsdl"));
+        spec.setBusConfigURL(getClass().getResource("/etc/cxf_client.xml"));
+        spec.setServiceName(new QName("http://apache.org/hello_world_soap_http", "SOAPService"));
+        spec.setEndpointName(new QName("http://apache.org/hello_world_soap_http", "SoapPort"));
+        spec.setServiceClass(Greeter.class);
+        return factory.getConnection(spec);
+    }
+
+    protected void writeMainBody(PrintWriter writer) {
+        operationForm(writer);
+        writer.println("&nbsp;&nbsp;" + getResponseFromWebService());
+    }
+
+    protected void operationForm(PrintWriter writer) {
+
+        writer.println("<TABLE ALIGN=\"center\">");
+        writer.println("<FORM ACTION=\"./*.do\" METHOD=GET>");
+        writer.println("<TR><TD><b>Operation:</b><BR>");
+        writer.println("<TR><TD>");   
+        writer.println("<INPUT TYPE=RADIO NAME=\"Operation\" VALUE=\"sayHi\"" 
+            + ("sayHi".equals(operationName) ? " CHECKED " : "") +  "> sayHi<BR>");
+        writer.println("<TR><TD>");
+        writer.println("<INPUT TYPE=RADIO NAME=\"Operation\" VALUE=\"greetMe\""
+            + ("greetMe".equals(operationName) ? "  CHECKED " : "") + "> greetMe ");
+        writer.println("<INPUT TYPE=TEXT NAME=\"User\" VALUE=\""
+            + ("greetMe".equals(operationName) ? userName : "") + "\" SIZE=20><BR>");
+        writer.println("<TR><TD>");
+        writer.println("<INPUT TYPE=SUBMIT VALUE=\"Submit\"><BR></p>");
+        writer.println("</FORM>");
+        writer.println("</TABLE>");
+    }
+
+
+    String getResponseFromWebService() {
+
+        String responseFromWebService = "No message sent";
+
+        CXFConnection connection = null;
+        try {
+            connection = getServiceConnection();
+            Greeter greeter = connection.getService(Greeter.class);
+            
+            if (operationName != null) {
+                if ("sayHi".equals(operationName)) {
+                    responseFromWebService = greeter.sayHi();
+                } else if ("greetMe".equals(operationName)) {
+                    responseFromWebService = greeter.greetMe(userName);
+                }
+            }
+
+            Map<String, Object> requestContext = ((BindingProvider)greeter).getRequestContext(); 
+            System.out.println("requestContext = " + requestContext);
+            
+        } catch (Exception e) {
+            e.printStackTrace();
+            if (e.getCause() != null) { 
+                e.getCause().printStackTrace(); 
+            } 
+            responseFromWebService = e.toString();
+        } finally { 
+            try {
+                if (connection != null) {
+                    connection.close();
+                }
+            } catch (Exception e) {
+                // report error from close
+            }
+        } 
+        return responseFromWebService; 
+    }
+}

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/demo/servlet/HelloWorldServlet.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl?rev=702420&view=auto
==============================================================================
--- cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl (added)
+++ cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl Tue Oct  7 03:00:21 2008
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world_soap_http" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://apache.org/hello_world_soap_http"
+    xmlns:x1="http://apache.org/hello_world_soap_http/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+    <wsdl:types>
+        <schema targetNamespace="http://apache.org/hello_world_soap_http/types" 
+            xmlns="http://www.w3.org/2001/XMLSchema"
+	    xmlns:tns="http://apache.org/hello_world_soap_http/types"
+            elementFormDefault="qualified">
+	    <simpleType name="MyStringType">
+		<restriction base="string">
+		    <maxLength value="30" />
+		</restriction>
+	    </simpleType>
+
+            <element name="sayHi">
+                <complexType/>
+            </element>
+            <element name="sayHiResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMe">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="tns:MyStringType"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeOneWay">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="pingMe">
+                <complexType/>
+            </element>
+            <element name="pingMeResponse">
+                <complexType/>
+            </element>
+            <element name="faultDetail">
+                <complexType>
+                    <sequence>
+                        <element name="minor" type="short"/>
+                        <element name="major" type="short"/>
+                    </sequence>
+                </complexType>
+            </element>
+        </schema>
+    </wsdl:types>
+    <wsdl:message name="sayHiRequest">
+        <wsdl:part element="x1:sayHi" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="sayHiResponse">
+        <wsdl:part element="x1:sayHiResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part element="x1:greetMe" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part element="x1:greetMeResponse" name="out"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeOneWayRequest">
+        <wsdl:part element="x1:greetMeOneWay" name="in"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeRequest">
+        <wsdl:part name="in" element="x1:pingMe"/>
+    </wsdl:message>
+    <wsdl:message name="pingMeResponse">
+        <wsdl:part name="out" element="x1:pingMeResponse"/>
+    </wsdl:message>		
+    <wsdl:message name="pingMeFault">
+        <wsdl:part name="faultDetail" element="x1:faultDetail"/>
+    </wsdl:message>
+    
+    <wsdl:portType name="Greeter">
+        <wsdl:operation name="sayHi">
+            <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
+            <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMe">
+            <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
+            <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMeOneWay">
+            <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
+            <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
+            <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
+        </wsdl:operation> 
+    </wsdl:portType>
+    <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        
+        <wsdl:operation name="sayHi">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="sayHiRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="sayHiResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMe">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output name="greetMeResponse">
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        
+        <wsdl:operation name="greetMeOneWay">
+            <soap:operation soapAction="" style="document"/>
+            <wsdl:input name="greetMeOneWayRequest">
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+
+        <wsdl:operation name="pingMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="pingMeFault">
+                <soap:fault name="pingMeFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        
+    </wsdl:binding>
+    <wsdl:service name="SOAPService">
+        <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
+            <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
+

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: cxf/trunk/distribution/src/main/release/samples/integration/jca/outbound.was61/src/hello_world.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: cxf/trunk/integration/jca/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/integration/jca/pom.xml?rev=702420&r1=702419&r2=702420&view=diff
==============================================================================
--- cxf/trunk/integration/jca/pom.xml (original)
+++ cxf/trunk/integration/jca/pom.xml Tue Oct  7 03:00:21 2008
@@ -113,12 +113,6 @@
 
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-ejb_3.0_spec</artifactId>
             <scope>provided</scope>
         </dependency>

Added: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java
URL: http://svn.apache.org/viewvc/cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java (added)
+++ cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,60 @@
+/**
+ * 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.cxf.jca.outbound;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ManagedConnectionMetaData;
+
+/**
+ * CXF Managed Connection MetaData
+ */
+public class CXFManagedConnectionMetaData implements ManagedConnectionMetaData {
+
+    private String userName;
+
+    /**
+     * @param userName
+     */
+    public CXFManagedConnectionMetaData(String userName) {
+        this.userName = userName;
+    }
+
+
+    public String getEISProductName() throws ResourceException {
+        return "Apache CXF";
+    }
+
+ 
+    public String getEISProductVersion() throws ResourceException {
+        return "2.0";
+    }
+
+    /*
+     * Don't have a hard limit
+     */
+    public int getMaxConnections() throws ResourceException {
+        return -1;
+    }
+
+ 
+    public String getUserName() throws ResourceException {
+        return userName;
+    }
+
+}

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/CXFManagedConnectionMetaData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java (added)
+++ cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,56 @@
+/**
+ * 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.cxf.jca.outbound;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ManagedConnectionFactory;
+
+/**
+ * Implement ConnectionFactory that delegate allocation of connection
+ * to {@link ConnectionManager}.
+ */
+public class ConnectionFactoryImpl implements CXFConnectionFactory {
+
+    private static final long serialVersionUID = -9185852866781165233L;
+    private ManagedConnectionFactory mcf;
+    private ConnectionManager connectionManager;
+    private Reference reference;
+
+    public ConnectionFactoryImpl(ManagedConnectionFactory mcf,
+            ConnectionManager connectionManager) {
+        this.mcf = mcf;
+        this.connectionManager = connectionManager;
+    }
+
+    public void setReference(Reference reference) {
+        this.reference = reference; 
+    }
+
+    public Reference getReference() throws NamingException {
+        return reference;
+    }
+
+    public CXFConnection getConnection(CXFConnectionSpec spec) throws ResourceException {
+        return (CXFConnection) connectionManager.allocateConnection(mcf, spec);
+    }
+
+}

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/ConnectionFactoryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java
URL: http://svn.apache.org/viewvc/cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java?rev=702420&view=auto
==============================================================================
--- cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java (added)
+++ cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java Tue Oct  7 03:00:21 2008
@@ -0,0 +1,85 @@
+/**
+ * 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.cxf.jca.outbound;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionEvent;
+import javax.resource.spi.ConnectionEventListener;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionFactory;
+
+import org.apache.cxf.common.logging.LogUtils;
+
+/**
+ * Default Connection Manager which does not support connection pool.  
+ * Connection will be destroyed upon closing by application.
+ */
+public class DefaultConnectionManager implements ConnectionManager, ConnectionEventListener {
+
+    private static final long serialVersionUID = -8931949400870739450L;
+    private static final Logger LOG = LogUtils.getL7dLogger(DefaultConnectionManager.class);
+
+
+    /* -------------------- ConnectionManager Methods ----------------------------
+     */
+    public Object allocateConnection(ManagedConnectionFactory mcf,
+            ConnectionRequestInfo cxRequestInfo) throws ResourceException {
+
+        if (LOG.isLoggable(Level.FINEST)) {
+            LOG.finest("allocateConnection cxRequestInfo = " + cxRequestInfo);
+        }
+
+        ManagedConnection mc = mcf.createManagedConnection(null, cxRequestInfo);
+        mc.addConnectionEventListener(this);
+        return mc.getConnection(null, cxRequestInfo);
+    }
+
+    /* -------------------- ConnectionEventListener Methods -----------------------
+     */
+    public void connectionClosed(ConnectionEvent event) {
+        try {
+            ((ManagedConnection)event.getSource()).destroy();
+        } catch (ResourceException e) {
+            LOG.log(Level.SEVERE, "Failed to destroy connection.", e);
+        }
+    }
+
+    public void connectionErrorOccurred(ConnectionEvent event) {
+        try {
+            ((ManagedConnection)event.getSource()).destroy();
+        } catch (ResourceException e) {
+            LOG.log(Level.SEVERE, "Failed to destroy connection.", e);
+        }
+    }
+
+    public void localTransactionCommitted(ConnectionEvent event) {
+    }
+
+    public void localTransactionRolledback(ConnectionEvent event) {
+    }
+
+    public void localTransactionStarted(ConnectionEvent event) {
+    }
+
+}

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/integration/jca/src/main/java/org/apache/cxf/jca/outbound/DefaultConnectionManager.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



Mime
View raw message