You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2007/04/10 01:41:02 UTC

svn commit: r526955 [3/7] - in /webservices/axis2/trunk/java: ./ modules/adb-codegen/ modules/adb/ modules/addressing/ modules/clustering/ modules/codegen/ modules/fastinfoset/ modules/integration/ modules/java2wsdl/ modules/jaxbri/ modules/jaxws-api/ ...

Modified: webservices/axis2/trunk/java/modules/jibx/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jibx/pom.xml?view=diff&rev=526955&r1=526954&r2=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/jibx/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/jibx/pom.xml Mon Apr  9 16:40:57 2007
@@ -15,9 +15,7 @@
 	! See the License for the specific language governing permissions and
 	! limitations under the License.
 	!-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.apache.axis2</groupId>
@@ -25,133 +23,101 @@
 		<version>SNAPSHOT</version>
 		<relativePath>../parent/pom.xml</relativePath>
 	</parent>
-
 	<artifactId>axis2-jibx</artifactId>
-    <name>Apache Axis 2.0 - JiBX Data Binding</name>
-    <description>JiBX data binding support for Axis 2.0</description>
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/jibx</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/jibx</developerConnection>
-    <url>http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jibx</url>
-  </scm>
+	<name>Apache Axis 2.0 - JiBX Data Binding</name>
+	<description>JiBX data binding support for Axis 2.0</description>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.axis2</groupId>
 			<artifactId>axis2-codegen</artifactId>
 			<version>${version}</version>
 		</dependency>
-        <dependency>
-            <groupId>jibx</groupId>
-            <artifactId>jibx-bind</artifactId>
-            <version>1.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>jibx</groupId>
-            <artifactId>jibx-run</artifactId>
-            <version>1.1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.bcel</groupId>
-            <artifactId>bcel</artifactId>
-            <version>5.2</version>
-        </dependency>
-        <dependency>
-       		<groupId>org.apache.ant</groupId>
-       		<artifactId>ant</artifactId>
-       		<version>1.7.0</version>
-      </dependency>
-      <dependency>
-       		<groupId>org.apache.ant</groupId>
-       		<artifactId>ant-launcher</artifactId>
-       		<version>1.7.0</version>
-      </dependency>
+		<dependency>
+			<groupId>jibx</groupId>
+			<artifactId>jibx-bind</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>jibx</groupId>
+			<artifactId>jibx-run</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.bcel</groupId>
+			<artifactId>bcel</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ant</groupId>
+			<artifactId>ant</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ant</groupId>
+			<artifactId>ant-launcher</artifactId>
+		</dependency>
 	</dependencies>
- 	<repositories>
-         <repository>
-            <id>jibx</id>
-            <name>Jibx Repository</name>
-            <url>http://jibx.sourceforge.net/maven</url>
-            <layout>legacy</layout>
-        </repository>
-     </repositories>
 	<build>
-    <resources>
-      <resource>
-        <directory>src</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </resource>
-    </resources>
+		<resources>
+			<resource>
+				<directory>src</directory>
+				<excludes>
+					<exclude>**/*.java</exclude>
+				</excludes>
+			</resource>
+		</resources>
 		<sourceDirectory>src</sourceDirectory>
 		<testSourceDirectory>test</testSourceDirectory>
 		<testResources>
-      <testResource>
-        <targetPath>../test-resources</targetPath>
-        <directory>test-resources</directory>
-        <includes>
-          <include>**/**</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-  	  <plugin>
-  		<artifactId>maven-surefire-plugin</artifactId>
-  		<inherited>true</inherited>
-  		<configuration>
-  			<skip>false</skip>
-  		</configuration>
-  	  </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <version>1.1</version>
-        <executions>
-          <execution>
-            <id>compile</id>
-            <phase>test-compile</phase>
-            <configuration>
-              <tasks>
-	            <java classname="org.jibx.binding.Compile" fork="true">
-		        	<classpath refid="maven.runtime.classpath"/>
-		        	<classpath location="target/test-classes"/>
-			          <arg value="-v"/>
-			          <arg value="test-resources/binding/customer-binding.xml"/>
-			          <arg value="test-resources/binding/library-binding.xml"/>
-	      		</java> 
-              </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>gen-cp</id>
-            <phase>generate-test-sources</phase>
-            <configuration>
-              <tasks>
-              <property name="cp" refid="maven.runtime.classpath" />             
-              <echo message="${cp}" file="target/cp.txt" /> 
-			  </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant-antlr</artifactId>
-            <version>1.7.0</version>
-          </dependency>
-          <dependency>
-            <groupId>antlr</groupId>
-            <artifactId>antlrall</artifactId>
-            <version>2.7.4</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
+			<testResource>
+				<targetPath>../test-resources</targetPath>
+				<directory>test-resources</directory>
+				<includes>
+					<include>**/**</include>
+				</includes>
+			</testResource>
+		</testResources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<inherited>true</inherited>
+				<configuration>
+					<skip>false</skip>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>compile</id>
+						<phase>test-compile</phase>
+						<configuration>
+							<tasks>
+								<java classname="org.jibx.binding.Compile" fork="true">
+									<classpath refid="maven.runtime.classpath"/>
+									<classpath location="target/test-classes"/>
+									<arg value="-v"/>
+									<arg value="test-resources/binding/customer-binding.xml"/>
+									<arg value="test-resources/binding/library-binding.xml"/>
+								</java>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>gen-cp</id>
+						<phase>generate-test-sources</phase>
+						<configuration>
+							<tasks>
+								<property name="cp" refid="maven.runtime.classpath"/>
+								<echo message="${cp}" file="target/cp.txt"/>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
 	</build>
 </project>

Modified: webservices/axis2/trunk/java/modules/json/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/json/pom.xml?view=diff&rev=526955&r1=526954&r2=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/json/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/json/pom.xml Mon Apr  9 16:40:57 2007
@@ -15,9 +15,7 @@
 	! See the License for the specific language governing permissions and
 	! limitations under the License.
 	!-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.apache.axis2</groupId>
@@ -25,15 +23,9 @@
 		<version>SNAPSHOT</version>
 		<relativePath>../parent/pom.xml</relativePath>
 	</parent>
-
 	<artifactId>axis2-json</artifactId>
 	<name>Apache Axis 2.0 - JSON</name>
 	<description>Axis2 JSON module</description>
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/json</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/json</developerConnection>
-    <url>http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/json</url>
-  </scm>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.axis2</groupId>
@@ -41,17 +33,15 @@
 			<version>${version}</version>
 		</dependency>
 		<dependency>
-            <groupId>org.codehaus.jettison</groupId>
-            <artifactId>jettison</artifactId>
-            <version>1.0-alpha-2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-     	 <groupId>xmlunit</groupId>
-     	 <artifactId>xmlunit</artifactId>
-     	 <scope>test</scope>
-   	    </dependency>
+			<groupId>org.codehaus.jettison</groupId>
+			<artifactId>jettison</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>xmlunit</groupId>
+			<artifactId>xmlunit</artifactId>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
-
 	<build>
 		<sourceDirectory>src</sourceDirectory>
 		<testSourceDirectory>test</testSourceDirectory>
@@ -60,15 +50,14 @@
 				<directory>test-resources</directory>
 			</testResource>
 		</testResources>
-		    
 		<plugins>
-	  	  <plugin>
-	  		<artifactId>maven-surefire-plugin</artifactId>
-	  		<inherited>true</inherited>
-	  		<configuration>
-	  			<skip>false</skip>
-	  		</configuration>
-	  	  </plugin>
-	    </plugins>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<inherited>true</inherited>
+				<configuration>
+					<skip>false</skip>
+				</configuration>
+			</plugin>
+		</plugins>
 	</build>
 </project>

Modified: webservices/axis2/trunk/java/modules/kernel/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/pom.xml?view=diff&rev=526955&r1=526954&r2=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/kernel/pom.xml Mon Apr  9 16:40:57 2007
@@ -15,199 +15,167 @@
  ! See the License for the specific language governing permissions and
  ! limitations under the License.
  !-->
-<project
-    xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.axis2</groupId>
-    <artifactId>axis2-parent</artifactId>
-    <version>SNAPSHOT</version>
-    <relativePath>../parent/pom.xml</relativePath>    
-  </parent>
-
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/kernel/</developerConnection>
-    <url>http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/</url>
-  </scm>
-
-  <artifactId>axis2-kernel</artifactId>
-  <name>Apache Axis 2.0 - Kernel</name>
-  <description>Core Parts of Axis 2.0. This includes Axis 2.0 engine, Client API, Addressing support, etc.,</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.axis2</groupId>
-      <artifactId>axis2-java2wsdl</artifactId>
-		<version>${version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-fileupload</groupId>
-      <artifactId>commons-fileupload</artifactId>
-    </dependency>      
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>jakarta-httpcore</artifactId>
-    </dependency> 
-    <dependency>
-      <groupId>wsdl4j</groupId>
-      <artifactId>wsdl4j</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>backport-util-concurrent</groupId>
-      <artifactId>backport-util-concurrent</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>woodstox</groupId>
-      <artifactId>wstx-asl</artifactId>
-    </dependency>
-    <!-- Added this to support WS Policy in Axis2 -->
-    <dependency>
-        <groupId>org.apache.ws.commons.schema</groupId>
-        <artifactId>XmlSchema</artifactId>
-        <version>SNAPSHOT</version>
-      </dependency>
-    <dependency>
-      <groupId>org.apache.neethi</groupId>
-      <artifactId>neethi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.woden</groupId>
-      <artifactId>woden</artifactId>
-    </dependency>
-    <dependency>
-        <groupId>annogen</groupId>
-        <artifactId>annogen</artifactId>
-      </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jms_1.1_spec</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.ws.commons.axiom</groupId>
-        <artifactId>axiom-api</artifactId>
-        <version>SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.ws.commons.axiom</groupId>
-        <artifactId>axiom-impl</artifactId>
-        <version>SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.ws.commons.axiom</groupId>
-        <artifactId>axiom-dom</artifactId>
-        <version>SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>1.1</version>
-      </dependency>
-  </dependencies>
-  <build>
-    <sourceDirectory>src</sourceDirectory>
-    <testSourceDirectory>test</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>conf</directory>
-        <excludes>
-          <exclude>**/*.properties</exclude>
-        </excludes>
-        <filtering>false</filtering>
-      </resource>
-      <resource>
-        <directory>src</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <targetPath>../test-resources</targetPath>
-        <directory>test-resources</directory>
-        <includes>
-          <include>**/**</include>
-        </includes>
-      </testResource>
-    </testResources>
-    <plugins>
-  	  <plugin>
-  		<artifactId>maven-surefire-plugin</artifactId>
-  		<inherited>true</inherited>
-  		<configuration>
-  			<skip>false</skip>
-  			<excludes>
-                <exclude>**/*Abstract*.java</exclude>
-                <exclude>**/*Util*.java</exclude>
-                <exclude>**/*PhaseResolvingTest.java</exclude>
-            </excludes>
-            <includes>
-                <include>**/*Test.java</include>
-            </includes>
-  		</configuration>
-  	  </plugin>
-  	  <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <version>1.1</version>
-        <executions>
-          <execution>
-            <id>process-test-resources</id>
-            <phase>process-test-resources</phase>
-            <configuration>
-              <tasks>
-				<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/service2"/>
-	            <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/echo"/>
-	            <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/invalidservice"/>
-	            <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/module1"/>
-	            <ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/serviceModule"/>
-	            <copy file="${basedir}/test-resources/deployment/axis2.xml" tofile="${basedir}/target/test-resources/deployment/axis2.xml"/>
-              </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>test-compile</id>
-            <phase>test-compile</phase>
-            <configuration>
-              <tasks>
-				<property name="maven.build.dir" location="${basedir}/target"/>
-	            <ant antfile="j2secbuild.xml" inheritall="true" inheritrefs="true" dir="test-resources/"/>
-	         </tasks>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant-antlr</artifactId>
-            <version>1.7.0</version>
-          </dependency>
-          <dependency>
-            <groupId>antlr</groupId>
-            <artifactId>antlrall</artifactId>
-            <version>2.7.4</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-    </plugins>
-  </build>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.apache.axis2</groupId>
+		<artifactId>axis2-parent</artifactId>
+		<version>SNAPSHOT</version>
+		<relativePath>../parent/pom.xml</relativePath>
+	</parent>
+	<artifactId>axis2-kernel</artifactId>
+	<name>Apache Axis 2.0 - Kernel</name>
+	<description>Core Parts of Axis 2.0. This includes Axis 2.0 engine, Client API, Addressing support, etc.,</description>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.axis2</groupId>
+			<artifactId>axis2-java2wsdl</artifactId>
+			<version>${version}</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>servlet-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>commons-httpclient</groupId>
+			<artifactId>commons-httpclient</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>commons-fileupload</groupId>
+			<artifactId>commons-fileupload</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.httpcomponents</groupId>
+			<artifactId>jakarta-httpcore</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>wsdl4j</groupId>
+			<artifactId>wsdl4j</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>backport-util-concurrent</groupId>
+			<artifactId>backport-util-concurrent</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>${stax.impl.groupid}</groupId>
+			<artifactId>${stax.impl.artifactid}</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.schema</groupId>
+			<artifactId>XmlSchema</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.neethi</groupId>
+			<artifactId>neethi</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.woden</groupId>
+			<artifactId>woden</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>annogen</groupId>
+			<artifactId>annogen</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jms_1.1_spec</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-impl</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.ws.commons.axiom</groupId>
+			<artifactId>axiom-dom</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>commons-logging</groupId>
+			<artifactId>commons-logging</artifactId>
+		</dependency>
+	</dependencies>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<testSourceDirectory>test</testSourceDirectory>
+		<resources>
+			<resource>
+				<directory>conf</directory>
+				<excludes>
+					<exclude>**/*.properties</exclude>
+				</excludes>
+				<filtering>false</filtering>
+			</resource>
+			<resource>
+				<directory>src</directory>
+				<excludes>
+					<exclude>**/*.java</exclude>
+				</excludes>
+			</resource>
+		</resources>
+		<testResources>
+			<testResource>
+				<targetPath>../test-resources</targetPath>
+				<directory>test-resources</directory>
+				<includes>
+					<include>**/**</include>
+				</includes>
+			</testResource>
+		</testResources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<inherited>true</inherited>
+				<configuration>
+					<skip>false</skip>
+					<excludes>
+						<exclude>**/*Abstract*.java</exclude>
+						<exclude>**/*Util*.java</exclude>
+						<exclude>**/*PhaseResolvingTest.java</exclude>
+					</excludes>
+					<includes>
+						<include>**/*Test.java</include>
+					</includes>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>process-test-resources</id>
+						<phase>process-test-resources</phase>
+						<configuration>
+							<tasks>
+								<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/service2"/>
+								<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/echo"/>
+								<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/invalidservice"/>
+								<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/module1"/>
+								<ant antfile="build.xml" inheritall="true" inheritrefs="true" dir="test-resources/deployment/serviceModule"/>
+								<copy file="${basedir}/test-resources/deployment/axis2.xml" tofile="${basedir}/target/test-resources/deployment/axis2.xml"/>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>test-compile</id>
+						<phase>test-compile</phase>
+						<configuration>
+							<tasks>
+								<property name="maven.build.dir" location="${basedir}/target"/>
+								<ant antfile="j2secbuild.xml" inheritall="true" inheritrefs="true" dir="test-resources/"/>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
 </project>

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java?view=diff&rev=526955&r1=526954&r2=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/HTTPWorker.java Mon Apr  9 16:40:57 2007
@@ -16,49 +16,43 @@
 
 package org.apache.axis2.transport.http;
 
-import edu.emory.mathcs.backport.java.util.concurrent.CountDownLatch;
-import org.apache.axis2.AxisFault;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.axis2.Constants;
-import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
+import org.apache.axis2.deployment.DeploymentConstants;
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.engine.Handler.InvocationResponse;
 import org.apache.axis2.transport.RequestResponseTransport;
+import org.apache.axis2.transport.http.server.AxisHttpRequest;
+import org.apache.axis2.transport.http.server.AxisHttpResponse;
 import org.apache.axis2.transport.http.server.HttpUtils;
-import org.apache.axis2.transport.http.server.OutputBuffer;
 import org.apache.axis2.transport.http.server.Worker;
 import org.apache.axis2.transport.http.util.RESTUtil;
 import org.apache.http.Header;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpEntityEnclosingRequest;
 import org.apache.http.HttpException;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpVersion;
+import org.apache.http.HttpStatus;
 import org.apache.http.MethodNotSupportedException;
-import org.apache.http.entity.ContentProducer;
-import org.apache.http.entity.EntityTemplate;
-import org.apache.http.entity.StringEntity;
 import org.apache.http.message.BasicHeader;
-import org.apache.http.message.BasicStatusLine;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EncodingUtils;
 import org.apache.ws.commons.schema.XmlSchema;
 
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-
 public class HTTPWorker implements Worker {
 
     public HTTPWorker() {
     }
 
     public void service(
-            final HttpRequest request,
-            final HttpResponse response,
+            final AxisHttpRequest request,
+            final AxisHttpResponse response,
             final MessageContext msgContext) throws HttpException, IOException {
 
         ConfigurationContext configurationContext = msgContext.getConfigurationContext();
@@ -66,41 +60,40 @@
         final String contextPath =
                 (servicePath.startsWith("/") ? servicePath : "/" + servicePath) + "/";
 
-        HttpVersion ver = request.getRequestLine().getHttpVersion();
-        String uri = request.getRequestLine().getUri();
-        String method = request.getRequestLine().getMethod();
+        String uri = request.getRequestURI();
+        String method = request.getMethod();
         String soapAction = HttpUtils.getSoapAction(request);
-        OutputBuffer outbuffer;
         InvocationResponse pi;
 
         if (method.equals(HTTPConstants.HEADER_GET)) {
             if (uri.equals("/favicon.ico")) {
-                response.setStatusLine(new BasicStatusLine(ver, 301, "Redirect"));
+                response.setStatus(HttpStatus.SC_MOVED_PERMANENTLY);
                 response.addHeader(new BasicHeader("Location", "http://ws.apache.org/favicon.ico"));
                 return;
             }
             if (!uri.startsWith(contextPath)) {
-                response.setStatusLine(new BasicStatusLine(ver, 301, "Redirect"));
+                response.setStatus(HttpStatus.SC_MOVED_PERMANENTLY);
                 response.addHeader(new BasicHeader("Location", contextPath));
                 return;
             }
             if (uri.endsWith("axis2/services/")) {
-                response.setStatusLine(new BasicStatusLine(ver, 200, "OK"));
                 String s = HTTPTransportReceiver.getServicesHTML(configurationContext);
-                StringEntity entity = new StringEntity(s);
-                entity.setContentType("text/html");
-                response.setEntity(entity);
+                response.setStatus(HttpStatus.SC_OK);
+                response.setContentType("text/html");
+                OutputStream out = response.getOutputStream();
+                out.write(EncodingUtils.getBytes(s, HTTP.ISO_8859_1));
                 return;
             }
             if (uri.indexOf("?") < 0) {
                 if (!uri.endsWith(contextPath)) {
                     String serviceName = uri.replaceAll(contextPath, "");
                     if (serviceName.indexOf("/") < 0) {
-                        String res = HTTPTransportReceiver
+                        String s = HTTPTransportReceiver
                                 .printServiceHTML(serviceName, configurationContext);
-                        StringEntity entity = new StringEntity(res);
-                        entity.setContentType("text/html");
-                        response.setEntity(entity);
+                        response.setStatus(HttpStatus.SC_OK);
+                        response.setContentType("text/html");
+                        OutputStream out = response.getOutputStream();
+                        out.write(EncodingUtils.getBytes(s, HTTP.ISO_8859_1));
                         return;
                     }
                 }
@@ -108,53 +101,35 @@
             if (uri.endsWith("?wsdl2")) {
                 String serviceName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 6);
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
-                final AxisService service = (AxisService) services.get(serviceName);
+                AxisService service = (AxisService) services.get(serviceName);
                 if (service != null) {
-                    final String ip = getHostAddress(request);
-                    EntityTemplate entity = new EntityTemplate(new ContentProducer() {
-
-                        public void writeTo(final OutputStream outstream) throws IOException {
-                            service.printWSDL2(outstream, ip, servicePath);
-                        }
-
-                    });
-                    entity.setContentType("text/xml");
-                    response.setEntity(entity);
+                    String ip = getHostAddress(request);
+                    response.setStatus(HttpStatus.SC_OK);
+                    response.setContentType("text/xml");
+                    service.printWSDL2(response.getOutputStream(), ip, servicePath);
                     return;
                 }
             }
             if (uri.endsWith("?wsdl")) {
                 String serviceName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 5);
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
-                final AxisService service = (AxisService) services.get(serviceName);
+                AxisService service = (AxisService) services.get(serviceName);
                 if (service != null) {
-                    final String ip = getHostAddress(request);
-                    EntityTemplate entity = new EntityTemplate(new ContentProducer() {
-
-                        public void writeTo(final OutputStream outstream) throws IOException {
-                            service.printWSDL(outstream, ip, servicePath);
-                        }
-
-                    });
-                    entity.setContentType("text/xml");
-                    response.setEntity(entity);
+                    String ip = getHostAddress(request);
+                    response.setStatus(HttpStatus.SC_OK);
+                    response.setContentType("text/xml");
+                    service.printWSDL(response.getOutputStream(), ip, servicePath);
                     return;
                 }
             }
             if (uri.endsWith("?xsd")) {
                 String serviceName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 4);
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
-                final AxisService service = (AxisService) services.get(serviceName);
+                AxisService service = (AxisService) services.get(serviceName);
                 if (service != null) {
-                    EntityTemplate entity = new EntityTemplate(new ContentProducer() {
-
-                        public void writeTo(final OutputStream outstream) throws IOException {
-                            service.printSchema(outstream);
-                        }
-
-                    });
-                    entity.setContentType("text/xml");
-                    response.setEntity(entity);
+                    response.setStatus(HttpStatus.SC_OK);
+                    response.setContentType("text/xml");
+                    service.printSchema(response.getOutputStream());
                     return;
                 }
             }
@@ -171,28 +146,41 @@
                     service.populateSchemaMappings();
                     //write out the correct schema
                     Map schemaTable = service.getSchemaMappingTable();
-                    final XmlSchema schema = (XmlSchema) schemaTable.get(schemaName);
+                    XmlSchema schema = (XmlSchema) schemaTable.get(schemaName);
                     //schema found - write it to the stream
                     if (schema != null) {
-                        EntityTemplate entity = new EntityTemplate(new ContentProducer() {
-
-                            public void writeTo(final OutputStream outstream) {
-                                schema.write(outstream);
-                            }
-
-                        });
-                        entity.setContentType("text/xml");
-                        response.setEntity(entity);
+                        response.setStatus(HttpStatus.SC_OK);
+                        response.setContentType("text/xml");
+                        schema.write(response.getOutputStream());
                         return;
                     } else {
-                        // no schema available by that name  - send 404
-                        response.setStatusLine(new BasicStatusLine(ver, 404, "Schema Not Found!"));
-                        return;
+                        InputStream instream = service.getClassLoader()
+                            .getResourceAsStream(DeploymentConstants.META_INF + "/" + schemaName);
+                        
+                        if (instream != null) {
+                            response.setStatus(HttpStatus.SC_OK);
+                            response.setContentType("text/xml");
+                            OutputStream outstream = response.getOutputStream();
+                            boolean checkLength = true;
+                            int length = Integer.MAX_VALUE;
+                            int nextValue = instream.read();
+                            if (checkLength) length--;
+                            while (-1 != nextValue && length >= 0) {
+                                outstream.write(nextValue);
+                                nextValue = instream.read();
+                                if (checkLength) length--;
+                            }
+                            outstream.flush();
+                            return;
+                        } else {
+                            // no schema available by that name  - send 404
+                            response.sendError(HttpStatus.SC_NOT_FOUND, "Schema Not Found!");
+                            return;
+                        }
                     }
                 }
             }
 
-            outbuffer = copyCommonProperties(msgContext, request);
             String contentType = null;
             Header[] headers = request.getHeaders(HTTPConstants.HEADER_CONTENT_TYPE);
             if (headers != null && headers.length > 0) {
@@ -202,74 +190,62 @@
                     contentType = contentType.substring(0, index);
                 }
             }
+            
             // deal with GET request
-            pi = RESTUtil.processURLRequest(msgContext, outbuffer.getOutputStream(), contentType);
+            pi = RESTUtil.processURLRequest(
+                    msgContext, 
+                    response.getOutputStream(), 
+                    contentType);
 
         } else if (method.equals(HTTPConstants.HEADER_POST)) {
             // deal with POST request
 
-            outbuffer = copyCommonProperties(msgContext, request);
-            HttpEntity inentity = ((HttpEntityEnclosingRequest) request).getEntity();
-            String contentType = processContentType(inentity, msgContext);
+            String contentType = request.getContentType();
+            
             if (HTTPTransportUtils.isRESTRequest(contentType)) {
-                pi = RESTUtil.processXMLRequest(msgContext, inentity.getContent(),
-                                                outbuffer.getOutputStream(), contentType);
+                pi = RESTUtil.processXMLRequest(
+                        msgContext, 
+                        request.getInputStream(),
+                        response.getOutputStream(), 
+                        contentType);
             } else {
                 String ip = (String)msgContext.getProperty(MessageContext.TRANSPORT_ADDR);
-                if(ip!=null){
+                if (ip != null){
                     uri = ip + uri;
                 }
-                pi = HTTPTransportUtils.processHTTPPostRequest(msgContext, inentity.getContent(),
-                                                               outbuffer.getOutputStream(),
-                                                               contentType, soapAction, uri);
+                pi = HTTPTransportUtils.processHTTPPostRequest(
+                        msgContext, 
+                        request.getInputStream(),
+                        response.getOutputStream(),
+                        contentType, 
+                        soapAction, 
+                        uri);
             }
 
-
         } else if (method.equals(HTTPConstants.HEADER_PUT)) {
-            outbuffer = copyCommonProperties(msgContext, request);
-            HttpEntity inentity = ((HttpEntityEnclosingRequest) request).getEntity();
-            String contentType = processContentType(inentity, msgContext);
-            pi = RESTUtil.processXMLRequest(msgContext, inentity.getContent(),
-                                            outbuffer.getOutputStream(), contentType);
 
-        } else if (method.equals(HTTPConstants.HEADER_DELETE)) {
-            outbuffer = copyCommonProperties(msgContext, request);
+            String contentType = request.getContentType();
+            msgContext.setProperty(Constants.Configuration.CONTENT_TYPE, contentType);
+            
+            pi = RESTUtil.processXMLRequest(
+                    msgContext, 
+                    request.getInputStream(),
+                    response.getOutputStream(), 
+                    contentType);
 
+        } else if (method.equals(HTTPConstants.HEADER_DELETE)) {
 
-            pi = RESTUtil.processURLRequest(msgContext, outbuffer.getOutputStream(), null);
+            pi = RESTUtil.processURLRequest(
+                    msgContext, 
+                    response.getOutputStream(), 
+                    null);
 
         } else {
-
             throw new MethodNotSupportedException(method + " method not supported");
         }
-        handleResponse(pi, response, outbuffer, msgContext);
-        // Finalize response
-        OperationContext operationContext = msgContext.getOperationContext();
-        Object contextWritten = null;
-        Object isTwoChannel = null;
-        if (operationContext != null) {
-            contextWritten = operationContext.getProperty(Constants.RESPONSE_WRITTEN);
-            isTwoChannel = operationContext.getProperty(Constants.DIFFERENT_EPR);
-        }
-
-
-        if ((contextWritten != null) && Constants.VALUE_TRUE.equals(contextWritten)) {
-            if ((isTwoChannel != null) && Constants.VALUE_TRUE.equals(isTwoChannel)) {
-                response.setStatusLine(new BasicStatusLine(ver, 202, "OK"));
-                return;
-            }
-            response.setStatusLine(new BasicStatusLine(ver, 200, "OK"));
-        } else {
-            response.setStatusLine(new BasicStatusLine(ver, 202, "OK"));
-        }
-    }
-
-    private void handleResponse(InvocationResponse pi, HttpResponse response,
-                                OutputBuffer outbuffer, MessageContext msgContext)
-            throws IOException {
+        
         Boolean holdResponse =
-                (Boolean) msgContext.getProperty(RequestResponseTransport.HOLD_RESPONSE);
-
+            (Boolean) msgContext.getProperty(RequestResponseTransport.HOLD_RESPONSE);
         if (pi.equals(InvocationResponse.SUSPEND) ||
                 (holdResponse != null && Boolean.TRUE.equals(holdResponse))) {
             try {
@@ -281,32 +257,27 @@
                         e.getMessage());
             }
         }
+        
+        // Finalize response
+        OperationContext operationContext = msgContext.getOperationContext();
+        Object contextWritten = null;
+        Object isTwoChannel = null;
+        if (operationContext != null) {
+            contextWritten = operationContext.getProperty(Constants.RESPONSE_WRITTEN);
+            isTwoChannel = operationContext.getProperty(Constants.DIFFERENT_EPR);
+        }
 
-        response.setEntity(outbuffer);
-    }
 
-    private String processContentType(HttpEntity inentity, MessageContext msgContext) {
-        String contentType = null;
-        Header header = inentity.getContentType();
-        if (header != null) {
-            contentType = header.getValue();
+        if ((contextWritten != null) && Constants.VALUE_TRUE.equals(contextWritten)) {
+            if ((isTwoChannel != null) && Constants.VALUE_TRUE.equals(isTwoChannel)) {
+                response.setStatus(HttpStatus.SC_ACCEPTED);
+            }
+        } else {
+            response.setStatus(HttpStatus.SC_ACCEPTED);
         }
-        msgContext.setProperty(Constants.Configuration.CONTENT_TYPE, contentType);
-        return contentType;
     }
 
-    private OutputBuffer copyCommonProperties(MessageContext msgContext, HttpRequest request) {
-        request.getRequestLine().getUri();
-        OutputBuffer outbuffer = new OutputBuffer();
-        msgContext.setProperty(MessageContext.TRANSPORT_OUT, outbuffer);
-        msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, outbuffer);
-        msgContext.setTo(new EndpointReference(request.getRequestLine().getUri()));
-        msgContext.setProperty(RequestResponseTransport.TRANSPORT_CONTROL,
-                               new SimpleHTTPRequestResponseTransport());
-        return outbuffer;
-    }
-
-    public String getHostAddress(HttpRequest request) throws java.net.SocketException {
+    public String getHostAddress(AxisHttpRequest request) throws java.net.SocketException {
         try {
             Header hostHeader = request.getFirstHeader("host");
             if (hostHeader != null) {
@@ -319,38 +290,4 @@
         return HttpUtils.getIpAddress();
     }
 
-    class SimpleHTTPRequestResponseTransport implements RequestResponseTransport {
-
-        private CountDownLatch responseReadySignal = new CountDownLatch(1);
-        RequestResponseTransportStatus status = RequestResponseTransportStatus.INITIAL;
-        AxisFault faultToBeThrownOut = null;
-        
-        public void acknowledgeMessage(MessageContext msgContext) throws AxisFault {
-            //TODO: Once the core HTTP API allows us to return an ack before unwinding, then the should be fixed
-            signalResponseReady();
-        }
-
-        public void awaitResponse() throws InterruptedException,AxisFault {
-            status = RequestResponseTransportStatus.WAITING;
-            responseReadySignal.await();
-            
-            if (faultToBeThrownOut!=null)
-            	throw faultToBeThrownOut;
-        }
-
-        public void signalResponseReady() {
-            status = RequestResponseTransportStatus.SIGNALLED;
-            responseReadySignal.countDown();
-        }
-
-        public RequestResponseTransportStatus getStatus() {
-            return status;
-        }
-
-		public void signalFaultReady(AxisFault fault) {
-			faultToBeThrownOut = fault;
-			signalResponseReady();
-		}
-        
-    }
 }

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnection.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnection.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnection.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnection.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,61 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.apache.http.HttpConnection;
+import org.apache.http.HttpException;
+import org.apache.http.HttpInetConnection;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpResponse;
+import org.apache.http.params.HttpParams;
+
+public interface AxisHttpConnection extends HttpConnection, HttpInetConnection {
+
+    HttpRequest receiveRequest(HttpParams params)
+        throws HttpException, IOException;
+    
+    InputStream getInputStream();
+    
+    void sendResponse(HttpResponse response) 
+        throws HttpException, IOException;    
+    
+    OutputStream getOutputStream();
+    
+    void flush()
+        throws IOException;
+    
+    void reset()
+        throws IOException;
+
+}

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnectionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnectionImpl.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnectionImpl.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpConnectionImpl.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,323 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.SocketException;
+import java.util.Iterator;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.http.ConnectionClosedException;
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpEntityEnclosingRequest;
+import org.apache.http.HttpException;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpRequestFactory;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpVersion;
+import org.apache.http.RequestLine;
+import org.apache.http.entity.ContentLengthStrategy;
+import org.apache.http.impl.DefaultHttpRequestFactory;
+import org.apache.http.impl.entity.StrictContentLengthStrategy;
+import org.apache.http.impl.io.ChunkedInputStream;
+import org.apache.http.impl.io.ChunkedOutputStream;
+import org.apache.http.impl.io.ContentLengthInputStream;
+import org.apache.http.impl.io.ContentLengthOutputStream;
+import org.apache.http.impl.io.HttpDataInputStream;
+import org.apache.http.impl.io.IdentityOutputStream;
+import org.apache.http.impl.io.SocketHttpDataReceiver;
+import org.apache.http.impl.io.SocketHttpDataTransmitter;
+import org.apache.http.io.HttpDataReceiver;
+import org.apache.http.io.HttpDataTransmitter;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.message.BasicRequestLine;
+import org.apache.http.message.BasicStatusLine;
+import org.apache.http.message.BufferedHeader;
+import org.apache.http.params.HttpConnectionParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.util.CharArrayBuffer;
+import org.apache.http.util.HeaderUtils;
+
+public class AxisHttpConnectionImpl implements AxisHttpConnection {
+
+    private static final Log HEADERLOG =
+        LogFactory.getLog("org.apache.axis2.transport.http.server.wire");
+
+    private final Socket socket;
+    private final HttpDataTransmitter datatransmitter;
+    private final HttpDataReceiver datareceiver;
+    private final CharArrayBuffer charbuffer; 
+    private final HttpRequestFactory requestfactory;
+    private final ContentLengthStrategy contentLenStrategy;
+    private final int maxHeaderCount;
+
+    private OutputStream out = null;
+    private InputStream in = null;
+    
+    public AxisHttpConnectionImpl(final Socket socket, final HttpParams params) 
+            throws IOException {
+        super();
+        if (socket == null) {
+            throw new IllegalArgumentException("Socket may not be null"); 
+        }
+        if (params == null) {
+            throw new IllegalArgumentException("HTTP parameters may not be null"); 
+        }
+        socket.setTcpNoDelay(HttpConnectionParams.getTcpNoDelay(params));
+        socket.setSoTimeout(HttpConnectionParams.getSoTimeout(params));
+        
+        int linger = HttpConnectionParams.getLinger(params);
+        if (linger >= 0) {
+            socket.setSoLinger(linger > 0, linger);
+        }
+        
+        int buffersize = HttpConnectionParams.getSocketBufferSize(params);
+        this.socket = socket;
+        this.datatransmitter = new SocketHttpDataTransmitter(socket, buffersize); 
+        this.datareceiver = new SocketHttpDataReceiver(socket, buffersize); 
+        this.charbuffer = new CharArrayBuffer(256);
+        this.requestfactory = new DefaultHttpRequestFactory();
+        this.contentLenStrategy = new StrictContentLengthStrategy();
+        this.maxHeaderCount = params.getIntParameter(HttpConnectionParams.MAX_HEADER_COUNT, -1);
+    }
+
+    public void close() throws IOException {
+        this.datatransmitter.flush();
+        try {
+            this.socket.shutdownOutput();
+        } catch (IOException ignore) {
+        }
+        try {
+            this.socket.shutdownInput();
+        } catch (IOException ignore) {
+        }
+        this.socket.close();
+    }
+
+    public boolean isOpen() {
+        return !this.socket.isClosed();
+    }
+
+    public boolean isStale() {
+        try {
+            this.datareceiver.isDataAvailable(1);
+            return false;
+        } catch (IOException ex) {
+            return true;
+        }
+    }
+
+    public void shutdown() throws IOException {
+        Socket tmpsocket = this.socket;
+        if (tmpsocket != null) {
+            tmpsocket.close();
+        }
+    }
+
+    public HttpRequest receiveRequest(final HttpParams params) 
+            throws HttpException, IOException {
+        if (params == null) {
+            throw new IllegalArgumentException("HTTP parameters may not be null");
+        }
+        this.charbuffer.clear();
+        int i = this.datareceiver.readLine(this.charbuffer);
+        if (i == -1) {
+            throw new ConnectionClosedException("Client closed connection"); 
+        }
+        RequestLine requestline = BasicRequestLine.parse(this.charbuffer, 0, this.charbuffer.length());
+        HttpRequest request = this.requestfactory.newHttpRequest(requestline);
+        request.getParams().setDefaults(params);
+        Header[] headers = HeaderUtils.parseHeaders(this.datareceiver, this.maxHeaderCount);
+        request.setHeaders(headers);
+        
+        if (HEADERLOG.isDebugEnabled()) {
+            HEADERLOG.debug(">> " + request.getRequestLine().toString());
+            for (i = 0; i < headers.length; i++) {
+                HEADERLOG.debug(">> " + headers[i].toString());
+            }
+        }
+        
+        // Prepare input stream
+        this.in = null;
+        if (request instanceof HttpEntityEnclosingRequest) {
+            long len = this.contentLenStrategy.determineLength(request);
+            if (len == ContentLengthStrategy.CHUNKED) {
+                this.in = new ChunkedInputStream(this.datareceiver);
+            } else if (len == ContentLengthStrategy.IDENTITY) {
+                this.in = new HttpDataInputStream(this.datareceiver);                            
+            } else {
+                this.in = new ContentLengthInputStream(datareceiver, len);
+            }
+        }
+        return request;
+    }
+    
+    public void sendResponse(final HttpResponse response) 
+            throws HttpException, IOException {
+        if (response == null) {
+            throw new IllegalArgumentException("HTTP response may not be null");
+        }
+
+        if (HEADERLOG.isDebugEnabled()) {
+            HEADERLOG.debug("<< " + response.getStatusLine().toString());
+            Header[] headers = response.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                HEADERLOG.debug("<< " + headers[i].toString());
+            }
+        }
+        
+        this.charbuffer.clear();
+        BasicStatusLine.format(this.charbuffer, response.getStatusLine());
+        this.datatransmitter.writeLine(this.charbuffer);
+        for (Iterator it = response.headerIterator(); it.hasNext(); ) {
+            Header header = (Header) it.next();
+            if (header instanceof BufferedHeader) {
+                this.datatransmitter.writeLine(((BufferedHeader)header).getBuffer());
+            } else {
+                this.charbuffer.clear();
+                BasicHeader.format(this.charbuffer, header);
+                this.datatransmitter.writeLine(this.charbuffer);
+            }
+        }
+        this.charbuffer.clear();
+        this.datatransmitter.writeLine(this.charbuffer);
+
+        // Prepare output stream
+        this.out = null;
+        HttpVersion ver = response.getStatusLine().getHttpVersion();
+        HttpEntity entity = response.getEntity();
+        if (entity != null) {
+            long len = entity.getContentLength();
+            if (entity.isChunked() && ver.greaterEquals(HttpVersion.HTTP_1_1)) {
+                this.out = new ChunkedOutputStream(this.datatransmitter);
+            } else if (len >= 0) {
+                this.out = new ContentLengthOutputStream(this.datatransmitter, len);
+            } else {
+                this.out = new IdentityOutputStream(this.datatransmitter); 
+            }
+        } else {
+            this.datatransmitter.flush();
+        }
+    }
+    
+    public InputStream getInputStream() {
+        return this.in;
+    }
+
+    public OutputStream getOutputStream() {
+        return this.out;
+    }
+    
+    public void flush() throws IOException {
+        if (this.out != null) {
+            this.out.flush();
+        } else {
+            this.datatransmitter.flush();
+        }
+    }
+
+    public void reset() throws IOException {
+        if (this.in != null) {
+            this.in.close();
+            this.in = null;
+        }
+        if (this.out != null) {
+            this.out.flush();
+            this.out.close();
+            this.out = null;
+        }
+    }
+    
+    public int getSocketTimeout() {
+        try {
+            return this.socket.getSoTimeout();
+        } catch (SocketException ex) {
+            return -1;
+        }
+    }
+
+    public void setSocketTimeout(int timeout) {
+        try {
+            this.socket.setSoTimeout(timeout);
+        } catch (SocketException ex) {
+        }
+    }
+
+    public InetAddress getLocalAddress() {
+        if (this.socket != null) {
+            return this.socket.getLocalAddress();
+        } else {
+            return null;
+        }
+    }
+
+    public int getLocalPort() {
+        if (this.socket != null) {
+            return this.socket.getLocalPort();
+        } else {
+            return -1;
+        }
+    }
+
+    public InetAddress getRemoteAddress() {
+        if (this.socket != null) {
+            return this.socket.getInetAddress();
+        } else {
+            return null;
+        }
+    }
+
+    public int getRemotePort() {
+        if (this.socket != null) {
+            return this.socket.getPort();
+        } else {
+            return -1;
+        }
+    }
+
+    public String toString() {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("[");
+        if (isOpen()) {
+            buffer.append(this.socket.getInetAddress());
+        } else {
+            buffer.append("closed");
+        }
+        buffer.append("]");
+        return buffer.toString();
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequest.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequest.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequest.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,46 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.InputStream;
+
+import org.apache.http.HttpMessage;
+
+public interface AxisHttpRequest extends HttpMessage {
+
+    String getMethod();
+    
+    String getRequestURI();
+    
+    String getContentType();
+    
+    InputStream getInputStream();
+    
+}

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequestImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequestImpl.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequestImpl.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpRequestImpl.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,169 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+
+import org.apache.http.Header;
+import org.apache.http.HttpException;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpVersion;
+import org.apache.http.params.HttpParams;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.HttpExecutionContext;
+import org.apache.http.protocol.HttpProcessor;
+
+public class AxisHttpRequestImpl implements AxisHttpRequest {
+
+    private final HttpRequest request;
+    private final AxisHttpConnection conn;
+    private final HttpProcessor httpproc;
+    private final HttpContext context;
+    
+    public AxisHttpRequestImpl(
+            final AxisHttpConnection conn,
+            final HttpRequest request, 
+            final HttpProcessor httpproc,
+            final HttpContext context) {
+        super();
+        if (conn == null) {
+            throw new IllegalArgumentException("HTTP connection may not be null");
+        }
+        if (request == null) {
+            throw new IllegalArgumentException("HTTP request may not be null");
+        }
+        if (httpproc == null) {
+            throw new IllegalArgumentException("HTTP processor may not be null");
+        }
+        if (context == null) {
+            throw new IllegalArgumentException("HTTP context may not be null");
+        }
+        this.request = request;
+        this.conn = conn;
+        this.httpproc = httpproc;
+        this.context = context;
+    }
+    
+    public void prepare() throws IOException, HttpException {
+        this.context.setAttribute(HttpExecutionContext.HTTP_CONNECTION, this.conn);
+        this.context.setAttribute(HttpExecutionContext.HTTP_REQUEST, this.request);
+        
+        this.httpproc.process(this.request, this.context);
+    }
+
+    public String getMethod() {
+        return this.request.getRequestLine().getMethod();
+    }
+
+    public String getRequestURI() {
+        return this.request.getRequestLine().getUri();
+    }
+
+    public HttpVersion getHttpVersion() {
+        return this.request.getRequestLine().getHttpVersion();
+    }
+
+    public String getContentType() {
+        Header header = this.request.getFirstHeader(HTTP.CONTENT_TYPE);
+        if (header != null) {
+            return header.getValue();
+        } else {
+            return null;
+        }
+    }
+
+    public InputStream getInputStream() {
+        return this.conn.getInputStream();
+    }
+
+    public void addHeader(final Header header) {
+        this.request.addHeader(header);
+    }
+
+    public void addHeader(final String name, final String value) {
+        this.request.addHeader(name, value);
+    }
+
+    public boolean containsHeader(final String name) {
+        return this.request.containsHeader(name);
+    }
+
+    public Header[] getAllHeaders() {
+        return this.request.getAllHeaders();
+    }
+
+    public Header getFirstHeader(final String name) {
+        return this.request.getFirstHeader(name);
+    }
+
+    public Header[] getHeaders(String name) {
+        return this.request.getHeaders(name);
+    }
+
+    public Header getLastHeader(final String name) {
+        return this.request.getLastHeader(name);
+    }
+
+    public Iterator headerIterator() {
+        return this.request.headerIterator();
+    }
+
+    public void removeHeader(final Header header) {
+        this.request.removeHeader(header);
+    }
+
+    public void removeHeaders(final String name) {
+        this.request.removeHeaders(name);
+    }
+
+    public void setHeader(final Header header) {
+        this.request.setHeader(header);
+    }
+
+    public void setHeader(final String name, final String value) {
+        this.request.setHeader(name, value);
+    }
+
+    public void setHeaders(Header[] headers) {
+        this.request.setHeaders(headers);
+    }
+
+    public HttpParams getParams() {
+        return this.request.getParams();
+    }
+
+    public void setParams(final HttpParams params) {
+        this.request.setParams(params);
+    }
+    
+}

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponse.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponse.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponse.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponse.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,48 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.OutputStream;
+
+import org.apache.http.HttpMessage;
+
+public interface AxisHttpResponse extends HttpMessage {
+
+    void setStatus(int sc);
+
+    void sendError(int sc, String msg);
+    
+    void sendError(int sc);
+
+    void setContentType(String contentType);
+    
+    OutputStream getOutputStream();
+    
+}

Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponseImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponseImpl.java?view=auto&rev=526955
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponseImpl.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/AxisHttpResponseImpl.java Mon Apr  9 16:40:57 2007
@@ -0,0 +1,257 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ *  Copyright 1999-2006 The Apache Software Foundation
+ *
+ *  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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.axis2.transport.http.server;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Iterator;
+
+import org.apache.axis2.transport.OutTransportInfo;
+import org.apache.http.Header;
+import org.apache.http.HttpException;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpVersion;
+import org.apache.http.entity.BasicHttpEntity;
+import org.apache.http.params.HttpParams;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.HttpExecutionContext;
+import org.apache.http.protocol.HttpProcessor;
+
+public class AxisHttpResponseImpl implements AxisHttpResponse, OutTransportInfo {
+
+    private final HttpResponse response;
+    private final AxisHttpConnection conn;
+    private final HttpProcessor httpproc;
+    private final HttpContext context;
+    
+    private AutoCommitOutputStream outstream;
+    private String contentType;
+    
+    private volatile boolean commited;
+    
+    public AxisHttpResponseImpl(
+            final AxisHttpConnection conn,
+            final HttpResponse response, 
+            final HttpProcessor httpproc,
+            final HttpContext context) {
+        super();
+        if (response == null) {
+            throw new IllegalArgumentException("HTTP response may not be null");
+        }
+        if (conn == null) {
+            throw new IllegalArgumentException("HTTP connection may not be null");
+        }
+        if (httpproc == null) {
+            throw new IllegalArgumentException("HTTP processor may not be null");
+        }
+        if (context == null) {
+            throw new IllegalArgumentException("HTTP context may not be null");
+        }
+        this.response = response;
+        this.conn = conn;
+        this.httpproc = httpproc;
+        this.context = context;
+    }
+
+    private void assertNotCommitted() {
+        if (this.commited) {
+            throw new IllegalStateException("Response already committed");
+        }
+    }
+    
+    public boolean isCommitted() {
+        return this.commited;
+    }
+    
+    public void commit() throws IOException, HttpException {
+        if (this.commited) {
+            return;
+        }
+        this.commited = true;
+        
+        this.context.setAttribute(HttpExecutionContext.HTTP_CONNECTION, this.conn);
+        this.context.setAttribute(HttpExecutionContext.HTTP_RESPONSE, this.response);
+        
+        BasicHttpEntity entity = new BasicHttpEntity();
+        entity.setChunked(true);
+        entity.setContentType(this.contentType);
+        
+        this.response.setEntity(entity);
+        
+        this.httpproc.process(this.response, this.context);
+        this.conn.sendResponse(this.response);
+    }
+    
+    public OutputStream getOutputStream() {
+        if (this.outstream == null) {
+            this.outstream = new AutoCommitOutputStream();
+        }
+        return this.outstream;
+    }
+
+    public void sendError(int sc, final String msg) {
+        assertNotCommitted();
+        HttpVersion ver = this.response.getHttpVersion();
+        this.response.setStatusLine(ver, sc, msg);
+    }
+
+    public void sendError(int sc) {
+        assertNotCommitted();
+        this.response.setStatusCode(sc);
+    }
+
+    public void setStatus(int sc) {
+        assertNotCommitted();
+        this.response.setStatusCode(sc);
+    }
+
+    public void setContentType(final String contentType) {
+        assertNotCommitted();
+        this.contentType = contentType;
+    }
+
+    public HttpVersion getHttpVersion() {
+        return this.response.getHttpVersion();
+    }
+
+    public void addHeader(final Header header) {
+        assertNotCommitted();
+        this.response.addHeader(header);
+    }
+
+    public void addHeader(final String name, final String value) {
+        assertNotCommitted();
+        this.response.addHeader(name, value);
+    }
+
+    public boolean containsHeader(final String name) {
+        return this.response.containsHeader(name);
+    }
+
+    public Header[] getAllHeaders() {
+        return this.response.getAllHeaders();
+    }
+
+    public Header getFirstHeader(final String name) {
+        return this.response.getFirstHeader(name);
+    }
+
+    public Header[] getHeaders(String name) {
+        return this.response.getHeaders(name);
+    }
+
+    public Header getLastHeader(final String name) {
+        return this.response.getLastHeader(name);
+    }
+
+    public Iterator headerIterator() {
+        return this.response.headerIterator();
+    }
+
+    public void removeHeader(final Header header) {
+        assertNotCommitted();
+        this.response.removeHeader(header);
+    }
+
+    public void removeHeaders(final String name) {
+        assertNotCommitted();
+        this.response.removeHeaders(name);
+    }
+
+    public void setHeader(final Header header) {
+        assertNotCommitted();
+        this.response.setHeader(header);
+    }
+
+    public void setHeader(final String name, final String value) {
+        assertNotCommitted();
+        this.response.setHeader(name, value);
+    }
+
+    public void setHeaders(Header[] headers) {
+        assertNotCommitted();
+        this.response.setHeaders(headers);
+    }
+
+    public HttpParams getParams() {
+        return this.response.getParams();
+    }
+
+    public void setParams(final HttpParams params) {
+        this.response.setParams(params);
+    }
+    
+    class AutoCommitOutputStream extends OutputStream {
+
+        private OutputStream out;
+        
+        public AutoCommitOutputStream() {
+            super();
+        }
+
+        private void ensureCommitted() throws IOException {
+            try {
+                commit();
+            } catch (HttpException ex) {
+                throw new IOException("HTTP protocol exception: " + ex.getMessage());
+            }
+            if (this.out == null) {
+                this.out = conn.getOutputStream();
+            }
+        }
+        
+        public void close() throws IOException {
+            ensureCommitted();
+            this.out.close();
+        }
+
+        public void write(final byte[] b, int off, int len) throws IOException {
+            ensureCommitted();
+            this.out.write(b, off, len);
+        }
+
+        public void write(final byte[] b) throws IOException {
+            ensureCommitted();
+            this.out.write(b);
+        }
+
+        public void write(int b) throws IOException {
+            ensureCommitted();
+            this.out.write(b);
+        }
+        
+        public void flush() throws IOException {
+            ensureCommitted();
+            this.out.flush();
+        }
+
+    }
+    
+}



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