axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sc...@apache.org
Subject svn commit: r415792 [1/3] - in /webservices/axis2/trunk/java: etc/ modules/jaxws/ modules/jaxws/src/javax/xml/ws/ modules/jaxws/src/javax/xml/ws/spi/ modules/jaxws/src/org/ modules/jaxws/src/org/apache/ modules/jaxws/src/org/apache/axis2/ modules/jaxws...
Date Tue, 20 Jun 2006 20:26:19 GMT
Author: scheu
Date: Tue Jun 20 13:26:16 2006
New Revision: 415792

URL: http://svn.apache.org/viewvc?rev=415792&view=rev
Log:
Introduction of JAX-WS implementation from IBM.
Issue:
http://issues.apache.org/jira/browse/AXIS2-826

Contributors:
Nick Gallardo
Rich Scheuerle
Jeff Barrett
Nikhil Thaker
Mike Rheinheirmer
Brent Ulbricht
Dan Sedov
Lizet Ernand
Samuel Isokpunwu 

Added:
    webservices/axis2/trunk/java/modules/jaxws/src/org/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisCallback.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisController.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/BindingProvider.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientConfigurationFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Proxies.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortData.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponse.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponseProcessor.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/DOMSourceParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/JAXBParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/Parameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/ParameterFactory.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/ParameterUtils.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/SAXSourceParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/SOAPMessageParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/SourceParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/StreamSourceParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/param/StringParameter.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/ServiceDelegate.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/AxisReceiver.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/Constants.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/SimpleServer.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/SoapUtils.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/util/WSDLWrapper.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/
    webservices/axis2/trunk/java/modules/jaxws/test/client/EchoString.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/EchoStringResponse.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/ObjectFactory.java
    webservices/axis2/trunk/java/modules/jaxws/test/client/package-info.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/META-INF/MANIFEST.MF
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/CallbackHandler.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DOMSourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DispatchTestConstants.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/DispatchTestSuite.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/JAXBCallbackHandler.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/JAXBDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/SAXSourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/SourceDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/StringDispatch.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/StartServer.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/StopServer.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/SimpleProvider.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/provider/StringProvider.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoServiceMessageReceiverInOut.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoServiceSkeleton.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoString.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/EchoStringResponse.java
    webservices/axis2/trunk/java/modules/jaxws/test/server/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/server/META-INF/services.xml
Modified:
    webservices/axis2/trunk/java/etc/project.properties
    webservices/axis2/trunk/java/modules/jaxws/maven.xml
    webservices/axis2/trunk/java/modules/jaxws/project.properties
    webservices/axis2/trunk/java/modules/jaxws/project.xml
    webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/Service.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/FactoryFinder.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/Provider.java
    webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/ServiceDelegate.java

Modified: webservices/axis2/trunk/java/etc/project.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/etc/project.properties?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/etc/project.properties (original)
+++ webservices/axis2/trunk/java/etc/project.properties Tue Jun 20 13:26:16 2006
@@ -66,13 +66,13 @@
 modules/saaj/project.xml,\
 modules/jibx/project.xml,\
 modules/savan/project.xml,\
-modules/rahas/project.xml,\
 ${optional.includes}
 
 #maven.multiproject.excludes=modules/tool/project.xml
 
 maven.multiproject.includes.requiresJDK15=\
-modules/jaxbri/project.xml
+modules/jaxbri/project.xml,\
+modules/jaxws/project.xml
 
 # -------------------------------------------------------------------
 #                JUnit

Modified: webservices/axis2/trunk/java/modules/jaxws/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/maven.xml?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/maven.xml Tue Jun 20 13:26:16 2006
@@ -1,17 +1,197 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Revision: 1.21 $ $Date: 2004-10-27 20:54:09 +0600 (Wed, 27 Oct 2004) $ -->
-
-<project default="jar"
-    xmlns:j="jelly:core"
-    xmlns:u="jelly:util"
-    xmlns:maven="jelly:maven"
-    xmlns:deploy="deploy"
-    xmlns:ant="jelly:ant">
-    <preGoal name="itest:compile">
-        <u:file var="file" name="${maven.itest.src}"/>
-        <j:if test="${!file.exists()}">
-            <j:expr value="${context.setVariable('maven.itest.skip', 'true')}"/>
-        </j:if>
-    </preGoal>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Revision: 1.21 $ $Date: 2004-10-27 20:54:09 +0600 (Wed, 27 Oct 2004) $ -->
+
+<project default="jar"
+         xmlns:j="jelly:core" 
+         xmlns:u="jelly:util"
+         xmlns:maven="jelly:maven"
+         xmlns:util="jelly:util"
+         xmlns:deploy="deploy"
+         xmlns:ant="jelly:ant">
+
+    <preGoal name="itest:compile">
+        <u:file var="file" name="${maven.itest.src}"/>
+        <j:if test="${!file.exists()}">
+            <j:expr value="${context.setVariable('maven.itest.skip', 'true')}"/>
+        </j:if>
+    </preGoal>
+	
+	<preGoal name="test:test">
+		<ant:copy toDir="target/test-classes/services/EchoService/">
+			<ant:fileset dir="target/test-classes">
+				<ant:include name="server/**"/>
+			</ant:fileset>
+			<ant:fileset dir="test/server">
+				<ant:exclude name="**/*.java"/>
+			</ant:fileset>
+		</ant:copy>
+	</preGoal>
+
+    <!-- Create the API and Impl jars --> 
+    <postGoal name="jar">
+        <jar destfile="target/jaxws-api-${jaxws.version}.jar">
+            <ant:fileset dir="target/classes">
+            	<ant:exclude name="com/ibm/webservices/**"/>
+            </ant:fileset>
+        </jar>
+    	<jar destfile="target/jaxws-impl-${jaxws.version}.jar">
+    	    <ant:fileset dir="target/classes">
+                <ant:exclude name="javax/**"/>
+            </ant:fileset>
+    	</jar>
+        <ant:copy toDir="${maven.repo.local}/jaxws/jars">
+            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
+        	<ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
+        </ant:copy>
+    </postGoal>
+
+    <goal name="jar">
+        <attainGoal name="jar:install"/>
+
+    </goal>
+
+    <goal name="release" prereqs="dist-bin,dist-src">
+
+
+    </goal>
+
+    <goal name="dist-bin" prereqs="jar">
+
+        <ant:echo>+----------------------------------------------</ant:echo>
+        <ant:echo>| Creating: JAXWS Binary Distribution</ant:echo>
+        <ant:echo>+----------------------------------------------</ant:echo>
+
+
+        <property name="dist" value="target/dist/temp"/>
+
+        <mkdir dir="${dist}"/>
+        <mkdir dir="${dist}/apidocs"/>
+        <mkdir dir="${dist}/build"/>
+        <!--<mkdir dir="${dist}/docs"/>-->
+        <mkdir dir="${dist}/lib"/>
+
+        <!--copy dependent jars-->
+        <maven:reactor basedir="${basedir}"
+                       postProcessing="true"
+                       includes="project.xml"
+                       banner="Executing (${goals}):"
+                       ignoreFailures="false"/>
+        <j:forEach var="x" items="${reactorProjects}">
+            <ant:echo message="Copying ${x} to ${dist}"/>
+            <deploy:copy-deps todir="${dist}/lib"
+                              projectDescriptor="${x.getFile()}"/>
+        </j:forEach>
+        <ant:delete file="${dist}/lib/xmlunit-${xmlunit.version}.jar"/>
+
+        <!--Add the licenses of jars-->
+        <ant:copy toDir="${dist}/lib">
+            <ant:fileset dir="legal"/>
+        </ant:copy>
+
+        <!--add api docs-->
+
+        <ant:javadoc packagenames="org.apache.jaxws.*"
+                     defaultexcludes="yes"
+                     destdir="${dist}/apidocs"
+                     author="true"
+                     breakiterator="true"
+                     version="true"
+                     use="true"
+                     windowtitle="JAXWS API">
+            <ant:arg
+                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
+            <ant:sourcepath>
+                <ant:pathelement location="src"/>
+            </ant:sourcepath>
+            <ant:classpath>
+                <ant:fileset dir="${dist}/lib">
+                    <ant:include name="*.jar"/>
+                </ant:fileset>
+            </ant:classpath>
+        </ant:javadoc>
+
+        <!--add jars-->
+        <ant:copy toDir="${dist}/build">
+            <ant:fileset file="target/jaxws-api-${jaxws.version}.jar"/>
+            <ant:fileset file="target/jaxws-impl-${jaxws.version}.jar"/>
+        </ant:copy>
+
+        <!--add documents-->
+        <ant:copy toDir="${dist}/docs">
+            <ant:fileset dir="xdocs">
+                <ant:exclude name="**/.svn/**"/>
+            </ant:fileset>
+        </ant:copy>
+
+        <!--copy release notes, etc-->
+        <ant:copy toDir="${dist}">
+            <ant:fileset file="RELEASE-NOTE.txt"/>
+            <ant:fileset file="README.txt"/>
+            <ant:fileset file="NOTICE.txt"/>
+            <ant:fileset file="LICENSE.txt"/>
+        </ant:copy>
+
+
+        <!--create the zip-->
+        <ant:zip file="target/dist/jaxws-${jaxws.version}-bin.zip">
+            <ant:fileset dir="${dist}/"/>
+        </ant:zip>
+
+        <ant:delete dir="${dist}"/>
+
+    </goal>
+
+    <goal name="dist-src" prereqs="jar">
+
+        <ant:echo>+----------------------------------------------</ant:echo>
+        <ant:echo>| Creating: JAXWS Source Distribution</ant:echo>
+        <ant:echo>+----------------------------------------------</ant:echo>
+
+        <ant:property name="${dist}" value="target/dist/temp"/>
+
+        <ant:copy toDir="${dist}">
+            <ant:fileset dir=".">
+                <ant:exclude name="**/.svn/**"/>
+                <ant:include name="**/src/**"/>
+                <ant:include name="**/test/**"/>
+            </ant:fileset>
+        </ant:copy>
+
+        <!-- Copy the master maven files for the standard src distro -->
+        <ant:copy toDir="${dist}">
+            <ant:fileset file="maven.xml"/>
+            <ant:fileset file="project.xml"/>
+            <ant:fileset file="project.properties"/>
+            <ant:fileset file="RELEASE-NOTE.txt"/>
+            <ant:fileset file="NOTICE.txt"/>
+            <ant:fileset file="LICENSE.txt"/>
+        </ant:copy>
+
+        <ant:zip file="target/dist/jaxws-${jaxws.version}-src.zip">
+            <ant:fileset dir="${dist}/"/>
+        </ant:zip>
+        <ant:delete dir="${dist}"/>
+    </goal>
+
+    <goal name="javadocs">
+
+        <mkdir dir="target/apidocs"/>
+
+        <ant:javadoc packagenames="org.apache.jaxws.*"
+                     defaultexcludes="yes"
+                     destdir="target/apidocs"
+                     author="true"
+                     breakiterator="true"
+                     version="true"
+                     use="true"
+                     windowtitle="JAXWS API">
+            <ant:arg
+                    line="-J-Dhttp.proxy.port=${maven.proxy.port} -J-Dhttp.proxy.host=${maven.proxy.host}"/>
+            <ant:sourcepath>
+                <ant:pathelement location="src"/>
+            </ant:sourcepath>
+        </ant:javadoc>
+    </goal>
+
+</project>

Modified: webservices/axis2/trunk/java/modules/jaxws/project.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/project.properties?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/project.properties (original)
+++ webservices/axis2/trunk/java/modules/jaxws/project.properties Tue Jun 20 13:26:16 2006
@@ -14,5 +14,25 @@
 # limitations under the License.
 # -------------------------------------------------------------------
 
-
 maven.multiproject.type=jar
+
+# -------------------------------------------------------------------
+#                JUnit
+# -------------------------------------------------------------------
+maven.junit.jvmargs=-Xmx256m -Djava.awt.headless=true -Dbuild.repository=./target/test-classes
+maven.junit.fork=true
+
+# -------------------------------------------------------------------
+#                Test
+# -------------------------------------------------------------------
+maven.test.failure.ignore=true
+
+# -------------------------------------------------------------------
+#                Compile
+# -------------------------------------------------------------------
+maven.compile.optimize=false
+maven.compile.fork=true
+maven.compile.target=1.5
+maven.compile.source=1.5
+
+jaxws.version=${pom.currentVersion}

Modified: webservices/axis2/trunk/java/modules/jaxws/project.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/project.xml?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/project.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/project.xml Tue Jun 20 13:26:16 2006
@@ -17,18 +17,64 @@
  */
  -->
 <project>
-    <pomVersion>3</pomVersion>
-    <extend>../../etc/project.xml</extend>
-
-    <name>Apache Axis 2.0 - JAXWS</name>
-    <id>axis2-jaxws</id>
-    <groupId>axis2</groupId>
-    <description>Axis2 JAXWS implementation</description>
-
+	<pomVersion>3</pomVersion>
+	<extend>../../etc/project.xml</extend>
+	
+	<name>Apache Axis 2.0 - JAX-WS</name>
+	<id>jaxws</id>
+	<groupId>axis2</groupId>
+	<description>JAX-WS implementation using Axis 2.0</description>
+	
+	<!-- ========== -->
+    <!-- Developers -->
+    <!-- ========== -->
+    <developers>
+        <developer>
+            <name>Nicholas Gallardo</name>
+            <organization>IBM</organization>
+        </developer>
+        <developer>
+            <name>Rich Scheuerle</name>
+            <id>scheu</id>
+            <email>scheu AT us.ibm.com</email>
+            <organization>IBM</organization>
+        </developer>
+        <developer>
+            <name>Jeff Barrett</name>
+            <organization>IBM</organization>
+        </developer>
+        <developer>
+            <name>Nikhil Thaker</name>
+            <organization>IBM</organization>
+        </developer>
+        <developer>
+            <name>Michael Rheinheimer</name>
+            <organization>IBM</organization>
+        </developer>
+   </developers>
+   <contributors>
+        <contributor>
+            <name>Brent Ulbricht</name>
+            <organization>IBM</organization>
+        </contributor>
+        <contributor>
+            <name>Daniel Sedov</name>
+            <organization>IBM</organization>
+        </contributor>
+        <contributor>
+            <name>Lizet Ernand</name>
+            <organization>IBM</organization>
+        </contributor>
+        <contributor>
+            <name>Samual Isokpunwu</name>
+            <organization>IBM</organization>
+        </contributor> 
+    </contributors>
     <build>
-        <nagEmailAddress>axis-dev@ws.apache.org</nagEmailAddress>
+        <defaultGoal>jar</defaultGoal>
+        <nagEmailAddress></nagEmailAddress>
         <sourceDirectory>src</sourceDirectory>
-        <unitTestSourceDirectory>test</unitTestSourceDirectory>
+	<unitTestSourceDirectory>test</unitTestSourceDirectory>
 
         <unitTest>
             <includes>
@@ -55,25 +101,30 @@
             </resources>
         </unitTest>
 
-        <resources>
-            <resource>
-                <directory>conf</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>src</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-            </resource>
-        </resources>
+
     </build>
+    
+    <reports>
+        <report>maven-junit-report-plugin</report>
+    </reports>
 
     <dependencies>
-       <dependency>
+        <dependency>
+            <groupId>javax.xml</groupId>
+            <artifactId>jaxb-impl</artifactId>
+            <version>${jaxbri.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.xml</groupId>
+            <artifactId>jaxb-xjc</artifactId>
+            <version>${jaxbri.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.xml</groupId>
+            <artifactId>jaxb-api</artifactId>
+            <version>${jaxbri.version}</version>
+        </dependency>
+        <dependency>
             <groupId>ws-commons</groupId>
             <artifactId>axiom-api</artifactId>
             <version>${axiom.version}</version>
@@ -83,26 +134,74 @@
             <artifactId>axiom-impl</artifactId>
             <version>${axiom.version}</version>
         </dependency>
-
-
         <dependency>
             <groupId>axis2</groupId>
-            <artifactId>axis2-core</artifactId>
+            <artifactId>axis2</artifactId>
             <version>${pom.currentVersion}</version>
         </dependency>
         <dependency>
             <groupId>axis2</groupId>
-            <artifactId>axis2-adb</artifactId>
+            <artifactId>axis2-java2wsdl</artifactId>
             <version>${pom.currentVersion}</version>
         </dependency>
-        <!-- external JARs -->
         <dependency>
-            <groupId>axis2</groupId>
-            <artifactId>axis2-common</artifactId>
-            <version>${pom.currentVersion}</version>
+            <groupId>annogen</groupId>
+            <artifactId>annogen</artifactId>
+            <version>${annogen.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>${wsdl4j.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>backport-util-concurrent</groupId>
+            <artifactId>backport-util-concurrent</artifactId>
+            <version>${backport_util_concurrent.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
         </dependency>
 
         <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>${commons.codec.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+            <version>1.2.13</version>
+            <properties>
+                <module>false</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>commons-discovery</groupId>
+            <artifactId>commons-discovery</artifactId>
+            <version>${commons.discovery.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>${commons.httpclient.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
             <version>${commons.logging.version}</version>
@@ -111,17 +210,17 @@
             </properties>
         </dependency>
         <dependency>
-            <groupId>${stax.impl.groupid}</groupId>
-            <artifactId>${stax.impl.artifactid}</artifactId>
-            <version>${stax.impl.version}</version>
+            <groupId>geronimo-spec</groupId>
+            <artifactId>geronimo-spec-javamail</artifactId>
+            <version>${geronimo.spec.javamail.version}</version>
             <properties>
                 <module>true</module>
             </properties>
         </dependency>
         <dependency>
-            <groupId>stax</groupId>
-            <artifactId>stax-api</artifactId>
-            <version>${stax.api.version}</version>
+            <groupId>geronimo-spec</groupId>
+            <artifactId>geronimo-spec-jms</artifactId>
+            <version>${geronimo.spec.jms.version}</version>
             <properties>
                 <module>true</module>
             </properties>
@@ -134,7 +233,97 @@
                 <module>true</module>
             </properties>
         </dependency>
+        <!--
+        <dependency>
+            <groupId>jaxen</groupId>
+            <artifactId>jaxen</artifactId>
+            <version>${jaxen.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+            <url>http://www.ibiblio.org/maven/jaxen/jars/</url>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        
+        <dependency>
+            <groupId>stax</groupId>
+            <artifactId>stax-api</artifactId>
+            <version>${stax.api.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>${stax.impl.groupid}</groupId>
+            <artifactId>${stax.impl.artifactid}</artifactId>
+            <version>${stax.impl.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>ws-commons</groupId>
+            <artifactId>axiom-api</artifactId>
+            <version>${axiom.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>ws-commons</groupId>
+            <artifactId>axiom-impl</artifactId>
+            <version>${axiom.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>ws-commons</groupId>
+            <artifactId>neethi</artifactId>
+            <version>${neethi.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons</groupId>
+            <artifactId>XmlSchema</artifactId>
+            <version>${XmlSchema.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency> 
+        <dependency>
+            <groupId>xml-apis</groupId>
+            <artifactId>xml-apis</artifactId>
+            <version>${xml_apis.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>xmlunit</groupId>
+            <artifactId>xmlunit</artifactId>
+            <version>${xmlunit.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency>
+        <dependency>
+            <groupId>httpcomponents-httpcore</groupId>
+            <artifactId>jakarta-httpcore</artifactId>
+            <version>${jakarta.httpcore.version}</version>
+            <properties>
+                <module>true</module>
+            </properties>
+        </dependency> 
     </dependencies>
-
-    <reports/>
 </project>

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/Service.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/Service.java?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/Service.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/Service.java Tue Jun 20 13:26:16 2006
@@ -41,7 +41,7 @@
         return (T) _delegate.getPort(serviceEndpointInterface);
     }
 
-    public void addPort(QName portName, URI bindingId, String endpointAddress) {
+    public void addPort(QName portName, String bindingId, String endpointAddress) {
         _delegate.addPort(portName, bindingId, endpointAddress);
     }
 

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/FactoryFinder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/FactoryFinder.java?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/FactoryFinder.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/FactoryFinder.java Tue Jun 20 13:26:16 2006
@@ -60,7 +60,7 @@
 
         try {
 
-            m = Thread.class.getMethod("getContextClassLoader", null);
+            m = Thread.class.getMethod("getContextClassLoader", (Class []) null);
         } catch (NoSuchMethodException e) {
             // Assume that we are running JDK 1.1, use the current ClassLoader
             debugPrintln("assuming JDK 1.1");
@@ -68,7 +68,7 @@
         }
 
         try {
-            return (ClassLoader) m.invoke(Thread.currentThread(), null);
+            return (ClassLoader) m.invoke(Thread.currentThread(), (Object []) null);
         } catch (IllegalAccessException e) {
             // assert(false)
             throw new ConfigurationError("Unexpected IllegalAccessException",

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/Provider.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/Provider.java?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/Provider.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/Provider.java Tue Jun 20 13:26:16 2006
@@ -36,5 +36,5 @@
     public abstract Endpoint createAndPublishEndpoint(String s, Object obj);
 
     public static final String JAXWSPROVIDER_PROPERTY = "javax.xml.ws.spi.Provider";
-    private static final String DEFAULT_JAXWSPROVIDER = "org.apache.ws.spi.ProviderImpl";
+    private static final String DEFAULT_JAXWSPROVIDER = "org.apache.axis2.jaxws.spi.Provider";
 }

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/ServiceDelegate.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/ServiceDelegate.java?rev=415792&r1=415791&r2=415792&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/ServiceDelegate.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/xml/ws/spi/ServiceDelegate.java Tue Jun 20 13:26:16 2006
@@ -33,7 +33,7 @@
 
     public abstract <T> T getPort(Class<T> class1);
 
-    public abstract void addPort(QName qname, URI uri, String s);
+    public abstract void addPort(QName qname, String bindingId, String s);
 
     public abstract <T>Dispatch<T> createDispatch(QName qname, Class<T> class1, javax.xml.ws.Service.Mode mode);
 

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisCallback.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisCallback.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisCallback.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisCallback.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axis2.client.async.AsyncResult;
+import org.apache.axis2.client.async.Callback;
+import org.apache.axis2.context.MessageContext;
+
+public class AxisCallback extends Callback {
+
+    private SOAPEnvelope responseEnv;
+    private MessageContext responseMsgCtx;
+    
+    public void onComplete(AsyncResult result) {
+        responseEnv = result.getResponseEnvelope();
+        responseMsgCtx = result.getResponseMessageContext();
+    }
+
+    public void onError(Exception e) {
+        e.printStackTrace();
+    }
+    
+    public SOAPEnvelope getSOAPEnvelope() {
+        return responseEnv;
+    }
+    
+    public MessageContext getResponseMessageContext() {
+        return responseMsgCtx;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisController.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisController.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisController.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/AxisController.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,385 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.Service.Mode;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.soap.SOAPBody;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.jaxws.handler.PortData;
+import org.apache.axis2.jaxws.impl.AsyncResponse;
+import org.apache.axis2.jaxws.impl.AsyncResponseProcessor;
+import org.apache.axis2.jaxws.param.JAXBParameter;
+import org.apache.axis2.jaxws.param.Parameter;
+import org.apache.axis2.jaxws.param.ParameterFactory;
+import org.apache.axis2.jaxws.param.ParameterUtils;
+import org.apache.axis2.jaxws.util.Constants;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+
+
+public class AxisController {
+    private AxisService axisService = null;
+//  TODO: This configContext will come from websphere deployment code later
+    private ConfigurationContext configContext = null; 
+    private ServiceClient serviceClient = null;
+    private ServiceContext serviceContext = null;
+    private JAXWSClientContext clientContext = null;
+    private ServiceGroupContext groupContext = null;
+    private EndpointReference myEPR;
+    
+    public AxisService getAxisService() {
+        return axisService;
+    }
+    public void setAxisService(AxisService axisService) {
+        this.axisService = axisService;
+    }
+    public ConfigurationContext getConfigContext() {
+        return configContext;
+    }
+    public void setConfigContext(ConfigurationContext configContext) {
+        this.configContext = configContext;
+    }
+    public ServiceClient getServiceClient() {
+        return serviceClient;
+    }
+    public void setServiceClient(ServiceClient serviceClient) {
+        this.serviceClient = serviceClient;
+    }
+    public ServiceContext getServiceContext() {
+        return serviceContext;
+    }
+    public void setServiceContext(ServiceContext serviceContext) {
+        this.serviceContext = serviceContext;
+    }
+    public JAXWSClientContext getClientContext() {
+        return clientContext;
+    }
+    public void setClientContext(JAXWSClientContext clientContext) {
+        this.clientContext = clientContext;
+    }
+    public ServiceGroupContext getGroupContext() {
+        return groupContext;
+    }
+    public void setGroupContext(ServiceGroupContext groupContext) {
+        this.groupContext = groupContext;
+    }
+    public PortData getPortInfo(){
+        return clientContext.getPort();
+    }
+    public QName getServiceName(){
+        return getPortInfo().getServiceName();
+    }
+    public QName getPortName(){
+        return getPortInfo().getPortName();
+    }
+    public String getEndpointAddress(){
+        return getPortInfo().getEndpointAddress();
+    }
+    public String getBindingId(){
+        return getPortInfo().getBindingID();
+    }
+    public WSDLWrapper getWSDLContext(){
+        return clientContext.getWsdlContext();
+    }
+    public ExecutorService getExecutor() {
+        return clientContext.getExecutor();
+    }
+    public Mode getServiceMode() {
+        return (Mode) clientContext.getServiceMode();
+    }
+    public URL getWSDLLocation(){
+        return clientContext.getWSDLLocation(); 
+    }
+
+    public Object invoke(Parameter param, Map requestContext) throws WebServiceException {
+        setupProperties(requestContext);
+        
+        try{
+            //TODO: This is not the correct way to setup the JAXBContext
+            if (clientContext.getJAXBContext() != null) {
+                JAXBParameter p = (JAXBParameter) param;
+                p.setJAXBContext(clientContext.getJAXBContext());
+            }
+            
+            serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(getEndpointURL(requestContext)));
+            String soapAction = getSOAPAction(requestContext);
+            if (soapAction != null) {
+                serviceClient.getOptions().setAction(soapAction);    
+            }
+            else {
+                //TODO: This should be an addressing exception on the client side
+                serviceClient.getOptions().setAction("none");
+            }
+            
+            //Create the Parameter wrapper for the response based on what the input 
+            //type was.  If it was a JAXBParameter, then set the JAXBContext on it as well
+            Parameter response = ParameterFactory.createParameter(param.getValue().getClass());
+            if (param instanceof JAXBParameter) {
+                JAXBParameter p = (JAXBParameter) response;
+                p.setJAXBContext(clientContext.getJAXBContext());
+            }
+            OMElement axisResponse = null;
+            
+            //TODO: Team needs to decide if we are going to use ServiceClient api or go to AxisEngine api directly. ServiceClient requires that we send a OMElement
+            //and it creates a SOAPEnvelop by reading the headers that dispatch sets in ServiceClient. This is not a good way for message modeas we will be 
+            //manuplating client message first to read all the headers and then read the body. we add the headers in ServiceClient then create OMElement from body
+            //and send then OMElement in SendReceive operation, which then is converted again to an envelope and header headers are added to it by ServiceClient 
+            //before sending it to axis enging. 
+            axisResponse = serviceClient.sendReceive(ServiceClient.ANON_OUT_IN_OP, toOM(param));
+
+            //TODO: If ServiceClient can return the actual sopaEnvelope from MessageContext we can use the message mode and param this way.
+            //response.fromEnvelope(mode, axisResponse);
+            //return response.getValue();
+            return buildResponse(axisResponse, response).getValue();
+        }catch(AxisFault e){
+        	//TODO
+        	String todo = "Fault processing not supported for Alpha, we are only printing the fault node from soap fault.";
+            throw new WebServiceException(e.getMessage() + " " + todo);
+            
+        }       
+    }
+    
+    public void invokeOneWay(Parameter param, Map requestContext) throws WebServiceException{
+        setupProperties(requestContext);
+        
+        try{
+            //TODO: This is not the correct way to setup the JAXBContext
+            if (clientContext.getJAXBContext() != null) {
+                JAXBParameter p = (JAXBParameter) param;
+                p.setJAXBContext(clientContext.getJAXBContext());
+            }
+            
+            serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(getEndpointURL(requestContext)));
+            String soapAction = getSOAPAction(requestContext);
+            if (soapAction != null) {
+                serviceClient.getOptions().setAction(soapAction);    
+            }
+            else {
+                serviceClient.getOptions().setAction("none");
+            }
+            
+            serviceClient.fireAndForget(ServiceClient.ANON_OUT_ONLY_OP, toOM(param));
+        } catch(AxisFault e) {
+        	
+        	String todo = "Fault processing not supported for Alpha, we are only printing the fault node from soap fault.";
+            throw new WebServiceException(e.getMessage() + " " + todo);
+        }
+    }
+    
+    public Future<?> invokeAsync(Parameter param, AsyncHandler asynchandler, Map requestContext) throws WebServiceException{
+        setupProperties(requestContext);
+        
+        try{
+            //TODO: This is not the correct way to setup the JAXBContext
+            if (clientContext.getJAXBContext() != null) {
+                JAXBParameter p = (JAXBParameter) param;
+                p.setJAXBContext(clientContext.getJAXBContext());
+            }
+            
+            serviceClient.getOptions().setTo(new EndpointReference(getEndpointURL(requestContext)));
+            serviceClient.getOptions().setReplyTo(getMyEPR());
+            
+            //TODO: This is a hack.  Need a better way to determine the default wsa:Action if
+            //a SOAPAction header does not exist.
+            String soapAction = getSOAPAction(requestContext);
+            if (soapAction != null) {
+                serviceClient.getOptions().setAction(soapAction);    
+            }
+            else {
+                serviceClient.getOptions().setAction("none");
+            }
+            
+            AxisCallback callback = new AxisCallback();
+            Boolean useAsyncMep = (Boolean) requestContext.get(Constants.USE_ASYNC_MEP);
+
+            if((useAsyncMep != null && useAsyncMep.booleanValue()) 
+                    || serviceClient.getOptions().isUseSeparateListener()) {
+                serviceClient.getOptions().setUseSeparateListener(true);
+                serviceClient.getOptions().setTransportInProtocol("http");
+            }
+
+            serviceClient.sendReceiveNonBlocking(ServiceClient.ANON_OUT_IN_OP, 
+                    toOM(param), callback);
+            
+            //Create the Parameter wrapper for the response based on what the input 
+            //type was.  If it was a JAXBParameter, then set the JAXBContext on it as well
+            Parameter responseParam = ParameterFactory.createParameter(param.getValue().getClass());
+            if (param instanceof JAXBParameter) {
+                JAXBParameter p = (JAXBParameter) responseParam;
+                p.setJAXBContext(clientContext.getJAXBContext());
+            }
+            
+            AsyncResponseProcessor asyncProcessor = new AsyncResponseProcessor(callback);
+            asyncProcessor.setMode((Mode) clientContext.getServiceMode());
+            asyncProcessor.setParameter(responseParam);
+            
+            AsyncResponse<?> response = new AsyncResponse<Object>(asyncProcessor);
+            if(asynchandler !=null){
+                response.setAsyncHandler(asynchandler);
+            }
+            
+            try {
+                getExecutor().submit(response).get();
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+                throw new WebServiceException(e.getMessage());
+            } catch (ExecutionException e) {
+                e.printStackTrace();
+                throw new WebServiceException(e.getMessage());
+            }
+            
+            //TODO: Need to figure out who/when the Listener should be shutdown
+            //Do we do it after this request?  Or, can we ask the listener to check
+            //itself to see if any other responses are outstanding.
+            return response;
+        }catch(AxisFault e){
+        	
+        	String todo = "Fault processing not supported for Alpha, we are only printing the fault node from soap fault.";
+            throw new WebServiceException(e.getMessage() + " " + todo);
+        }
+    }
+    
+    public Response invokeAsync(Parameter param, Map requestContext)throws WebServiceException{
+    	AsyncResponse<Object>  response= (AsyncResponse<Object>)invokeAsync(param, null, requestContext);
+        return response;
+    }
+    
+    private String getEndpointURL(Map requestContext){
+        return (String) requestContext.get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
+    }
+    
+    private String getSOAPAction(Map requestContext){
+        Boolean useSoapAction = (Boolean)requestContext.get(BindingProvider.SOAPACTION_USE_PROPERTY);
+        if(useSoapAction!=null && useSoapAction.booleanValue()){
+            return (String)requestContext.get(BindingProvider.SOAPACTION_URI_PROPERTY);
+        }
+        return null;
+    }
+    
+    private OMElement toOM(Parameter param){
+        /*TODO: This is a a hack.... I am getting the Header of the message and setting serviceClent header, then 
+        * extract body of message as OM and ServiceCleint will create the envelope. 
+        * I am doing this because ServiceClient wants to form the envelope and send it to AxisEngine.
+        * I would like to return param.toEnvelope() but ServiceClient will try to build envelope on top of envelope.
+        * Let just go directly to AxisEngine forget about ServiceClient... can I?
+        */
+        SOAPEnvelope env = ParameterUtils.toEnvelope((Mode) clientContext.getServiceMode(), 
+                serviceClient.getOptions().getSoapVersionURI(),
+                param);
+        SOAPBody body= env.getBody();
+        SOAPHeader soapHeader = env.getHeader();
+        addHeadersToServiceClient(soapHeader);
+        return body.getFirstElement();
+    }
+    
+    private void addHeadersToServiceClient(SOAPHeader soapHeader){
+        if(soapHeader!=null){
+            for(Iterator headers = soapHeader.getChildElements(); headers.hasNext();){
+                OMElement header = (OMElement)headers.next();
+                serviceClient.addHeader(header);
+            }
+        }
+    }
+    
+    private Parameter buildResponse(OMElement element, Parameter xmlResponse){
+        //Create empty SoapResponse first 
+        Parameter soapResponse = xmlResponse;
+        
+        /* get xmlResponse param from ServiceClient OM response, By the way ServiceClient always retuns an 
+         * OMElement xml string not Soap Env or Body.
+         * It does something like msgCtx.getEnvelope().getBody.getChild() --> i.e OMElement under the body.
+         * So we now have to go thru the pain of recreating the envelope. This is a performance issue...
+        */
+        xmlResponse.fromOM(element);
+        /*I will convert param toEnvelope since ServiceClient always send xml string.
+         * toEnvelope() in Parameter is coded just to handle this.
+         */
+        SOAPEnvelope env =xmlResponse.toEnvelope(null,serviceClient.getOptions().getSoapVersionURI());
+        
+        //TODO:(NLG) Need to figure out why we have to cast to (Mode) here. 
+        soapResponse.fromEnvelope((Mode) clientContext.getServiceMode(), env);
+        
+        return soapResponse;
+    }
+
+    /*
+     * Returns the EPR that should be used for in-bound async responses
+     */
+    private EndpointReference getMyEPR() {
+        if (myEPR != null) {        
+            return myEPR;
+        }
+        else {
+            try {
+                //TODO:(NLG) This should not be hard coded to HTTP and should allow
+                //for other transports to be used.
+                myEPR = serviceClient.getMyEPR("http");
+            } catch (AxisFault e) {
+                e.printStackTrace();
+            }
+            return myEPR;
+        }
+    }
+    
+    
+    /*
+     * TODO: This is a first pass at filtering the properties that are set on the 
+     * RequestContext.  Right now it's called during the invoke, but needs to be 
+     * moved over to when the property is set.  This should not be in the path
+     * of performance.
+     */
+    private void setupProperties(Map<String, Object> requestCtx) {
+        for (Iterator<String> it = requestCtx.keySet().iterator(); it.hasNext(); ) {
+            String key = it.next();
+            Object value = requestCtx.get(key);
+            
+            if (key.equals(Constants.QOS_WSRM_ENABLE)) {
+                key = "Sandesha2AppProcessingDone";
+                value = !(Boolean) value;
+                value = value.toString();
+            }
+            else if (key.equals(Constants.QOS_WSADDRESSING_ENABLE)) {
+                key = org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES;
+                value = !(Boolean) value;
+            }
+            
+            serviceClient.getOptions().setProperty(key, value);
+        }
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/BindingProvider.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/BindingProvider.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/BindingProvider.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/BindingProvider.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,54 @@
+
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.xml.ws.Binding;
+
+
+public class BindingProvider implements javax.xml.ws.BindingProvider {
+
+	protected Map<String, Object> requestContext;
+    protected Map<String, Object> responseContext;
+    
+    public BindingProvider() {
+        requestContext = new Hashtable<String,Object>();
+        responseContext = new Hashtable<String,Object>();
+        
+        //Setting standard property defaults for request context
+        requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY, new Boolean(false));
+        requestContext.put(BindingProvider.SOAPACTION_USE_PROPERTY, new Boolean(false));
+        requestContext.put(BindingProvider.SOAPACTION_URI_PROPERTY, "");
+    }
+    
+    public Binding getBinding() {
+        // TODO 
+        return null;
+    }
+
+    public Map<String, Object> getRequestContext() {
+        return requestContext;
+    }
+
+    public Map<String, Object> getResponseContext() {
+        return responseContext;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientConfigurationFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientConfigurationFactory.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientConfigurationFactory.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientConfigurationFactory.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ConfigurationContextFactory;
+import org.apache.axis2.jaxws.util.Constants;
+
+
+/**
+ * This class serves as a factory for ConfigurationContexts suitable in the client environment.  
+ */
+public class ClientConfigurationFactory {
+    
+    private static ClientConfigurationFactory instance = new ClientConfigurationFactory();
+    
+    private ConfigurationContext configContext = null;
+    
+    protected ClientConfigurationFactory(){
+    }
+
+    /**
+     * Returns the singleton ClientConfigurationFactory object.
+     */
+    public static ClientConfigurationFactory newInstance() {
+        return instance;
+    }
+
+    /**
+     * Loads up a ConfigurationContext object using the WAS-specific configuration builder.
+     * @return a ConfigurationContext object that is suitable for the client environment
+     */
+    public synchronized ConfigurationContext getClientConfigurationContext() {
+        if (configContext == null) {
+            //TODO: Add logging 
+            String repoPath = System.getProperty(Constants.AXIS2_REPO_PATH);
+            String axisConfigPath = System.getProperty(Constants.AXIS2_CONFIG_PATH);
+            try {
+                configContext = ConfigurationContextFactory
+                        .createConfigurationContextFromFileSystem(repoPath, axisConfigPath);
+            } catch (AxisFault e) {
+                e.printStackTrace();
+            }
+        }
+        
+        return configContext;
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/ClientMediator.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,200 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.lang.reflect.Proxy;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.wsdl.Definition;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceException;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.context.ServiceGroupContext;
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.description.AxisServiceGroup;
+import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.axis2.jaxws.handler.PortData;
+import org.apache.axis2.jaxws.util.Constants;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+/*
+ * This class acts as a mediator to creating Proxy or Dispatch implementation when Client makes a call to Service.
+ * Class creates AxisService, ServiceClient etc stores them in AxisRouter that the Dispatch or Proxy can use
+ * to call Axis Engine.
+ */
+public class ClientMediator {
+	private JAXWSClientContext clientContext = null;
+
+	public ClientMediator() {
+		super();
+	}
+
+	public <T> Dispatch<T> createDispatch(JAXWSClientContext<T> clientContext){
+
+		if (clientContext == null) {
+			throw new WebServiceException(
+					"Internal Error ... JAXWSClientContext not found");
+		}
+		this.clientContext = clientContext;
+		/*
+		 * create Axis Controller, this will route all the calls from Dispatch to
+		 * Axis Engine eiter using ServiceClient or instantiating
+		 * AxisEngine.
+		 */
+		try{
+			AxisController axisController = buildAxisController();
+			axisController.setClientContext(clientContext);
+			Dispatch<T> dispatch = new Dispatch<T>(axisController);
+			return dispatch;
+		}catch(AxisFault e){
+			throw new WebServiceException(e.getMessage());
+		}
+	}
+
+	// Add required parameter to this method.
+	public <T> T createProxy(JAXWSClientContext<T> clientContext) {
+		//TODO: Have to rewrite this
+		Class<T> sei = clientContext.getClazz();
+		//read port information from JAXWSClientContext and set that.
+		QName portName = null;
+		if(sei == null){
+    		return null;
+    	}
+		try{
+			AxisController axisController = buildAxisController();
+			axisController.setClientContext(this.clientContext);
+    	
+	    	Proxies proxyHandler = new Proxies(axisController);
+	    	Class[] seiClazz = new Class[]{sei};
+	    	Object proxyClass = Proxy.newProxyInstance(sei.getClassLoader(), seiClazz, proxyHandler);
+	    	
+	    	
+	    	/*TODO handle this in AxisController
+	    	*proxyHandler.setAxisService(axisService);
+	    	*proxyHandler.setServiceClient(serviceClient);
+	    	*/
+	    	return sei.cast(proxyClass);
+		}catch(AxisFault e){
+    		throw new WebServiceException(e.getMessage());
+    	}
+		
+	}
+
+	private ConfigurationContext getAxisConfigContext() {
+		try {
+            ClientConfigurationFactory factory = ClientConfigurationFactory.newInstance(); 
+            ConfigurationContext configCtx = factory.getClientConfigurationContext();
+            return configCtx;
+		} catch (Exception e) {
+			throw new WebServiceException(e);
+		}
+	}
+
+	private AxisService getAxisService(ServiceClient axisClient) {
+		return axisClient.getAxisService();
+	}
+
+	/*
+     * If a WSDL is present, create an AxisOperation for each of the operations
+     * that exist in that WSDL.
+	 */
+    private AxisOperation getAxisOperation(AxisService service){
+		QName portName = clientContext.getPort().getPortName();
+		QName serviceName = clientContext.getPort().getServiceName();
+		WSDLWrapper wsdlContext = clientContext.getWsdlContext();
+
+        if(wsdlContext!=null){
+			String operation = wsdlContext.getOperationName(serviceName, portName);
+			return service.getOperation(new QName(operation));
+			
+		}
+		else{
+			return service.getOperation(ServiceClient.ANON_OUT_IN_OP);
+		}		
+	}
+	
+	private PortData getPortInfo() {
+		return clientContext.getPort();
+	}
+
+	private QName getPortName() {
+		return getPortInfo().getPortName();
+	}
+
+	private ServiceClient getServiceClient(ConfigurationContext axisConfig)
+			throws AxisFault {
+		
+		URL wsdlLocation = clientContext.getWSDLLocation();
+		if (wsdlLocation != null) {
+			Definition definition = clientContext.getWsdlContext().getDefinition();
+			if(definition!=null){
+				return new ServiceClient(axisConfig, definition,
+						getServiceName(), getPortName().getLocalPart());
+			}
+			return new ServiceClient(axisConfig, wsdlLocation,
+					getServiceName(), getPortName().getLocalPart());
+		}
+		return new ServiceClient(axisConfig, null);
+
+	}
+
+	private ServiceContext getServiceContext(AxisService service,
+			ServiceGroupContext groupContext) throws AxisFault {
+		return groupContext.getServiceContext(service);
+	}
+
+	private ServiceGroupContext getServiceGroupContext(
+			ConfigurationContext configContext, AxisService service) {
+		return new ServiceGroupContext(configContext,
+				(AxisServiceGroup) service.getParent());
+	}
+
+	private QName getServiceName() {
+		return getPortInfo().getServiceName();
+	}
+
+	private AxisController buildAxisController() throws AxisFault {
+		/* Create AxisController to send calls to AxisEngine
+		 * There is one AxisController per Dispatch or Proxy.
+		 */
+		AxisController controller = new AxisController();
+		/* Create all Web Service information from WSDL and store them in Axis API's 
+		 * AxisService, AxisOperation etc.
+		 * Store these in AxisController. When Dispatch or Proxy receive Request from 
+		 * JAX-WS Client AxisController will use them to call AxisEngine and respond to 
+		 * Dispatch or Proxy. 
+		 */
+		ConfigurationContext axisConfig = getAxisConfigContext();
+		ServiceClient serviceClient = getServiceClient(axisConfig);
+		AxisService axisService = getAxisService(serviceClient);
+		ServiceGroupContext groupContext = getServiceGroupContext(axisConfig, axisService);
+		ServiceContext serviceContext = getServiceContext(axisService, groupContext);
+
+        controller.setConfigContext(axisConfig);
+		controller.setServiceClient(serviceClient);
+		controller.setAxisService(axisService);
+		controller.setGroupContext(groupContext);
+		controller.setServiceContext(serviceContext);
+		return controller;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Dispatch.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.util.concurrent.Future;
+
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+import javax.xml.ws.WebServiceException;
+
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.jaxws.param.Parameter;
+import org.apache.axis2.jaxws.param.ParameterFactory;
+import org.apache.axis2.jaxws.util.Constants;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+
+public class Dispatch<T> extends BindingProvider implements javax.xml.ws.Dispatch {
+	
+    AxisController axisController = null;
+   
+    public Dispatch() {
+        super();
+    }
+    
+    public Dispatch(AxisController axisController){
+    	super();
+    	this.axisController = axisController;
+    	setRequestContext();
+    }
+  
+    public Object invoke(Object obj) throws WebServiceException {
+    	try{
+    		if(obj == null){
+    			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+    		}
+    		Parameter param = ParameterFactory.createParameter(obj);
+    		return axisController.invoke(param,requestContext);
+    	}catch(Exception e){
+    		throw new WebServiceException(e);
+    	}
+   }
+    
+   public void invokeOneWay(Object obj) throws WebServiceException{
+       if(obj == null){
+			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+		}
+    	try{
+    		Parameter param = ParameterFactory.createParameter(obj);
+            axisController.invokeOneWay(param, requestContext);
+    	}catch(Exception e){
+    		throw new WebServiceException(e);
+    	}
+    }
+   
+    public Future<?> invokeAsync(Object obj, AsyncHandler asynchandler) throws WebServiceException {
+       if(obj == null){
+           throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+       }
+       try{
+           Parameter param = ParameterFactory.createParameter(obj);
+           return axisController.invokeAsync(param, asynchandler, requestContext);
+       } catch(Exception e) {
+           throw new WebServiceException(e);
+       }
+    }
+  
+    public Response invokeAsync(Object obj)throws WebServiceException{
+    	if(obj == null){
+			throw new WebServiceException("Dispatch Cannot Invoke SEI with null object");
+		}
+    	try{
+    		Parameter param = ParameterFactory.createParameter(obj);
+    		return axisController.invokeAsync(param, requestContext);
+    	}catch(Exception e){
+    		throw new WebServiceException(e);
+    	}
+    }    
+
+    protected void setRequestContext(){
+    	String endPointAddress = axisController.getEndpointAddress();
+    	WSDLWrapper wsdl =  axisController.getWSDLContext();
+    	QName serviceName = axisController.getServiceName();
+    	QName portName = axisController.getPortName();
+    	if(endPointAddress != null && !"".equals(endPointAddress)){
+        	getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endPointAddress);
+        }else if(wsdl != null){
+        	String soapAddress = wsdl.getSOAPAddress(serviceName, portName);
+        	getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, soapAddress);
+        }
+        
+        if(wsdl != null){
+        	String soapAction = wsdl.getSOAPAction(serviceName, portName);
+    		getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, soapAction);
+        }
+        
+        getRequestContext().put(Constants.QOS_WSADDRESSING_ENABLE, Boolean.FALSE);
+        getRequestContext().put(Constants.QOS_WSRM_ENABLE, Boolean.FALSE);
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/JAXWSClientContext.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.net.URL;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.ws.Service.Mode;
+
+import org.apache.axis2.jaxws.handler.PortData;
+import org.apache.axis2.jaxws.util.WSDLWrapper;
+
+
+public class JAXWSClientContext<T> {
+	private PortData port = null;
+	private Mode serviceMode = null;
+	private ExecutorService executor = null;
+	private WSDLWrapper wsdlContext = null;
+	private Class<T> clazz = null; //SEI class for Proxy or Implementation type for Dispatch
+	private JAXBContext jaxbContext = null;
+    
+	public ExecutorService getExecutor() {
+		return executor;
+	}
+	public void setExecutor(Executor executor) {
+		this.executor = (ExecutorService)executor;
+	}
+	public PortData getPort() {
+		return port;
+	}
+	public void setPort(PortData port) {
+		this.port = port;
+	}
+	public Mode getServiceMode() {
+		return serviceMode;
+	}
+	public void setServiceMode(Mode serviceMode) {
+		this.serviceMode = serviceMode;
+	}
+	public WSDLWrapper getWsdlContext() {
+		return wsdlContext;
+	}
+	public void setWsdlContext(WSDLWrapper wsdlContext) {
+		this.wsdlContext = wsdlContext;
+	}
+	public URL getWSDLLocation(){
+		return (wsdlContext != null)? wsdlContext.getWSLDLocation(): null; 	
+	}
+	public Class<T> getClazz() {
+		return clazz;
+	}
+	public void setClazz(Class<T> clazz) {
+		this.clazz = clazz;
+	}
+    
+    public JAXBContext getJAXBContext() {
+        return jaxbContext;
+    }
+    
+    public void setJAXBContext(JAXBContext jbc) {
+        jaxbContext = jbc;
+    }
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Proxies.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Proxies.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Proxies.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Proxies.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.description.AxisService;
+
+public class Proxies extends BindingProvider implements InvocationHandler {
+	private AxisService axisService = null;
+	 private ServiceClient serviceClient = null;
+	 private AxisController router = null;
+	public Proxies(AxisController router){
+		super();
+		this.router = router;
+	}
+
+	public Object invoke(Object proxy, Method method, Object[] args)
+			throws Throwable {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
+	 public void setAxisService(AxisService svc) {
+	        axisService = svc;
+	    }
+	    
+	    public void setServiceClient(ServiceClient svcClt) {
+	        serviceClient = svcClt;
+	    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortData.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortData.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortData.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortData.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.handler;
+
+import javax.xml.ws.handler.PortInfo;
+
+public interface PortData extends PortInfo {
+	public String getEndpointAddress();
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/PortInfoImpl.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.handler;
+
+import javax.xml.namespace.QName;
+
+public class PortInfoImpl implements PortData {
+	private QName serviceName = null;
+	private QName portName = null;
+	private String bindingId = null;
+	private String serviceEndpoint = null;
+	
+
+	public PortInfoImpl(QName serviceName, QName portName, String bindingId, String serviceEndpoint) {
+		super();
+		// TODO Auto-generated constructor stub
+		this.serviceName = serviceName;
+		this.portName = portName;
+		this.bindingId = bindingId;
+		this.serviceEndpoint = serviceEndpoint;
+	}
+
+	public QName getServiceName() {
+		// TODO Auto-generated method stub
+		return serviceName;
+	}
+
+	public QName getPortName() {
+		// TODO Auto-generated method stub
+		return portName;
+	}
+
+	public String getBindingID() {
+		// TODO Auto-generated method stub
+		return bindingId;
+	}
+	
+	public void setServiceName(QName serviceName){
+		this.serviceName = serviceName;
+	}
+	
+	public void setPortName(QName portName){
+		this.portName = portName;
+	}
+	
+	public void setBindingID(String bindingId){
+		this.bindingId = bindingId;
+	}
+	
+	public void setEndPointAddress(String serviceEndpoint){
+		this.serviceEndpoint = serviceEndpoint;
+	}
+	
+	public String getEndpointAddress(){
+		return serviceEndpoint;
+	}
+}
+

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponse.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponse.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponse.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponse.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.impl;
+
+import java.util.Map;
+import java.util.concurrent.Callable;
+import java.util.concurrent.FutureTask;
+
+import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.Response;
+
+/**
+ * The AsyncResponse class is the object that a JAX-WS callback, implemented
+ * using the AsyncHandler API, will recieve.  The AsyncResponse encapsulates the 
+ * context of the response so that the user's handler can read any available
+ * contextual data.
+ */
+public class AsyncResponse<T> extends FutureTask<T> implements Response<T> {
+
+    private Map<String, Object> responseCtx;
+    private AsyncHandler asyncHandler;
+    
+    public AsyncResponse(Callable<T> processor) {
+        super(processor);
+    }
+    
+    public void setAsyncHandler(AsyncHandler ah) {
+        asyncHandler = ah;
+    }
+    
+    public Map<String, Object> getContext() {
+        return responseCtx;
+    }
+    
+    protected void done() {
+        super.done();
+        
+        if(!isCancelled()){
+            if(asyncHandler != null){
+                asyncHandler.handleResponse(this);
+            }
+        }
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponseProcessor.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponseProcessor.java?rev=415792&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponseProcessor.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/impl/AsyncResponseProcessor.java Tue Jun 20 13:26:16 2006
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.impl;
+
+import java.util.concurrent.Callable;
+
+import javax.xml.ws.Service.Mode;
+
+import org.apache.axis2.jaxws.AxisCallback;
+import org.apache.axis2.jaxws.param.Parameter;
+
+
+/**
+ * The AsyncResponseProcessor is responsible for collecting the async response
+ * from Axis2 and saving the value of the response.  This is should be called
+ * from within the Executor configured by the JAX-WS Service (or ServiceDelegate).
+ */
+public class AsyncResponseProcessor implements Callable {
+
+    private AxisCallback axisCallback;
+    private Mode mode;
+    private Parameter param;
+    
+    public AsyncResponseProcessor(AxisCallback cb) {
+        axisCallback = cb;
+    }
+    
+    public void setMode(Mode m) {
+        mode = m;
+    }
+    
+    //TODO: Need to re-work Parameter usage so that we're not using the same instance.
+    //Should be based off of parameter types so that we're not possibly contaminating a 
+    //previous object.
+    public void setParameter(Parameter p) {
+        param = p;
+    }
+    
+    /**
+     * This method will be called to collect the async response from Axis2.  
+     */
+    public Object call() throws Exception {
+        if (axisCallback != null) {
+            while (!axisCallback.isComplete()) {
+                //System.out.println(">> AsyncResponseProcessor - waiting for response");
+                //TODO: The wait period should probably be configurable
+                Thread.sleep(1000);
+            }
+            
+            //System.out.println(">> AsyncResponseProcessor - response received, processing");
+            param.fromEnvelope(mode, axisCallback.getSOAPEnvelope());
+            return param.getValue();            
+        }
+        
+        return null;
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org


Mime
View raw message