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