You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ch...@apache.org on 2006/02/22 00:40:29 UTC

svn commit: r379627 [15/34] - in /incubator/servicemix/trunk: ./ etc/ sandbox/servicemix-wsn-1.2/src/sa/META-INF/ sandbox/servicemix-wsn-1.2/src/su/META-INF/ servicemix-assembly/ servicemix-assembly/src/main/assembly/ servicemix-assembly/src/main/relea...

Modified: incubator/servicemix/trunk/servicemix-http/pom.xml
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/pom.xml?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/pom.xml (original)
+++ incubator/servicemix/trunk/servicemix-http/pom.xml Tue Feb 21 15:40:05 2006
@@ -1,156 +1,156 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright 2005 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.
--->
-<!-- $Rev: 356052 $ $Date: 2005-12-11 14:41:20 -0800 (dim., 11 déc. 2005) $ -->
-<project 
-    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" 
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-    xmlns="http://maven.apache.org/POM/4.0.0">
-    
-    <parent>
-        <groupId>incubator-servicemix</groupId>
-        <artifactId>servicemix</artifactId>
-        <version>3.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>incubator-servicemix</groupId>
-    <artifactId>servicemix-http</artifactId>
-    <packaging>jbi-component</packaging>
-    <name>ServiceMix :: HTTP</name>
-    <description>HTTP Binding Component</description>
-    <dependencies>
-        
-        <dependency>
-	          <groupId>incubator-servicemix</groupId>
-            <artifactId>servicemix-common</artifactId>
-        </dependency>
-        <dependency>
-	          <groupId>incubator-servicemix</groupId>
-            <artifactId>servicemix-soap</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-servlet_2.4_spec</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>axis2</groupId>
-            <artifactId>axis2</artifactId>
-            <version>0.93</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>jetty</groupId>
-            <artifactId>jetty</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>wsdl4j</groupId>
-            <artifactId>wsdl4j</artifactId>
-        </dependency>
-        <dependency>
-	          <groupId>incubator-servicemix</groupId>
-            <artifactId>servicemix-core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-	          <groupId>incubator-servicemix</groupId>
-            <artifactId>servicemix-jbi</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-	          <groupId>incubator-servicemix</groupId>
-            <artifactId>servicemix-components</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-          <groupId>org.apache.xbean</groupId>
-          <artifactId>xbean-spring</artifactId>
-          <scope>compile</scope>
-        </dependency>
-        <dependency>
-          <groupId>commons-logging</groupId>
-          <artifactId>commons-logging</artifactId>
-          <scope>compile</scope>
-        </dependency>
-        <dependency>
-          <groupId>log4j</groupId>
-          <artifactId>log4j</artifactId>
-          <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-	<build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>target/generated</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <configuration>
-                            <tasks>
-                                <taskdef classname="org.apache.xbean.spring.generator.MappingGeneratorTask" name="mapping">
-                                    <classpath>
-                                        <pathelement path="${basedir}/target/classes"></pathelement>
-                                        <path refid="maven.test.classpath"></path>
-                                    </classpath>
-                                </taskdef>
-                                <mapping destFile="${basedir}/target/servicemix-http-${version}.xsd" namespace="http://servicemix.apache.org/http/1.0"
-                                    srcdir="${basedir}/src/main/java" metaInfDir="${basedir}/target/generated/"/>
-                            </tasks>
-                        </configuration>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.servicemix.plugins</groupId>
-                <artifactId>maven2-jbi-plugin</artifactId>
-                <configuration>
-                   <type>service-engine</type>
-                   <bootstrap>org.apache.servicemix.http.HttpBootstrap</bootstrap>
-                   <component>org.apache.servicemix.http.HttpComponent</component>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2005 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.
+-->
+<!-- $Rev: 356052 $ $Date: 2005-12-11 14:41:20 -0800 (dim., 11 déc. 2005) $ -->
+<project 
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xmlns="http://maven.apache.org/POM/4.0.0">
+    
+    <parent>
+        <groupId>incubator-servicemix</groupId>
+        <artifactId>servicemix</artifactId>
+        <version>3.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>incubator-servicemix</groupId>
+    <artifactId>servicemix-http</artifactId>
+    <packaging>jbi-component</packaging>
+    <name>ServiceMix :: HTTP</name>
+    <description>HTTP Binding Component</description>
+    <dependencies>
+        
+        <dependency>
+	          <groupId>incubator-servicemix</groupId>
+            <artifactId>servicemix-common</artifactId>
+        </dependency>
+        <dependency>
+	          <groupId>incubator-servicemix</groupId>
+            <artifactId>servicemix-soap</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-servlet_2.4_spec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>axis2</groupId>
+            <artifactId>axis2</artifactId>
+            <version>0.93</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jetty</groupId>
+            <artifactId>jetty</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+        </dependency>
+        <dependency>
+	          <groupId>incubator-servicemix</groupId>
+            <artifactId>servicemix-core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+	          <groupId>incubator-servicemix</groupId>
+            <artifactId>servicemix-jbi</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+	          <groupId>incubator-servicemix</groupId>
+            <artifactId>servicemix-components</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.xbean</groupId>
+          <artifactId>xbean-spring</artifactId>
+          <scope>compile</scope>
+        </dependency>
+        <dependency>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+          <scope>compile</scope>
+        </dependency>
+        <dependency>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+          <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+	<build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>target/generated</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <tasks>
+                                <taskdef classname="org.apache.xbean.spring.generator.MappingGeneratorTask" name="mapping">
+                                    <classpath>
+                                        <pathelement path="${basedir}/target/classes"></pathelement>
+                                        <path refid="maven.test.classpath"></path>
+                                    </classpath>
+                                </taskdef>
+                                <mapping destFile="${basedir}/target/servicemix-http-${version}.xsd" namespace="http://servicemix.apache.org/http/1.0"
+                                    srcdir="${basedir}/src/main/java" metaInfDir="${basedir}/target/generated/"/>
+                            </tasks>
+                        </configuration>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.servicemix.plugins</groupId>
+                <artifactId>maven2-jbi-plugin</artifactId>
+                <configuration>
+                   <type>service-engine</type>
+                   <bootstrap>org.apache.servicemix.http.HttpBootstrap</bootstrap>
+                   <component>org.apache.servicemix.http.HttpComponent</component>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Propchange: incubator/servicemix/trunk/servicemix-http/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/servicemix/trunk/servicemix-http/project.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/project.xml
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/project.xml?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/project.xml (original)
+++ incubator/servicemix/trunk/servicemix-http/project.xml Tue Feb 21 15:40:05 2006
@@ -1,321 +1,321 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-
-    Copyright 2005 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.
-
--->
-
-<!DOCTYPE project>
-<project>
-    <pomVersion>3</pomVersion>
-    <extend>${basedir}/../etc/project.xml</extend>
-
-    <name>ServiceMix :: Http</name>
-    <id>servicemix-http</id>
-    <shortDescription>Http binding component</shortDescription>
-    <description>Http binding component</description>
-  
-    <package>org.apache.servicemix.http</package>
-    <packageGroups>
-      <packageGroup>
-        <title>Http binding component</title>
-        <packages>org.apache.servicemix.http</packages>
-      </packageGroup>
-    </packageGroups>
- 
-    <!-- ============ -->
-    <!-- Dependencies -->
-    <!-- ============ -->
-    <dependencies>
-    
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>maven-jbi-plugin</artifactId>
-        <version>${pom.currentVersion}</version>
-        <type>plugin</type>
-      </dependency>
-    
-      <!-- JBI bundled dependencies -->
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>servicemix-common</artifactId>
-        <version>${pom.currentVersion}</version>
-        <properties>
-          <eclipse.dependency>true</eclipse.dependency>
-          <jbi.bundle>true</jbi.bundle>
-          <jbi.bootstrap>true</jbi.bootstrap>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>servicemix-soap</artifactId>
-        <version>${pom.currentVersion}</version>
-        <properties>
-          <eclipse.dependency>true</eclipse.dependency>
-          <jbi.bundle>true</jbi.bundle>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>${commons_logging_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>backport-util-concurrent</groupId>
-        <artifactId>backport-util-concurrent</artifactId>
-        <version>${backport_util_concurrent_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>wsdl4j</groupId>
-        <artifactId>wsdl4j</artifactId>
-        <version>${wsdl4j_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>jetty</groupId>
-        <artifactId>jetty</artifactId>
-        <version>${jetty_version}</version>
-        <properties>
-          <jbi.bundle>true</jbi.bundle>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>org.slf4j</groupId>
-        <artifactId>slf4j-jcl</artifactId>
-        <version>${slf4j_jcl_version}</version>
-        <properties>
-          <jbi.bundle>true</jbi.bundle>
-        </properties>
-      </dependency>
-      <dependency>
-        <id>commons-httpclient</id>
-        <version>${commons_httpclient_version}</version>
-        <properties>
-          <jbi.bundle>true</jbi.bundle>
-        </properties>
-      </dependency>
-      <dependency>
-        <id>commons-codec</id>
-        <version>${commons_codec_version}</version>
-        <properties>
-          <jbi.bundle>true</jbi.bundle>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>servicemix</groupId>
-        <artifactId>xfire-all</artifactId>
-        <version>${xfire_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.xbean</groupId>
-        <artifactId>xbean-spring</artifactId>
-        <version>${xbean_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.xbean</groupId>
-        <artifactId>xbean-server</artifactId>
-        <version>${xbean_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.xbean</groupId>
-        <artifactId>xbean-kernel</artifactId>
-        <version>${xbean_version}</version>
-        <properties>
-        </properties>
-      </dependency>
-      
-      <!-- Provided dependencies -->
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>servicemix-jbi</artifactId>
-        <version>${pom.currentVersion}</version>
-        <properties>
-          <eclipse.dependency>true</eclipse.dependency>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
-        <version>${geronimo_spec_j2ee_connector_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-activation_1.0.2_spec</artifactId>
-        <version>${geronimo_spec_activation_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
-        <version>${geronimo_spec_jta_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-servlet_2.4_spec</artifactId>
-        <version>${geronimo_spec_servlet_version}</version>
-      </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-javamail_1.3.1_spec</artifactId>
-      <version>${geronimo_spec_javamail_version}</version>
-    </dependency>
-    <dependency>
-      <groupId>geronimo</groupId>
-      <artifactId>geronimo-activation</artifactId>
-      <version>${geronimo_version}</version>
-    </dependency>
-    <dependency>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <version>${xml_apis_version}</version>
-    </dependency>
-    <dependency>
-      <groupId>activeio</groupId>
-      <artifactId>activeio</artifactId>
-      <version>${activeio_version}</version>
-    </dependency>
-
-      <!-- Testing only -->
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>servicemix-core</artifactId>
-        <version>${pom.currentVersion}</version>
-        <properties>
-          <eclipse.dependency>true</eclipse.dependency>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>${pom.groupId}</groupId>
-        <artifactId>servicemix-components</artifactId>
-        <version>${pom.currentVersion}</version>
-        <properties>
-          <eclipse.dependency>true</eclipse.dependency>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>commons-beanutils</groupId>
-        <artifactId>commons-beanutils</artifactId>
-        <version>${commons_beanutils_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>springframework</groupId>
-        <artifactId>spring</artifactId>
-        <version>${spring_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>incubator-activemq</groupId>
-        <artifactId>activemq-core</artifactId>
-        <version>${activemq_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>concurrent</groupId>
-        <artifactId>concurrent</artifactId>
-        <version>${concurrent_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>jencks</groupId>
-        <artifactId>jencks-all</artifactId>
-        <version>${jencks_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>mx4j</groupId>
-        <artifactId>mx4j</artifactId>
-        <version>${mx4j_version}</version>
-      </dependency>
-      <dependency>
-        <groupId>woodstox</groupId>
-        <artifactId>wstx-asl</artifactId>
-        <version>${woodstox_version}</version>
-        <properties>
-          <scope>test</scope>
-        </properties>
-      </dependency>
-      <dependency>
-        <id>stax+api</id>
-        <version>${stax_api_version}</version>
-        <properties>
-          <scope>test</scope>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>servicemix</groupId>
-        <artifactId>stax-utils</artifactId>
-        <version>${stax_utils_version}</version>
-        <properties>
-          <scope>test</scope>
-        </properties>
-      </dependency>
-      <dependency>
-        <id>xalan</id>
-        <version>${xalan_version}</version>
-        <properties>
-          <scope>test</scope>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>annogen</groupId>
-        <artifactId>annogen</artifactId>
-        <version>${annogen_version}</version>
-        <properties>
-          <scope>compile</scope>
-        </properties>
-      </dependency>
-      <dependency>
-        <groupId>qdox</groupId>
-        <artifactId>qdox</artifactId>
-        <version>${qdox_version}</version>
-        <properties>
-          <scope>compile</scope>
-        </properties>
-      </dependency>
-    </dependencies>  
-
-    <build>
-        <unitTest>
-            <includes>
-                <include>**/*Test.*</include>
-            </includes>
-            <excludes>
-               <!-- http://jira.activemq.org/jira/browse/AMQ-572 -->
-              <exclude>**/ServerManagerTest.*</exclude>
-            </excludes>
-        </unitTest>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-            <resource>
-                <directory>target/generated</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-        </resources>
-    </build>
-</project>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+
+    Copyright 2005 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.
+
+-->
+
+<!DOCTYPE project>
+<project>
+    <pomVersion>3</pomVersion>
+    <extend>${basedir}/../etc/project.xml</extend>
+
+    <name>ServiceMix :: Http</name>
+    <id>servicemix-http</id>
+    <shortDescription>Http binding component</shortDescription>
+    <description>Http binding component</description>
+  
+    <package>org.apache.servicemix.http</package>
+    <packageGroups>
+      <packageGroup>
+        <title>Http binding component</title>
+        <packages>org.apache.servicemix.http</packages>
+      </packageGroup>
+    </packageGroups>
+ 
+    <!-- ============ -->
+    <!-- Dependencies -->
+    <!-- ============ -->
+    <dependencies>
+    
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>maven-jbi-plugin</artifactId>
+        <version>${pom.currentVersion}</version>
+        <type>plugin</type>
+      </dependency>
+    
+      <!-- JBI bundled dependencies -->
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>servicemix-common</artifactId>
+        <version>${pom.currentVersion}</version>
+        <properties>
+          <eclipse.dependency>true</eclipse.dependency>
+          <jbi.bundle>true</jbi.bundle>
+          <jbi.bootstrap>true</jbi.bootstrap>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>servicemix-soap</artifactId>
+        <version>${pom.currentVersion}</version>
+        <properties>
+          <eclipse.dependency>true</eclipse.dependency>
+          <jbi.bundle>true</jbi.bundle>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+        <version>${commons_logging_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>backport-util-concurrent</groupId>
+        <artifactId>backport-util-concurrent</artifactId>
+        <version>${backport_util_concurrent_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>wsdl4j</groupId>
+        <artifactId>wsdl4j</artifactId>
+        <version>${wsdl4j_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>jetty</groupId>
+        <artifactId>jetty</artifactId>
+        <version>${jetty_version}</version>
+        <properties>
+          <jbi.bundle>true</jbi.bundle>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-jcl</artifactId>
+        <version>${slf4j_jcl_version}</version>
+        <properties>
+          <jbi.bundle>true</jbi.bundle>
+        </properties>
+      </dependency>
+      <dependency>
+        <id>commons-httpclient</id>
+        <version>${commons_httpclient_version}</version>
+        <properties>
+          <jbi.bundle>true</jbi.bundle>
+        </properties>
+      </dependency>
+      <dependency>
+        <id>commons-codec</id>
+        <version>${commons_codec_version}</version>
+        <properties>
+          <jbi.bundle>true</jbi.bundle>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>servicemix</groupId>
+        <artifactId>xfire-all</artifactId>
+        <version>${xfire_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-spring</artifactId>
+        <version>${xbean_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-server</artifactId>
+        <version>${xbean_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-kernel</artifactId>
+        <version>${xbean_version}</version>
+        <properties>
+        </properties>
+      </dependency>
+      
+      <!-- Provided dependencies -->
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>servicemix-jbi</artifactId>
+        <version>${pom.currentVersion}</version>
+        <properties>
+          <eclipse.dependency>true</eclipse.dependency>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+        <version>${geronimo_spec_j2ee_connector_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-activation_1.0.2_spec</artifactId>
+        <version>${geronimo_spec_activation_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
+        <version>${geronimo_spec_jta_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-servlet_2.4_spec</artifactId>
+        <version>${geronimo_spec_servlet_version}</version>
+      </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-javamail_1.3.1_spec</artifactId>
+      <version>${geronimo_spec_javamail_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>geronimo</groupId>
+      <artifactId>geronimo-activation</artifactId>
+      <version>${geronimo_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>${xml_apis_version}</version>
+    </dependency>
+    <dependency>
+      <groupId>activeio</groupId>
+      <artifactId>activeio</artifactId>
+      <version>${activeio_version}</version>
+    </dependency>
+
+      <!-- Testing only -->
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>servicemix-core</artifactId>
+        <version>${pom.currentVersion}</version>
+        <properties>
+          <eclipse.dependency>true</eclipse.dependency>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>${pom.groupId}</groupId>
+        <artifactId>servicemix-components</artifactId>
+        <version>${pom.currentVersion}</version>
+        <properties>
+          <eclipse.dependency>true</eclipse.dependency>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>commons-beanutils</groupId>
+        <artifactId>commons-beanutils</artifactId>
+        <version>${commons_beanutils_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>springframework</groupId>
+        <artifactId>spring</artifactId>
+        <version>${spring_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>incubator-activemq</groupId>
+        <artifactId>activemq-core</artifactId>
+        <version>${activemq_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>concurrent</groupId>
+        <artifactId>concurrent</artifactId>
+        <version>${concurrent_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>jencks</groupId>
+        <artifactId>jencks-all</artifactId>
+        <version>${jencks_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>mx4j</groupId>
+        <artifactId>mx4j</artifactId>
+        <version>${mx4j_version}</version>
+      </dependency>
+      <dependency>
+        <groupId>woodstox</groupId>
+        <artifactId>wstx-asl</artifactId>
+        <version>${woodstox_version}</version>
+        <properties>
+          <scope>test</scope>
+        </properties>
+      </dependency>
+      <dependency>
+        <id>stax+api</id>
+        <version>${stax_api_version}</version>
+        <properties>
+          <scope>test</scope>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>servicemix</groupId>
+        <artifactId>stax-utils</artifactId>
+        <version>${stax_utils_version}</version>
+        <properties>
+          <scope>test</scope>
+        </properties>
+      </dependency>
+      <dependency>
+        <id>xalan</id>
+        <version>${xalan_version}</version>
+        <properties>
+          <scope>test</scope>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>annogen</groupId>
+        <artifactId>annogen</artifactId>
+        <version>${annogen_version}</version>
+        <properties>
+          <scope>compile</scope>
+        </properties>
+      </dependency>
+      <dependency>
+        <groupId>qdox</groupId>
+        <artifactId>qdox</artifactId>
+        <version>${qdox_version}</version>
+        <properties>
+          <scope>compile</scope>
+        </properties>
+      </dependency>
+    </dependencies>  
+
+    <build>
+        <unitTest>
+            <includes>
+                <include>**/*Test.*</include>
+            </includes>
+            <excludes>
+               <!-- http://jira.activemq.org/jira/browse/AMQ-572 -->
+              <exclude>**/ServerManagerTest.*</exclude>
+            </excludes>
+        </unitTest>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>target/generated</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
+    </build>
+</project>

Propchange: incubator/servicemix/trunk/servicemix-http/project.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpExternalEndpoint.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpExternalEndpoint.java?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpExternalEndpoint.java (original)
+++ incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpExternalEndpoint.java Tue Feb 21 15:40:05 2006
@@ -1,63 +1,63 @@
-/*
- * Copyright 2005-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.
- */
-package org.apache.servicemix.http;
-
-import javax.jbi.servicedesc.ServiceEndpoint;
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-public class HttpExternalEndpoint implements ServiceEndpoint {
-
-    private HttpEndpoint endpoint;
-    
-    public HttpExternalEndpoint(HttpEndpoint endpoint) {
-        this.endpoint = endpoint;
-    }
-
-    public DocumentFragment getAsReference(QName operationName) {
-        try {
-            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-            dbf.setNamespaceAware(true);
-            Document doc = dbf.newDocumentBuilder().newDocument();
-            DocumentFragment df = doc.createDocumentFragment();
-            Element e = doc.createElementNS(HttpResolvedEndpoint.EPR_URI, HttpResolvedEndpoint.EPR_NAME);
-            Text t = doc.createTextNode(endpoint.getLocationURI());
-            e.appendChild(t);
-            df.appendChild(e);
-            return df;
-        } catch (Exception e) {
-            throw new RuntimeException("Could not create reference", e);
-        }
-    }
-
-    public String getEndpointName() {
-        return endpoint.getEndpoint();
-    }
-
-    public QName[] getInterfaces() {
-        return null;
-    }
-
-    public QName getServiceName() {
-        return endpoint.getService();
-    }
-
-}
+/*
+ * Copyright 2005-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.
+ */
+package org.apache.servicemix.http;
+
+import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.xml.namespace.QName;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
+
+public class HttpExternalEndpoint implements ServiceEndpoint {
+
+    private HttpEndpoint endpoint;
+    
+    public HttpExternalEndpoint(HttpEndpoint endpoint) {
+        this.endpoint = endpoint;
+    }
+
+    public DocumentFragment getAsReference(QName operationName) {
+        try {
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            dbf.setNamespaceAware(true);
+            Document doc = dbf.newDocumentBuilder().newDocument();
+            DocumentFragment df = doc.createDocumentFragment();
+            Element e = doc.createElementNS(HttpResolvedEndpoint.EPR_URI, HttpResolvedEndpoint.EPR_NAME);
+            Text t = doc.createTextNode(endpoint.getLocationURI());
+            e.appendChild(t);
+            df.appendChild(e);
+            return df;
+        } catch (Exception e) {
+            throw new RuntimeException("Could not create reference", e);
+        }
+    }
+
+    public String getEndpointName() {
+        return endpoint.getEndpoint();
+    }
+
+    public QName[] getInterfaces() {
+        return null;
+    }
+
+    public QName getServiceName() {
+        return endpoint.getService();
+    }
+
+}

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpExternalEndpoint.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpResolvedEndpoint.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpResolvedEndpoint.java?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpResolvedEndpoint.java (original)
+++ incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpResolvedEndpoint.java Tue Feb 21 15:40:05 2006
@@ -1,51 +1,51 @@
-/*
- * Copyright 2005-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.
- */
-package org.apache.servicemix.http;
-
-import javax.jbi.servicedesc.ServiceEndpoint;
-import javax.xml.namespace.QName;
-
-import org.w3c.dom.DocumentFragment;
-
-public class HttpResolvedEndpoint implements ServiceEndpoint {
-
-    public final static String EPR_URI = "urn:servicemix:http";
-    public final static String EPR_NAME = "epr";
-    
-    private DocumentFragment reference;
-    private String epName;
-    
-    public HttpResolvedEndpoint(DocumentFragment epr, String epName) {
-        this.reference = epr;
-    }
-
-    public DocumentFragment getAsReference(QName operationName) {
-        return reference;
-    }
-
-    public String getEndpointName() {
-        return epName;
-    }
-
-    public QName[] getInterfaces() {
-        return null;
-    }
-
-    public QName getServiceName() {
-        return new QName("urn:servicemix:http", "HttpComponent");
-    }
-    
+/*
+ * Copyright 2005-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.
+ */
+package org.apache.servicemix.http;
+
+import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.DocumentFragment;
+
+public class HttpResolvedEndpoint implements ServiceEndpoint {
+
+    public final static String EPR_URI = "urn:servicemix:http";
+    public final static String EPR_NAME = "epr";
+    
+    private DocumentFragment reference;
+    private String epName;
+    
+    public HttpResolvedEndpoint(DocumentFragment epr, String epName) {
+        this.reference = epr;
+    }
+
+    public DocumentFragment getAsReference(QName operationName) {
+        return reference;
+    }
+
+    public String getEndpointName() {
+        return epName;
+    }
+
+    public QName[] getInterfaces() {
+        return null;
+    }
+
+    public QName getServiceName() {
+        return new QName("urn:servicemix:http", "HttpComponent");
+    }
+    
 }

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/HttpResolvedEndpoint.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java (original)
+++ incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java Tue Feb 21 15:40:05 2006
@@ -1,193 +1,193 @@
-/*
- * Copyright 2005-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.
- */
-package org.apache.servicemix.http.processors;
-
-import java.net.URI;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.jbi.component.ComponentContext;
-import javax.jbi.messaging.DeliveryChannel;
-import javax.jbi.messaging.ExchangeStatus;
-import javax.jbi.messaging.MessageExchange;
-import javax.jbi.messaging.NormalizedMessage;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.namespace.QName;
-
-import org.apache.servicemix.JbiConstants;
-import org.apache.servicemix.common.BaseLifeCycle;
-import org.apache.servicemix.common.ExchangeProcessor;
-import org.apache.servicemix.http.HttpEndpoint;
-import org.apache.servicemix.http.HttpLifeCycle;
-import org.apache.servicemix.http.HttpProcessor;
-import org.apache.servicemix.http.ServerManager;
-import org.apache.servicemix.soap.SoapFault;
-import org.apache.servicemix.soap.SoapHelper;
-import org.apache.servicemix.soap.handlers.AddressingInHandler;
-import org.apache.servicemix.soap.marshalers.JBIMarshaler;
-import org.apache.servicemix.soap.marshalers.SoapMarshaler;
-import org.apache.servicemix.soap.marshalers.SoapMessage;
-import org.mortbay.jetty.RetryRequest;
-import org.mortbay.jetty.handler.ContextHandler;
-import org.mortbay.util.ajax.Continuation;
-import org.mortbay.util.ajax.ContinuationSupport;
-
-import edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap;
-
-public class ConsumerProcessor implements ExchangeProcessor, HttpProcessor {
-
-    public static final URI IN_ONLY = URI.create("http://www.w3.org/2004/08/wsdl/in-only");
-    public static final URI IN_OUT = URI.create("http://www.w3.org/2004/08/wsdl/in-out");
-    public static final URI ROBUST_IN_ONLY = URI.create("http://www.w3.org/2004/08/wsdl/robust-in-only");
-    
-    protected HttpEndpoint endpoint;
-    protected ContextHandler httpContext;
-    protected ComponentContext context;
-    protected DeliveryChannel channel;
-    protected SoapMarshaler soapMarshaler;
-    protected JBIMarshaler jbiMarshaler;
-    protected SoapHelper soapHelper;
-    protected Map locks;
-        
-    public ConsumerProcessor(HttpEndpoint endpoint) {
-        this.endpoint = endpoint;
-        this.soapMarshaler = new SoapMarshaler(endpoint.isSoap());
-        this.soapHelper = new SoapHelper(endpoint);
-        this.soapHelper.addPolicy(new AddressingInHandler());
-        this.jbiMarshaler = new JBIMarshaler();
-        this.locks = new ConcurrentHashMap();
-    }
-    
-    public void process(MessageExchange exchange) throws Exception {
-        Continuation cont = (Continuation) locks.remove(exchange.getExchangeId());
-        if (cont != null) {
-            //System.err.println("Notifying: " + exchange.getExchangeId());
-            cont.resume();
-        } else {
-            throw new IllegalStateException("Exchange not found");
-        }
-    }
-
-    public void start() throws Exception {
-        Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
-        String url = endpoint.getLocationURI();
-        httpContext = getServerManager().createContext(url, this);
-        httpContext.start();
-        context = endpoint.getServiceUnit().getComponent().getComponentContext();
-        channel = context.getDeliveryChannel();
-    }
-
-    public void stop() throws Exception {
-        httpContext.stop();
-        getServerManager().remove(httpContext);
-    }
-
-    public void process(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        if (!"POST".equals(request.getMethod())) {
-            throw new UnsupportedOperationException(request.getMethod() + " not supported");
-        }
-        QName envelopeName = null;
-        try {
-            // Not giving a specific mutex will synchronize on the contination itself
-            Continuation cont = ContinuationSupport.getContinuation(request, null);
-            MessageExchange exchange;
-            // If the continuation is not a retry
-            if (!cont.isPending()) {
-                SoapMessage message = soapMarshaler.createReader().read(request.getInputStream(), 
-                                                                        request.getHeader("Content-Type"));
-                exchange = soapHelper.createExchange(message);
-                //System.err.println("Handling: " + exchange.getExchangeId());
-                NormalizedMessage inMessage = exchange.getMessage("in");
-                inMessage.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(request));
-                locks.put(exchange.getExchangeId(), cont);
-                request.setAttribute(MessageExchange.class.getName(), exchange);
-                //System.err.println("Sending: " + exchange.getExchangeId());
-                ((BaseLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle()).sendConsumerExchange(exchange, this);
-                // TODO: make this timeout configurable
-                boolean result = cont.suspend(1000 * 60); // 60 s
-                if (!result) {
-                    throw new Exception("Error sending exchange: aborted");
-                }
-                //System.err.println("Continuing: " + exchange.getExchangeId());
-            } else {
-                exchange = (MessageExchange) request.getAttribute(MessageExchange.class.getName());
-                request.removeAttribute(MessageExchange.class.getName());
-                boolean result = cont.suspend(0); 
-                // Check if this is a timeout
-                if (exchange == null) {
-                    throw new IllegalStateException("Exchange not found");
-                }
-                //System.err.println("Processing: " + exchange.getExchangeId());
-                if (!result) {
-                    throw new Exception("Timeout");
-                }
-            }
-            if (exchange.getStatus() == ExchangeStatus.ERROR) {
-                exchange.setStatus(ExchangeStatus.DONE);
-                channel.send(exchange);
-                if (exchange.getError() != null) {
-                    throw new Exception(exchange.getError());
-                } else if (exchange.getFault() != null) {
-                    throw new SoapFault(SoapFault.RECEIVER, null, null, null, exchange.getFault().getContent());
-                } else {
-                    throw new Exception("Unkown Error");
-                }
-            } else if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
-                NormalizedMessage outMsg = exchange.getMessage("out");
-                if (outMsg != null) {
-                    SoapMessage out = new SoapMessage();
-                    jbiMarshaler.fromNMS(out, outMsg);
-                    soapMarshaler.createWriter(out).write(response.getOutputStream());
-                }
-                exchange.setStatus(ExchangeStatus.DONE);
-                channel.send(exchange);
-            }
-        } catch (SoapFault fault) {
-            if (SoapFault.SENDER.equals(fault.getCode())) {
-                response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
-            } else {
-                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            }
-            SoapMessage soapFault = new SoapMessage();
-            soapFault.setFault(fault);
-            soapFault.setEnvelopeName(envelopeName);
-            soapMarshaler.createWriter(soapFault).write(response.getOutputStream());
-        } catch (RetryRequest e) {
-            throw e;
-        } catch (Exception e) {
-            throw e;
-        }
-    }
-    
-    protected Map getHeaders(HttpServletRequest request) {
-        Map headers = new HashMap();
-        Enumeration enumeration = request.getHeaderNames();
-        while (enumeration.hasMoreElements()) {
-            String name = (String) enumeration.nextElement();
-            String value = request.getHeader(name);
-            headers.put(name, value);
-        }
-        return headers;
-    }
-    
-    protected ServerManager getServerManager() {
-        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
-        return lf.getServer();
-    }
-
-}
+/*
+ * Copyright 2005-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.
+ */
+package org.apache.servicemix.http.processors;
+
+import java.net.URI;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jbi.component.ComponentContext;
+import javax.jbi.messaging.DeliveryChannel;
+import javax.jbi.messaging.ExchangeStatus;
+import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.NormalizedMessage;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.namespace.QName;
+
+import org.apache.servicemix.JbiConstants;
+import org.apache.servicemix.common.BaseLifeCycle;
+import org.apache.servicemix.common.ExchangeProcessor;
+import org.apache.servicemix.http.HttpEndpoint;
+import org.apache.servicemix.http.HttpLifeCycle;
+import org.apache.servicemix.http.HttpProcessor;
+import org.apache.servicemix.http.ServerManager;
+import org.apache.servicemix.soap.SoapFault;
+import org.apache.servicemix.soap.SoapHelper;
+import org.apache.servicemix.soap.handlers.AddressingInHandler;
+import org.apache.servicemix.soap.marshalers.JBIMarshaler;
+import org.apache.servicemix.soap.marshalers.SoapMarshaler;
+import org.apache.servicemix.soap.marshalers.SoapMessage;
+import org.mortbay.jetty.RetryRequest;
+import org.mortbay.jetty.handler.ContextHandler;
+import org.mortbay.util.ajax.Continuation;
+import org.mortbay.util.ajax.ContinuationSupport;
+
+import edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap;
+
+public class ConsumerProcessor implements ExchangeProcessor, HttpProcessor {
+
+    public static final URI IN_ONLY = URI.create("http://www.w3.org/2004/08/wsdl/in-only");
+    public static final URI IN_OUT = URI.create("http://www.w3.org/2004/08/wsdl/in-out");
+    public static final URI ROBUST_IN_ONLY = URI.create("http://www.w3.org/2004/08/wsdl/robust-in-only");
+    
+    protected HttpEndpoint endpoint;
+    protected ContextHandler httpContext;
+    protected ComponentContext context;
+    protected DeliveryChannel channel;
+    protected SoapMarshaler soapMarshaler;
+    protected JBIMarshaler jbiMarshaler;
+    protected SoapHelper soapHelper;
+    protected Map locks;
+        
+    public ConsumerProcessor(HttpEndpoint endpoint) {
+        this.endpoint = endpoint;
+        this.soapMarshaler = new SoapMarshaler(endpoint.isSoap());
+        this.soapHelper = new SoapHelper(endpoint);
+        this.soapHelper.addPolicy(new AddressingInHandler());
+        this.jbiMarshaler = new JBIMarshaler();
+        this.locks = new ConcurrentHashMap();
+    }
+    
+    public void process(MessageExchange exchange) throws Exception {
+        Continuation cont = (Continuation) locks.remove(exchange.getExchangeId());
+        if (cont != null) {
+            //System.err.println("Notifying: " + exchange.getExchangeId());
+            cont.resume();
+        } else {
+            throw new IllegalStateException("Exchange not found");
+        }
+    }
+
+    public void start() throws Exception {
+        Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
+        String url = endpoint.getLocationURI();
+        httpContext = getServerManager().createContext(url, this);
+        httpContext.start();
+        context = endpoint.getServiceUnit().getComponent().getComponentContext();
+        channel = context.getDeliveryChannel();
+    }
+
+    public void stop() throws Exception {
+        httpContext.stop();
+        getServerManager().remove(httpContext);
+    }
+
+    public void process(HttpServletRequest request, HttpServletResponse response) throws Exception {
+        if (!"POST".equals(request.getMethod())) {
+            throw new UnsupportedOperationException(request.getMethod() + " not supported");
+        }
+        QName envelopeName = null;
+        try {
+            // Not giving a specific mutex will synchronize on the contination itself
+            Continuation cont = ContinuationSupport.getContinuation(request, null);
+            MessageExchange exchange;
+            // If the continuation is not a retry
+            if (!cont.isPending()) {
+                SoapMessage message = soapMarshaler.createReader().read(request.getInputStream(), 
+                                                                        request.getHeader("Content-Type"));
+                exchange = soapHelper.createExchange(message);
+                //System.err.println("Handling: " + exchange.getExchangeId());
+                NormalizedMessage inMessage = exchange.getMessage("in");
+                inMessage.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(request));
+                locks.put(exchange.getExchangeId(), cont);
+                request.setAttribute(MessageExchange.class.getName(), exchange);
+                //System.err.println("Sending: " + exchange.getExchangeId());
+                ((BaseLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle()).sendConsumerExchange(exchange, this);
+                // TODO: make this timeout configurable
+                boolean result = cont.suspend(1000 * 60); // 60 s
+                if (!result) {
+                    throw new Exception("Error sending exchange: aborted");
+                }
+                //System.err.println("Continuing: " + exchange.getExchangeId());
+            } else {
+                exchange = (MessageExchange) request.getAttribute(MessageExchange.class.getName());
+                request.removeAttribute(MessageExchange.class.getName());
+                boolean result = cont.suspend(0); 
+                // Check if this is a timeout
+                if (exchange == null) {
+                    throw new IllegalStateException("Exchange not found");
+                }
+                //System.err.println("Processing: " + exchange.getExchangeId());
+                if (!result) {
+                    throw new Exception("Timeout");
+                }
+            }
+            if (exchange.getStatus() == ExchangeStatus.ERROR) {
+                exchange.setStatus(ExchangeStatus.DONE);
+                channel.send(exchange);
+                if (exchange.getError() != null) {
+                    throw new Exception(exchange.getError());
+                } else if (exchange.getFault() != null) {
+                    throw new SoapFault(SoapFault.RECEIVER, null, null, null, exchange.getFault().getContent());
+                } else {
+                    throw new Exception("Unkown Error");
+                }
+            } else if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
+                NormalizedMessage outMsg = exchange.getMessage("out");
+                if (outMsg != null) {
+                    SoapMessage out = new SoapMessage();
+                    jbiMarshaler.fromNMS(out, outMsg);
+                    soapMarshaler.createWriter(out).write(response.getOutputStream());
+                }
+                exchange.setStatus(ExchangeStatus.DONE);
+                channel.send(exchange);
+            }
+        } catch (SoapFault fault) {
+            if (SoapFault.SENDER.equals(fault.getCode())) {
+                response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+            } else {
+                response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+            }
+            SoapMessage soapFault = new SoapMessage();
+            soapFault.setFault(fault);
+            soapFault.setEnvelopeName(envelopeName);
+            soapMarshaler.createWriter(soapFault).write(response.getOutputStream());
+        } catch (RetryRequest e) {
+            throw e;
+        } catch (Exception e) {
+            throw e;
+        }
+    }
+    
+    protected Map getHeaders(HttpServletRequest request) {
+        Map headers = new HashMap();
+        Enumeration enumeration = request.getHeaderNames();
+        while (enumeration.hasMoreElements()) {
+            String name = (String) enumeration.nextElement();
+            String value = request.getHeader(name);
+            headers.put(name, value);
+        }
+        return headers;
+    }
+    
+    protected ServerManager getServerManager() {
+        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
+        return lf.getServer();
+    }
+
+}

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java (original)
+++ incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java Tue Feb 21 15:40:05 2006
@@ -1,227 +1,227 @@
-/*
- * Copyright 2005-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.
- */
-package org.apache.servicemix.http.processors;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.jbi.messaging.DeliveryChannel;
-import javax.jbi.messaging.ExchangeStatus;
-import javax.jbi.messaging.Fault;
-import javax.jbi.messaging.InOnly;
-import javax.jbi.messaging.InOptionalOut;
-import javax.jbi.messaging.InOut;
-import javax.jbi.messaging.MessageExchange;
-import javax.jbi.messaging.NormalizedMessage;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.URI;
-import org.apache.commons.httpclient.URIException;
-import org.apache.commons.httpclient.methods.ByteArrayRequestEntity;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.RequestEntity;
-import org.apache.servicemix.JbiConstants;
-import org.apache.servicemix.common.ExchangeProcessor;
-import org.apache.servicemix.http.HttpEndpoint;
-import org.apache.servicemix.http.HttpLifeCycle;
-import org.apache.servicemix.soap.marshalers.JBIMarshaler;
-import org.apache.servicemix.soap.marshalers.SoapMarshaler;
-import org.apache.servicemix.soap.marshalers.SoapMessage;
-import org.apache.servicemix.soap.marshalers.SoapReader;
-import org.apache.servicemix.soap.marshalers.SoapWriter;
-
-/**
- * 
- * @author Guillaume Nodet
- * @version $Revision: 370186 $
- * @since 3.0
- */
-public class ProviderProcessor implements ExchangeProcessor {
-
-    protected HttpEndpoint endpoint;
-    protected HostConfiguration host;
-    protected SoapMarshaler soapMarshaler;
-    protected JBIMarshaler jbiMarshaler;
-    protected DeliveryChannel channel;
-    
-    public ProviderProcessor(HttpEndpoint endpoint) {
-        try {
-        	this.endpoint = endpoint;
-            this.soapMarshaler = new SoapMarshaler(endpoint.isSoap());
-            this.jbiMarshaler = new JBIMarshaler();
-        	this.host = new HostConfiguration();
-			this.host.setHost(new URI(endpoint.getLocationURI(), false));
-		} catch (URIException e) {
-			throw new RuntimeException(e);
-		}
-    }
-
-    public void process(MessageExchange exchange) throws Exception {
-        if (exchange.getStatus() == ExchangeStatus.DONE) {
-            return;
-        } else if (exchange.getStatus() == ExchangeStatus.ERROR) {
-            exchange.setStatus(ExchangeStatus.DONE);
-            channel.send(exchange);
-            return;
-        }
-        PostMethod method = new PostMethod(endpoint.getLocationURI());
-        SoapMessage soapMessage = new SoapMessage();
-        NormalizedMessage nm = exchange.getMessage("in");
-        jbiMarshaler.fromNMS(soapMessage, nm);
-        SoapWriter writer = soapMarshaler.createWriter(soapMessage);
-        Map headers = (Map) nm.getProperty(JbiConstants.PROTOCOL_HEADERS);
-        if (headers != null) {
-        	for (Iterator it = headers.keySet().iterator(); it.hasNext();) {
-        		String name = (String) it.next();
-        		String value = (String) headers.get(name);
-        		method.addRequestHeader(name, value);
-        	}
-        }
-        method.addRequestHeader("Content-Type", writer.getContentType());
-        method.setRequestEntity(writeMessage(writer));
-        int response = getClient().executeMethod(host, method);
-        if (response != HttpStatus.SC_OK) {
-        	if (exchange instanceof InOnly == false) {
-        		Fault fault = exchange.createFault();
-                SoapReader reader = soapMarshaler.createReader();
-                Header contentType = method.getResponseHeader("Content-Type");
-                soapMessage = reader.read(method.getResponseBodyAsStream(), 
-                						  contentType != null ? contentType.getValue() : null);
-                fault.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
-        		jbiMarshaler.toNMS(fault, soapMessage);
-        		exchange.setFault(fault);
-        		exchange.setStatus(ExchangeStatus.ERROR);
-        		channel.send(exchange);
-        		return;
-        	} else {
-        		throw new Exception("Invalid status response: " + response);
-        	}
-        }
-        if (exchange instanceof InOut) {
-            NormalizedMessage msg = exchange.createMessage();
-            SoapReader reader = soapMarshaler.createReader();
-            Header contentType = method.getResponseHeader("Content-Type");
-            soapMessage = reader.read(method.getResponseBodyAsStream(), 
-            						  contentType != null ? contentType.getValue() : null);
-            msg.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
-            jbiMarshaler.toNMS(msg, soapMessage);
-            ((InOut) exchange).setOutMessage(msg);
-            channel.sendSync(exchange);
-        } else if (exchange instanceof InOptionalOut) {
-            if (method.getResponseContentLength() == 0) {
-                exchange.setStatus(ExchangeStatus.DONE);
-                channel.send(exchange);
-            } else {
-                NormalizedMessage msg = exchange.createMessage();
-                SoapReader reader = soapMarshaler.createReader();
-                soapMessage = reader.read(method.getResponseBodyAsStream(), 
-                                          method.getResponseHeader("Content-Type").getValue());
-                msg.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
-                jbiMarshaler.toNMS(msg, soapMessage);
-                ((InOptionalOut) exchange).setOutMessage(msg);
-                channel.sendSync(exchange);
-            }
-        } else {
-            exchange.setStatus(ExchangeStatus.DONE);
-            channel.send(exchange);
-        }
-    }
-
-    public void start() throws Exception {
-        channel = endpoint.getServiceUnit().getComponent().getComponentContext().getDeliveryChannel();
-    }
-
-    public void stop() throws Exception {
-    }
-
-    protected Map getHeaders(HttpServletRequest request) {
-		Map headers = new HashMap();
-        Enumeration enumeration = request.getHeaderNames();
-        while (enumeration.hasMoreElements()) {
-            String name = (String) enumeration.nextElement();
-            String value = request.getHeader(name);
-            headers.put(name, value);
-        }
-		return headers;
-	}
-	
-    protected Map getHeaders(HttpMethod method) {
-		Map headers = new HashMap();
-        Header[] h = method.getResponseHeaders();
-        for (int i = 0; i < h.length; i++) {
-			headers.put(h[i].getName(), h[i].getValue());
-		}
-		return headers;
-	}
-	
-    protected RequestEntity writeMessage(SoapWriter writer) throws Exception {
-        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
-    	if (lf.getConfiguration().isStreamingEnabled()) {
-    		return new StreamingRequestEntity(writer);
-    	} else {
-    		ByteArrayOutputStream baos = new ByteArrayOutputStream();
-    		writer.write(baos);
-    		return new ByteArrayRequestEntity(baos.toByteArray(), writer.getContentType());
-    	}
-    }
-
-    protected HttpClient getClient() {
-        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
-        return lf.getClient();
-    }
-
-    public static class StreamingRequestEntity implements RequestEntity {
-
-        private SoapWriter writer;
-        
-        public StreamingRequestEntity(SoapWriter writer) {
-            this.writer = writer;
-        }
-        
-        public boolean isRepeatable() {
-            return false;
-        }
-
-        public void writeRequest(OutputStream out) throws IOException {
-            try {
-            	writer.write(out);
-                out.flush();
-            } catch (Exception e) {
-                throw (IOException) new IOException("Could not write request").initCause(e);
-            }
-        }
-
-        public long getContentLength() {
-            // not known so we send negative value
-            return -1;
-        }
-
-        public String getContentType() {
-            return writer.getContentType();
-        }
-        
-    }
-}
+/*
+ * Copyright 2005-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.
+ */
+package org.apache.servicemix.http.processors;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.jbi.messaging.DeliveryChannel;
+import javax.jbi.messaging.ExchangeStatus;
+import javax.jbi.messaging.Fault;
+import javax.jbi.messaging.InOnly;
+import javax.jbi.messaging.InOptionalOut;
+import javax.jbi.messaging.InOut;
+import javax.jbi.messaging.MessageExchange;
+import javax.jbi.messaging.NormalizedMessage;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.httpclient.Header;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpMethod;
+import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.URI;
+import org.apache.commons.httpclient.URIException;
+import org.apache.commons.httpclient.methods.ByteArrayRequestEntity;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.RequestEntity;
+import org.apache.servicemix.JbiConstants;
+import org.apache.servicemix.common.ExchangeProcessor;
+import org.apache.servicemix.http.HttpEndpoint;
+import org.apache.servicemix.http.HttpLifeCycle;
+import org.apache.servicemix.soap.marshalers.JBIMarshaler;
+import org.apache.servicemix.soap.marshalers.SoapMarshaler;
+import org.apache.servicemix.soap.marshalers.SoapMessage;
+import org.apache.servicemix.soap.marshalers.SoapReader;
+import org.apache.servicemix.soap.marshalers.SoapWriter;
+
+/**
+ * 
+ * @author Guillaume Nodet
+ * @version $Revision: 370186 $
+ * @since 3.0
+ */
+public class ProviderProcessor implements ExchangeProcessor {
+
+    protected HttpEndpoint endpoint;
+    protected HostConfiguration host;
+    protected SoapMarshaler soapMarshaler;
+    protected JBIMarshaler jbiMarshaler;
+    protected DeliveryChannel channel;
+    
+    public ProviderProcessor(HttpEndpoint endpoint) {
+        try {
+        	this.endpoint = endpoint;
+            this.soapMarshaler = new SoapMarshaler(endpoint.isSoap());
+            this.jbiMarshaler = new JBIMarshaler();
+        	this.host = new HostConfiguration();
+			this.host.setHost(new URI(endpoint.getLocationURI(), false));
+		} catch (URIException e) {
+			throw new RuntimeException(e);
+		}
+    }
+
+    public void process(MessageExchange exchange) throws Exception {
+        if (exchange.getStatus() == ExchangeStatus.DONE) {
+            return;
+        } else if (exchange.getStatus() == ExchangeStatus.ERROR) {
+            exchange.setStatus(ExchangeStatus.DONE);
+            channel.send(exchange);
+            return;
+        }
+        PostMethod method = new PostMethod(endpoint.getLocationURI());
+        SoapMessage soapMessage = new SoapMessage();
+        NormalizedMessage nm = exchange.getMessage("in");
+        jbiMarshaler.fromNMS(soapMessage, nm);
+        SoapWriter writer = soapMarshaler.createWriter(soapMessage);
+        Map headers = (Map) nm.getProperty(JbiConstants.PROTOCOL_HEADERS);
+        if (headers != null) {
+        	for (Iterator it = headers.keySet().iterator(); it.hasNext();) {
+        		String name = (String) it.next();
+        		String value = (String) headers.get(name);
+        		method.addRequestHeader(name, value);
+        	}
+        }
+        method.addRequestHeader("Content-Type", writer.getContentType());
+        method.setRequestEntity(writeMessage(writer));
+        int response = getClient().executeMethod(host, method);
+        if (response != HttpStatus.SC_OK) {
+        	if (exchange instanceof InOnly == false) {
+        		Fault fault = exchange.createFault();
+                SoapReader reader = soapMarshaler.createReader();
+                Header contentType = method.getResponseHeader("Content-Type");
+                soapMessage = reader.read(method.getResponseBodyAsStream(), 
+                						  contentType != null ? contentType.getValue() : null);
+                fault.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
+        		jbiMarshaler.toNMS(fault, soapMessage);
+        		exchange.setFault(fault);
+        		exchange.setStatus(ExchangeStatus.ERROR);
+        		channel.send(exchange);
+        		return;
+        	} else {
+        		throw new Exception("Invalid status response: " + response);
+        	}
+        }
+        if (exchange instanceof InOut) {
+            NormalizedMessage msg = exchange.createMessage();
+            SoapReader reader = soapMarshaler.createReader();
+            Header contentType = method.getResponseHeader("Content-Type");
+            soapMessage = reader.read(method.getResponseBodyAsStream(), 
+            						  contentType != null ? contentType.getValue() : null);
+            msg.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
+            jbiMarshaler.toNMS(msg, soapMessage);
+            ((InOut) exchange).setOutMessage(msg);
+            channel.sendSync(exchange);
+        } else if (exchange instanceof InOptionalOut) {
+            if (method.getResponseContentLength() == 0) {
+                exchange.setStatus(ExchangeStatus.DONE);
+                channel.send(exchange);
+            } else {
+                NormalizedMessage msg = exchange.createMessage();
+                SoapReader reader = soapMarshaler.createReader();
+                soapMessage = reader.read(method.getResponseBodyAsStream(), 
+                                          method.getResponseHeader("Content-Type").getValue());
+                msg.setProperty(JbiConstants.PROTOCOL_HEADERS, getHeaders(method));
+                jbiMarshaler.toNMS(msg, soapMessage);
+                ((InOptionalOut) exchange).setOutMessage(msg);
+                channel.sendSync(exchange);
+            }
+        } else {
+            exchange.setStatus(ExchangeStatus.DONE);
+            channel.send(exchange);
+        }
+    }
+
+    public void start() throws Exception {
+        channel = endpoint.getServiceUnit().getComponent().getComponentContext().getDeliveryChannel();
+    }
+
+    public void stop() throws Exception {
+    }
+
+    protected Map getHeaders(HttpServletRequest request) {
+		Map headers = new HashMap();
+        Enumeration enumeration = request.getHeaderNames();
+        while (enumeration.hasMoreElements()) {
+            String name = (String) enumeration.nextElement();
+            String value = request.getHeader(name);
+            headers.put(name, value);
+        }
+		return headers;
+	}
+	
+    protected Map getHeaders(HttpMethod method) {
+		Map headers = new HashMap();
+        Header[] h = method.getResponseHeaders();
+        for (int i = 0; i < h.length; i++) {
+			headers.put(h[i].getName(), h[i].getValue());
+		}
+		return headers;
+	}
+	
+    protected RequestEntity writeMessage(SoapWriter writer) throws Exception {
+        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
+    	if (lf.getConfiguration().isStreamingEnabled()) {
+    		return new StreamingRequestEntity(writer);
+    	} else {
+    		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    		writer.write(baos);
+    		return new ByteArrayRequestEntity(baos.toByteArray(), writer.getContentType());
+    	}
+    }
+
+    protected HttpClient getClient() {
+        HttpLifeCycle lf =  (HttpLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
+        return lf.getClient();
+    }
+
+    public static class StreamingRequestEntity implements RequestEntity {
+
+        private SoapWriter writer;
+        
+        public StreamingRequestEntity(SoapWriter writer) {
+            this.writer = writer;
+        }
+        
+        public boolean isRepeatable() {
+            return false;
+        }
+
+        public void writeRequest(OutputStream out) throws IOException {
+            try {
+            	writer.write(out);
+                out.flush();
+            } catch (Exception e) {
+                throw (IOException) new IOException("Could not write request").initCause(e);
+            }
+        }
+
+        public long getContentLength() {
+            // not known so we send negative value
+            return -1;
+        }
+
+        public String getContentType() {
+            return writer.getContentType();
+        }
+        
+    }
+}

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/java/org/apache/servicemix/http/processors/ProviderProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/DISCLAIMER.txt
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/DISCLAIMER.txt?rev=379627&r1=379626&r2=379627&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/DISCLAIMER.txt (original)
+++ incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/DISCLAIMER.txt Tue Feb 21 15:40:05 2006
@@ -1,7 +1,7 @@
-ActiveMQ is an effort undergoing incubation at the Apache Software Foundation
-(ASF), sponsored by the Geronimo PMC. Incubation is required of all newly
-accepted projects until a further review indicates that the infrastructure,
-communications, and decision making process have stabilized in a manner
-consistent with other successful ASF projects. While incubation status is not
-necessarily a reflection of the completeness or stability of the code, it does
+ActiveMQ is an effort undergoing incubation at the Apache Software Foundation
+(ASF), sponsored by the Geronimo PMC. Incubation is required of all newly
+accepted projects until a further review indicates that the infrastructure,
+communications, and decision making process have stabilized in a manner
+consistent with other successful ASF projects. While incubation status is not
+necessarily a reflection of the completeness or stability of the code, it does
 indicate that the project has yet to be fully endorsed by the ASF.

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/DISCLAIMER.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/servicemix/trunk/servicemix-http/src/main/resources/META-INF/LICENSE.txt
------------------------------------------------------------------------------
    svn:eol-style = native