proxy: switch to stubbed out version that logs error that it's no longer supported by BlazeDS (and throws if invoked)
diff --git a/distribution/pom.xml b/distribution/pom.xml
index f3279dd..e363579 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -91,21 +91,13 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.flex.blazeds</groupId>
+			<artifactId>flex-messaging-proxy</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.flex.blazeds</groupId>
 			<artifactId>flex-messaging-remoting</artifactId>
 			<version>${project.version}</version>
 		</dependency>
 	</dependencies>
-
-	<profiles>
-		<profile>
-			<id>with-proxy</id>
-				<dependencies>
-					<dependency>
-						<groupId>org.apache.flex.blazeds</groupId>
-						<artifactId>flex-messaging-proxy</artifactId>
-						<version>${project.version}</version>
-					</dependency>
-				</dependencies>
-		</profile>
-	</profiles>
 </project>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9377ef6..d0b694b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -73,6 +73,7 @@
         <module>archetypes</module>
         <module>common</module>
         <module>core</module>
+        <module>proxy</module>
         <module>remoting</module>
         <module>opt</module>
     </modules>
@@ -341,12 +342,6 @@
             </modules>
         </profile>
         <profile>
-            <id>with-proxy</id>
-            <modules>
-                <module>proxy</module>
-            </modules>
-        </profile>
-        <profile>
             <id>with-owasp</id>
             <build>
                 <plugins>
diff --git a/proxy/pom.xml b/proxy/pom.xml
index 92b0c1b..35b36ed 100755
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -36,11 +36,11 @@
         </dependency>
 
         <!-- TODO: This is the latest version of commons-httpclient, however there are CVEs reported for this, the replacement is org.apache.httpcomponents:httpclient however changing to this requires quite some refactoring of the code -->
-        <dependency>
+        <!-- <dependency>
             <groupId>commons-httpclient</groupId>
             <artifactId>commons-httpclient</artifactId>
             <version>3.1</version>
-        </dependency>
+        </dependency> -->
         <!--dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControl.java b/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControl.java
deleted file mode 100755
index 6a08170..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services;
-
-import flex.management.BaseControl;
-import flex.messaging.services.HTTPProxyService;
-
-/**
- * The <code>HTTPProxyServiceControl</code> class is the MBean implementation
- * for monitoring and managing a <code>HTTPProxyService</code> at runtime.
- */
-public class HTTPProxyServiceControl extends ServiceControl implements
-        HTTPProxyServiceControlMBean {
-    private static final String TYPE = "HTTPProxyService";
-
-    /**
-     * Constructs a <code>HTTPProxyServiceControl</code>, assigning its id, managed
-     * HTTP proxy service and parent MBean.
-     *
-     * @param service The <code>HTTPProxyService</code> managed by this MBean.
-     * @param parent  The parent MBean in the management hierarchy.
-     */
-    public HTTPProxyServiceControl(HTTPProxyService service, BaseControl parent) {
-        super(service, parent);
-    }
-
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.BaseControlMBean#getType()
-     */
-    public String getType() {
-        return TYPE;
-    }
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControlMBean.java b/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControlMBean.java
deleted file mode 100755
index 351c7b2..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/HTTPProxyServiceControlMBean.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services;
-
-/**
- * Defines the runtime monitoring and management interface for managed HTTP proxy services.
- */
-public interface HTTPProxyServiceControlMBean extends ServiceControlMBean {
-    // Empty
-}
\ No newline at end of file
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControl.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControl.java
deleted file mode 100755
index f65d37b..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-import flex.management.BaseControl;
-import flex.management.runtime.messaging.services.ServiceAdapterControl;
-import flex.messaging.services.http.HTTPProxyAdapter;
-
-/**
- * The <code>HTTPProxyAdapterControl</code> class is the MBean implemenation
- * for monitoring and managing <code>HTTPProxyAdapter</code>s at runtime.
- */
-public class HTTPProxyAdapterControl extends ServiceAdapterControl implements
-        HTTPProxyAdapterControlMBean {
-    private static final String TYPE = "HTTPProxyAdapter";
-
-    /**
-     * Constructs a <code>HTTPProxyAdapterControl</code>, assigning its id, managed
-     * <code>HTTPProxyAdapter</code> and parent MBean.
-     *
-     * @param serviceAdapter The <code>HTTPProxyAdapter</code> managed by this MBean.
-     * @param parent         The parent MBean in the management hierarchy.
-     */
-    public HTTPProxyAdapterControl(HTTPProxyAdapter serviceAdapter, BaseControl parent) {
-        super(serviceAdapter, parent);
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.BaseControlMBean#getType()
-     */
-    public String getType() {
-        return TYPE;
-    }
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControlMBean.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControlMBean.java
deleted file mode 100755
index 6d42688..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyAdapterControlMBean.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-import flex.management.runtime.messaging.services.ServiceAdapterControlMBean;
-
-/**
- * Defines the runtime monitoring and management interface for managed HTTP
- * proxy adapters.
- */
-public interface HTTPProxyAdapterControlMBean extends
-        ServiceAdapterControlMBean {
-    // Empty for now.
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControl.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControl.java
deleted file mode 100755
index 5f41d89..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-import java.util.Date;
-
-import flex.management.BaseControl;
-import flex.management.runtime.AdminConsoleTypes;
-import flex.management.runtime.messaging.DestinationControl;
-import flex.messaging.services.http.HTTPProxyDestination;
-
-/**
- * The <code>HTTPProxyDestinationControl</code> class is the MBean implementation for
- * monitoring and managing a <code>HTTPProxyDestination</code> at runtime.
- */
-public class HTTPProxyDestinationControl extends DestinationControl
-        implements HTTPProxyDestinationControlMBean {
-    private static final String TYPE = "HTTPProxyDestination";
-
-    private int invokeSOAPCount = 0;
-    private Date lastInvokeSOAPTimestamp;
-    private long invokeSOAPStart;
-    private int invokeHTTPCount = 0;
-    private Date lastInvokeHTTPTimestamp;
-    private long invokeHTTPStart;
-
-    /**
-     * Constructs a new <code>HTTPProxyDestinationControl</code> instance.
-     *
-     * @param destination The <code>HTTPProxyDestination</code> managed by this MBean.
-     * @param parent      The parent MBean in the management hierarchy.
-     */
-    public HTTPProxyDestinationControl(HTTPProxyDestination destination, BaseControl parent) {
-        super(destination, parent);
-        invokeSOAPStart = System.currentTimeMillis();
-        invokeHTTPStart = invokeSOAPStart;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    protected void onRegistrationComplete() {
-        super.onRegistrationComplete();
-
-        String name = this.getObjectName().getCanonicalName();
-
-        String[] pollablePerInterval = {"InvokeHTTPCount", "InvokeSOAPCount"};
-        String[] pollableGeneral = {"InvokeHTTPFrequency", "InvokeSOAPFrequency"};
-        String[] destinationGeneral = {"LastInvokeHTTPTimestamp", "LastInvokeSOAPTimestamp"};
-
-        getRegistrar().registerObjects(
-                new int[]{AdminConsoleTypes.DESTINATION_POLLABLE, AdminConsoleTypes.GRAPH_BY_POLL_INTERVAL},
-                name, pollablePerInterval);
-        getRegistrar().registerObjects(AdminConsoleTypes.DESTINATION_POLLABLE, name,
-                pollableGeneral);
-        getRegistrar().registerObjects(AdminConsoleTypes.DESTINATION_GENERAL, name,
-                destinationGeneral);
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getInvokeSOAPCount()
-     */
-    public Integer getInvokeSOAPCount() {
-        return new Integer(invokeSOAPCount);
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#resetInvokeSOAPCount()
-     */
-    public void resetInvokeSOAPCount() {
-        invokeSOAPStart = System.currentTimeMillis();
-        invokeSOAPCount = 0;
-        lastInvokeSOAPTimestamp = null;
-    }
-
-    /**
-     * Increments the count of Soap invocations.
-     */
-    public void incrementInvokeSOAPCount() {
-        ++invokeSOAPCount;
-        lastInvokeSOAPTimestamp = new Date();
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getLastInvokeSOAPTimestamp()
-     */
-    public Date getLastInvokeSOAPTimestamp() {
-        return lastInvokeSOAPTimestamp;
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getInvokeSOAPFrequency()
-     */
-    public Double getInvokeSOAPFrequency() {
-        if (invokeSOAPCount > 0) {
-            double runtime = differenceInMinutes(invokeSOAPStart, System.currentTimeMillis());
-            return new Double(invokeSOAPCount / runtime);
-        } else {
-            return new Double(0);
-        }
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getInvokeHTTPCount()
-     */
-    public Integer getInvokeHTTPCount() {
-        return new Integer(invokeHTTPCount);
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#resetInvokeHTTPCount()
-     */
-    public void resetInvokeHTTPCount() {
-        invokeHTTPStart = System.currentTimeMillis();
-        invokeHTTPCount = 0;
-        lastInvokeHTTPTimestamp = null;
-    }
-
-    /**
-     * Increments the count of HTTP invocations.
-     */
-    public void incrementInvokeHTTPCount() {
-        ++invokeHTTPCount;
-        lastInvokeHTTPTimestamp = new Date();
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getLastInvokeHTTPTimestamp()
-     */
-    public Date getLastInvokeHTTPTimestamp() {
-        return lastInvokeHTTPTimestamp;
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.runtime.HTTPProxyServiceControlMBean#getInvokeHTTPFrequency()
-     */
-    public Double getInvokeHTTPFrequency() {
-        if (invokeHTTPCount > 0) {
-            double runtime = differenceInMinutes(invokeHTTPStart, System.currentTimeMillis());
-            return new Double(invokeHTTPCount / runtime);
-        } else {
-            return new Double(0);
-        }
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.BaseControlMBean#getType()
-     */
-    public String getType() {
-        return TYPE;
-    }
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControlMBean.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControlMBean.java
deleted file mode 100755
index 0de0595..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/HTTPProxyDestinationControlMBean.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-import java.io.IOException;
-import java.util.Date;
-
-import flex.management.runtime.messaging.DestinationControlMBean;
-
-/**
- * Defines the runtime monitoring and management interface for managed
- * <code>HTTPProxyDestination</code>s.
- */
-public interface HTTPProxyDestinationControlMBean extends
-        DestinationControlMBean {
-    /**
-     * Returns the number of SOAP invocations the HTTP proxy service has processed.
-     *
-     * @return The number of SOAP invocations the HTTP proxy service has processed.
-     * @throws IOException Throws IOException.
-     */
-    Integer getInvokeSOAPCount() throws IOException;
-
-    /**
-     * Resets the count of SOAP invocations.
-     *
-     * @throws IOException Throws IOException.
-     */
-    void resetInvokeSOAPCount() throws IOException;
-
-    /**
-     * Returns the timestamp of the most recent SOAP invocation processed by the
-     * HTTP proxy service.
-     *
-     * @return The timestamp for the most recent SOAP invocation.
-     * @throws IOException Throws IOException.
-     */
-    Date getLastInvokeSOAPTimestamp() throws IOException;
-
-    /**
-     * Returns the number of SOAP invocations per minute.
-     *
-     * @return The number of SOAP invocations per minute.
-     * @throws IOException Throws IOException.
-     */
-    Double getInvokeSOAPFrequency() throws IOException;
-
-    /**
-     * Returns the number of HTTP invocations the HTTP proxy service has processed.
-     *
-     * @return The number of HTTP invocations the HTTP proxy service has processed.
-     * @throws IOException Throws IOException.
-     */
-    Integer getInvokeHTTPCount() throws IOException;
-
-    /**
-     * Resets the count of HTTP invocations.
-     *
-     * @throws IOException Throws IOException.
-     */
-    void resetInvokeHTTPCount() throws IOException;
-
-    /**
-     * Returns the timestamp of the most recent HTTP invocation processed by the
-     * HTTP proxy service.
-     *
-     * @return The timestamp for the most recent HTTP invocation.
-     * @throws IOException Throws IOException.
-     */
-    Date getLastInvokeHTTPTimestamp() throws IOException;
-
-    /**
-     * Returns the number of HTTP invocations per minute.
-     *
-     * @return The number of HTTP invocations per minute.
-     * @throws IOException Throws IOException.
-     */
-    Double getInvokeHTTPFrequency() throws IOException;
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControl.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControl.java
deleted file mode 100755
index 3535d7a..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-import flex.management.BaseControl;
-import flex.messaging.services.http.SOAPProxyAdapter;
-
-/**
- * The <code>SOAPProxyAdapterControl</code> class is the MBean implementation
- * for monitoring and managing <code>SOAPProxyAdapter</code>s at runtime.
- */
-public class SOAPProxyAdapterControl extends HTTPProxyAdapterControl implements
-        SOAPProxyAdapterControlMBean {
-    private static final String TYPE = "SOAPProxyAdapter";
-
-    /**
-     * Constructs a <code>SOAPProxyAdapterControl</code>, assigning its id, managed
-     * <code>SOAPProxyAdapter</code> and parent MBean.
-     *
-     * @param serviceAdapter The <code>SOAPProxyAdapter</code> managed by this MBean.
-     * @param parent         The parent MBean in the management hierarchy.
-     */
-    public SOAPProxyAdapterControl(SOAPProxyAdapter serviceAdapter, BaseControl parent) {
-        super(serviceAdapter, parent);
-    }
-
-    /**
-     * (non-Javadoc)
-     *
-     * @see flex.management.BaseControlMBean#getType()
-     */
-    public String getType() {
-        return TYPE;
-    }
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControlMBean.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControlMBean.java
deleted file mode 100755
index da0152b..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/SOAPProxyAdapterControlMBean.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.management.runtime.messaging.services.http;
-
-
-/**
- * Defines the runtime monitoring and management interface for managed SOAP
- * proxy adapters.
- */
-public interface SOAPProxyAdapterControlMBean extends
-        HTTPProxyAdapterControlMBean {
-    // Empty for now.
-}
diff --git a/proxy/src/main/java/flex/management/runtime/messaging/services/http/package-info.java b/proxy/src/main/java/flex/management/runtime/messaging/services/http/package-info.java
deleted file mode 100755
index 212ef6b..0000000
--- a/proxy/src/main/java/flex/management/runtime/messaging/services/http/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.management.runtime.messaging.services.http;
\ No newline at end of file
diff --git a/proxy/src/main/java/flex/messaging/services/HTTPProxyService.java b/proxy/src/main/java/flex/messaging/services/HTTPProxyService.java
index 31d1e21..4738bc9 100755
--- a/proxy/src/main/java/flex/messaging/services/HTTPProxyService.java
+++ b/proxy/src/main/java/flex/messaging/services/HTTPProxyService.java
@@ -16,25 +16,12 @@
  */
 package flex.messaging.services;
 
-import flex.management.runtime.messaging.services.HTTPProxyServiceControl;
-import flex.management.runtime.messaging.services.http.HTTPProxyDestinationControl;
 import flex.messaging.Destination;
-import flex.messaging.FlexRemoteCredentials;
 import flex.messaging.MessageBroker;
-import flex.messaging.MessageException;
-import flex.messaging.FlexContext;
-import flex.messaging.messages.HTTPMessage;
-import flex.messaging.messages.Message;
-import flex.messaging.messages.SOAPMessage;
-import flex.messaging.services.http.HTTPProxyDestination;
-import flex.messaging.services.http.proxy.ProxyException;
-import flex.messaging.util.SettingsReplaceUtil;
-import flex.messaging.util.StringUtils;
-import flex.messaging.log.LogCategories;
 import flex.messaging.log.Log;
-
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
+import flex.messaging.log.LogCategories;
+import flex.messaging.messages.Message;
+import flex.messaging.services.http.HTTPProxyDestination;
 
 /**
  * The HttpProxyService replaces the Flex 1.5 Proxy. It decouples
@@ -50,13 +37,6 @@
      */
     public static final String LOG_CATEGORY = LogCategories.SERVICE_HTTP;
 
-    // Errors
-    private static final int DOT_DOT_NOT_ALLOWED = 10700;
-    private static final int MULTIPLE_DOMAIN_PORT = 10701;
-    private static final int DYNAMIC_NOT_CONFIGURED = 10702;
-
-    private HTTPProxyServiceControl controller;
-
     //--------------------------------------------------------------------------
     //
     // Constructor
@@ -78,6 +58,7 @@
      */
     public HTTPProxyService(boolean enableManagement) {
         super(enableManagement);
+        Log.getLogger(getLogCategory()).error("flex.messaging.services.HTTPProxyService is no longer supported by BlazeDS");
     }
 
     //--------------------------------------------------------------------------
@@ -132,50 +113,9 @@
      */
     @Override
     public Object serviceMessage(Message msg) {
-        if (!(msg instanceof HTTPMessage)) {
-            // The 'HTTPProxy' Service can only process messages of type 'HTTPMessage'.
-            ServiceException e = new ServiceException();
-            e.setMessage(UNKNOWN_MESSAGE_TYPE, new Object[]{"HTTPProxy", "HTTPMessage"});
-            throw e;
-        }
-
-        HTTPMessage message = (HTTPMessage) msg;
-
-        String destination = message.getDestination();
-        HTTPProxyDestination dest = (HTTPProxyDestination) destinations.get(destination);
-
-        //use the remote settings if the message didn't specify them
-        FlexRemoteCredentials remoteCredentials =
-                FlexContext.getFlexSession().getRemoteCredentials(getId(), destination);
-        if (remoteCredentials != null) {
-            message.setRemoteUsername(remoteCredentials.getUsername());
-            message.setRemotePassword((String) remoteCredentials.getCredentials());
-        } else if (dest.getRemoteUsername() != null && dest.getRemotePassword() != null) {
-            message.setRemoteUsername(dest.getRemoteUsername());
-            message.setRemotePassword(dest.getRemotePassword());
-        }
-
-        ServiceAdapter adapter = dest.getAdapter();
-
-        Object result;
-
-        if (message instanceof SOAPMessage) {
-            result = invokeSoap(adapter, (SOAPMessage) message, dest);
-        } else {
-            result = invokeHttp(adapter, message, dest);
-        }
-
-        if (Log.isDebug()) {
-            String debugResult =
-                    StringUtils.prettifyString(String.valueOf(result));
-            Log.getLogger(getLogCategory()).debug
-                    ("HTTP request: " +
-                            message + StringUtils.NEWLINE +
-                            "  response: " + StringUtils.NEWLINE +
-                            debugResult + StringUtils.NEWLINE);
-        }
-
-        return result;
+        ServiceException e = new ServiceException();
+        e.setMessage("flex.messaging.services.HTTPProxyService is no longer supported by BlazeDS");
+        throw e;
     }
 
     //--------------------------------------------------------------------------
@@ -184,91 +124,6 @@
     //
     //--------------------------------------------------------------------------
 
-    protected Object invokeSoap(ServiceAdapter adapter, SOAPMessage message, HTTPProxyDestination destination) {
-        if (isManaged()) {
-            HTTPProxyDestinationControl destinationControl = (HTTPProxyDestinationControl) destination.getControl();
-            if (destinationControl != null)
-                destinationControl.incrementInvokeSOAPCount();
-        }
-
-        String dynamicUrl = message.getUrl();
-
-        String contextPath = null;
-        String serverName = null;
-        String serverPort = null;
-        String protocol = null;
-        HttpServletRequest req = FlexContext.getHttpRequest();
-        if (req != null) {
-            contextPath = req.getContextPath();
-            protocol = req.getScheme();
-            serverName = req.getServerName();
-            int port = req.getServerPort();
-            if (port != 0) {
-                serverPort = Integer.valueOf(req.getServerPort()).toString();
-            }
-        }
-
-        if (dynamicUrl != null && dynamicUrl.length() > 0) {
-            checkUrl(dynamicUrl, contextPath, destination, serverName, serverPort, protocol, message.getRemoteUsername() != null);
-        } else {
-            //TODO: QUESTION: Pete Support default soap endpoints?
-            //String url = settings.getParsedDefaultUrl(contextPath);
-            //message.setUrl(url);
-
-            // FIXME: Need a better error here!
-            throw new MessageException("A SOAP endpoint was not provided.");
-        }
-
-        return adapter.invoke(message);
-    }
-
-    protected void checkUrl(String url, String contextPath, HTTPProxyDestination destination, String serverName,
-                            String serverPort, String serverProtocol, boolean authSupplied) {
-        String originalUrl = url;
-
-        String defaultUrl = destination.getParsedDefaultUrl(contextPath, serverName, serverPort, serverProtocol);
-        List dynamicUrls = destination.getParsedDynamicUrls(contextPath);
-
-        //If we find ".." in a URL provided by the client, someone's likely
-        //trying to trick us.  Ask them to do it another way if so.
-
-        int i = url.indexOf("/..");
-        while (i != -1) {
-            if (i == (url.length() - 3) || url.charAt(i + 3) == '/') {
-                throw new ProxyException(DOT_DOT_NOT_ALLOWED);
-            }
-            i = url.indexOf("/..", i + 1);
-        }
-
-        //Next, check if the URL is exactly the default URL
-        url = url.toLowerCase();
-
-        // In IPv6, update to long form, if required.
-        url = SettingsReplaceUtil.updateIPv6(url);
-
-        if (defaultUrl != null && defaultUrl.equalsIgnoreCase(url))
-            return;
-
-        char[] urlChars = url.toCharArray();
-
-        // Next, check that the URL matches a dynamic URL pattern
-        for (i = 0; i < dynamicUrls.size(); i++) {
-            char[] pattern = (char[]) dynamicUrls.get(i);
-            boolean matches = StringUtils.findMatchWithWildcard(urlChars, pattern);
-
-            if (matches) {
-                if (!authSupplied || destination.allowsDynamicAuthentication())
-                    return;
-                throw new ProxyException(MULTIPLE_DOMAIN_PORT);
-            }
-        }
-
-        ProxyException exception = new ProxyException();
-        exception.setMessage
-                (DYNAMIC_NOT_CONFIGURED, new Object[]{originalUrl, destination.getId()});
-        throw exception;
-    }
-
     /**
      * Returns the log category of the <code>HTTPProxyService</code>.
      *
@@ -279,41 +134,6 @@
         return LOG_CATEGORY;
     }
 
-    protected Object invokeHttp(ServiceAdapter adapter, HTTPMessage message, HTTPProxyDestination destination) {
-        if (isManaged()) {
-            HTTPProxyDestinationControl destinationControl = (HTTPProxyDestinationControl) destination.getControl();
-            if (destinationControl != null)
-                destinationControl.incrementInvokeHTTPCount();
-        }
-
-        String dynamicUrl = message.getUrl();
-
-        String contextPath = null;
-        String serverName = null;
-        String serverPort = null;
-        String protocol = null;
-        HttpServletRequest req = FlexContext.getHttpRequest();
-
-        if (req != null) {
-            contextPath = req.getContextPath();
-            protocol = req.getScheme();
-            serverName = req.getServerName();
-            int port = req.getServerPort();
-            if (port != 0) {
-                serverPort = Integer.toString(req.getServerPort());
-            }
-        }
-
-        if (dynamicUrl != null && !"".equals(dynamicUrl)) {
-            checkUrl(dynamicUrl, contextPath, destination, serverName, serverPort, protocol, message.getRemoteUsername() != null);
-        } else {
-            String url = destination.getParsedDefaultUrl(contextPath, serverName, serverPort, protocol);
-            message.setUrl(url);
-        }
-
-        return adapter.invoke(message);
-    }
-
     /**
      * This method is invoked to allow the <code>HTTPProxyService</code> to instantiate and register its
      * MBean control.
@@ -322,8 +142,5 @@
      */
     @Override
     protected void setupServiceControl(MessageBroker broker) {
-        controller = new HTTPProxyServiceControl(this, broker.getControl());
-        controller.register();
-        setControl(controller);
     }
 }
diff --git a/proxy/src/main/java/flex/messaging/services/http/HTTPConnectionManagerSettings.java b/proxy/src/main/java/flex/messaging/services/http/HTTPConnectionManagerSettings.java
index 7149da9..b1e5fec 100755
--- a/proxy/src/main/java/flex/messaging/services/http/HTTPConnectionManagerSettings.java
+++ b/proxy/src/main/java/flex/messaging/services/http/HTTPConnectionManagerSettings.java
@@ -18,8 +18,6 @@
 
 import java.util.List;
 
-import org.apache.commons.httpclient.cookie.CookiePolicy;
-
 /**
  * Establishes the settings used to construct an Apache Commons HTTPClient
  * HttpConnectionManager for the Proxy Service.
@@ -87,7 +85,7 @@
      * Creates a default <code>HTTPConnectionManagerSettings</code> instance.
      */
     public HTTPConnectionManagerSettings() {
-        cookiePolicy = CookiePolicy.DEFAULT;
+        cookiePolicy = "default";
         defaultMaxConnectionsPerHost = DEFAULT_MAX_CONNECTIONS_HOST;
         maxTotalConnections = DEFAULT_MAX_TOTAL_CONNECTIONS;
         linger = -1;
diff --git a/proxy/src/main/java/flex/messaging/services/http/HTTPProxyAdapter.java b/proxy/src/main/java/flex/messaging/services/http/HTTPProxyAdapter.java
index 990cee0..d6eb6b3 100755
--- a/proxy/src/main/java/flex/messaging/services/http/HTTPProxyAdapter.java
+++ b/proxy/src/main/java/flex/messaging/services/http/HTTPProxyAdapter.java
@@ -16,43 +16,15 @@
  */
 package flex.messaging.services.http;
 
-import flex.management.runtime.messaging.services.http.HTTPProxyAdapterControl;
-import flex.messaging.Destination;
-import flex.messaging.FlexContext;
-import flex.messaging.MessageException;
-import flex.messaging.config.ConfigMap;
-import flex.messaging.messages.AcknowledgeMessage;
-import flex.messaging.messages.HTTPMessage;
-import flex.messaging.messages.Message;
-import flex.messaging.messages.SOAPMessage;
-import flex.messaging.services.ServiceAdapter;
-import flex.messaging.services.http.proxy.AccessFilter;
-import flex.messaging.services.http.proxy.ErrorFilter;
-import flex.messaging.services.http.proxy.ProxyContext;
-import flex.messaging.services.http.proxy.ProxyContextFilter;
-import flex.messaging.services.http.proxy.ProxyFilter;
-import flex.messaging.services.http.proxy.RequestFilter;
-import flex.messaging.services.http.proxy.ResponseFilter;
-import flex.messaging.services.http.proxy.SecurityFilter;
-import flex.messaging.services.http.proxy.Target;
-import flex.messaging.util.ClassUtil;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.NTCredentials;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.cookie.CookiePolicy;
-import org.apache.commons.httpclient.params.HostParams;
-import org.apache.commons.httpclient.params.HttpClientParams;
-import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
-import org.apache.commons.httpclient.protocol.Protocol;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
+
+import flex.messaging.config.ConfigMap;
+import flex.messaging.messages.Message;
+import flex.messaging.services.ServiceAdapter;
+import flex.messaging.services.ServiceException;
+import flex.messaging.util.ClassUtil;
 
 /**
  * Adapter class for proxy services.
@@ -84,14 +56,6 @@
     protected ExternalProxySettings externalProxy;
     protected HTTPConnectionManagerSettings connectionManagerSettings;
 
-    // HTTPProxyAdapter internal
-    protected HttpConnectionManager connectionManager;
-    protected HttpConnectionManagerParams connectionParams;
-    protected ProxyFilter filterChain;
-    protected UsernamePasswordCredentials proxyCredentials;
-
-    private HTTPProxyAdapterControl controller;
-
     //--------------------------------------------------------------------------
     //
     // Constructor
@@ -114,7 +78,6 @@
     public HTTPProxyAdapter(boolean enableManagement) {
         super(enableManagement);
 
-        createFilterChain();
         externalProxy = new ExternalProxySettings();
         connectionManagerSettings = new HTTPConnectionManagerSettings();
     }
@@ -182,69 +145,42 @@
         if (conn != null) {
             // Cookie policy.
             if (conn.getProperty(HTTPConnectionManagerSettings.COOKIE_POLICY) != null) {
-                connectionManagerSettings.setCookiePolicy(conn.getPropertyAsString(HTTPConnectionManagerSettings.COOKIE_POLICY,
-                        CookiePolicy.DEFAULT));
             }
 
             // Max Connections Total
             if (conn.getProperty(HTTPConnectionManagerSettings.MAX_TOTAL_CONNECTIONS) != null) {
-                int maxTotal = conn.getPropertyAsInt(HTTPConnectionManagerSettings.MAX_TOTAL_CONNECTIONS,
-                        MultiThreadedHttpConnectionManager.DEFAULT_MAX_TOTAL_CONNECTIONS);
-                connectionManagerSettings.setMaxTotalConnections(maxTotal);
             }
 
             // Default Max Connections Per Host
-            int defaultMaxConnsPerHost = MultiThreadedHttpConnectionManager.DEFAULT_MAX_HOST_CONNECTIONS;
             if (conn.getProperty(HTTPConnectionManagerSettings.DEFAULT_MAX_CONNECTIONS_PER_HOST) != null) {
-                defaultMaxConnsPerHost = conn.getPropertyAsInt(HTTPConnectionManagerSettings.DEFAULT_MAX_CONNECTIONS_PER_HOST,
-                        MultiThreadedHttpConnectionManager.DEFAULT_MAX_HOST_CONNECTIONS);
-                connectionManagerSettings.setDefaultMaxConnectionsPerHost(defaultMaxConnsPerHost);
             }
 
             // Connection Timeout
             if (conn.getProperty(HTTPConnectionManagerSettings.CONNECTION_TIMEOUT) != null) {
-                int timeout = conn.getPropertyAsInt(HTTPConnectionManagerSettings.CONNECTION_TIMEOUT, 0);
-                if (timeout >= 0)
-                    connectionManagerSettings.setConnectionTimeout(timeout);
             }
 
             // Socket Timeout
             if (conn.getProperty(HTTPConnectionManagerSettings.SOCKET_TIMEOUT) != null) {
-                int timeout = conn.getPropertyAsInt(HTTPConnectionManagerSettings.SOCKET_TIMEOUT, 0);
-                if (timeout >= 0)
-                    connectionManagerSettings.setSocketTimeout(timeout);
             }
 
             // Stale Checking
             if (conn.getProperty(HTTPConnectionManagerSettings.STALE_CHECKING_ENABLED) != null) {
-                boolean staleCheck = conn.getPropertyAsBoolean(HTTPConnectionManagerSettings.STALE_CHECKING_ENABLED, true);
-                connectionManagerSettings.setStaleCheckingEnabled(staleCheck);
             }
 
             // Send Buffer Size
             if (conn.getProperty(HTTPConnectionManagerSettings.SEND_BUFFER_SIZE) != null) {
-                int bufferSize = conn.getPropertyAsInt(HTTPConnectionManagerSettings.SEND_BUFFER_SIZE, 0);
-                if (bufferSize > 0)
-                    connectionManagerSettings.setSendBufferSize(bufferSize);
             }
 
             // Send Receive Size
             if (conn.getProperty(HTTPConnectionManagerSettings.RECEIVE_BUFFER_SIZE) != null) {
-                int bufferSize = conn.getPropertyAsInt(HTTPConnectionManagerSettings.RECEIVE_BUFFER_SIZE, 0);
-                if (bufferSize > 0)
-                    connectionManagerSettings.setReceiveBufferSize(bufferSize);
             }
 
             // TCP No Delay (Nagel's Algorithm)
             if (conn.getProperty(HTTPConnectionManagerSettings.TCP_NO_DELAY) != null) {
-                boolean noNagel = conn.getPropertyAsBoolean(HTTPConnectionManagerSettings.TCP_NO_DELAY, true);
-                connectionManagerSettings.setTcpNoDelay(noNagel);
             }
 
             // Linger
             if (conn.getProperty(HTTPConnectionManagerSettings.LINGER) != null) {
-                int linger = conn.getPropertyAsInt(HTTPConnectionManagerSettings.LINGER, -1);
-                connectionManagerSettings.setLinger(linger);
             }
 
             // Max Connections Per Host
@@ -258,9 +194,6 @@
 
                     // max-connections
                     if (maxPerHost.getProperty(HostConfigurationSettings.MAX_CONNECTIONS) != null) {
-                        int maxConn = maxPerHost.getPropertyAsInt(HostConfigurationSettings.MAX_CONNECTIONS,
-                                defaultMaxConnsPerHost);
-                        hostConfig.setMaximumConnections(maxConn);
                     }
 
                     // host
@@ -322,161 +255,26 @@
                 if (hostSettings.size() > 0)
                     connectionManagerSettings.setMaxConnectionsPerHost(hostSettings);
             }
-            setConnectionManagerSettings(connectionManagerSettings);
         }
 
         // Cookie Limit
         if (properties.getProperty(COOKIE_LIMIT) != null) {
-            int cl = properties.getPropertyAsInt(COOKIE_LIMIT, DEFAULT_COOKIE_LIMIT);
-            setCookieLimit(cl);
         }
 
         // Allow Lax SSL
         if (properties.getProperty(ALLOW_LAX_SSL) != null) {
-            boolean lax = properties.getPropertyAsBoolean(ALLOW_LAX_SSL, false);
-            setAllowLaxSSL(lax);
         }
 
         // Content Chunked
         if (properties.getProperty(CONTENT_CHUNKED) != null) {
-            boolean ch = properties.getPropertyAsBoolean(CONTENT_CHUNKED, false);
-            setContentChunked(ch);
         }
 
         // External Proxy
         ConfigMap extern = properties.getPropertyAsMap(ExternalProxySettings.EXTERNAL_PROXY, null);
         if (extern != null) {
-            ExternalProxySettings proxy = new ExternalProxySettings();
-
-            String proxyServer = extern.getPropertyAsString(ExternalProxySettings.SERVER, null);
-            proxy.setProxyServer(proxyServer);
-            int proxyPort = extern.getPropertyAsInt(ExternalProxySettings.PORT, ExternalProxySettings.DEFAULT_PROXY_PORT);
-            proxy.setProxyPort(proxyPort);
-            String ntdomain = extern.getPropertyAsString(ExternalProxySettings.NT_DOMAIN, null);
-            proxy.setNTDomain(ntdomain);
-            String username = extern.getPropertyAsString(ExternalProxySettings.USERNAME, null);
-            proxy.setUsername(username);
-            String password = extern.getPropertyAsString(ExternalProxySettings.PASSWORD, null);
-            proxy.setPassword(password);
-
-            setExternalProxySettings(proxy);
         }
     }
 
-    //--------------------------------------------------------------------------
-    //
-    // Public Getters and Setters for Destination properties
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Returns <code>allow-lax-ssl</code> property.
-     *
-     * @return <code>true</code> if <code>allow-lax-ssl</code> property is
-     * <code>true</code>; otherwise <code>false</code>.
-     */
-    public boolean isAllowLaxSSL() {
-        return allowLaxSSL;
-    }
-
-    /**
-     * Sets <code>allow-lax-ssl</code> property which determines if self-signed
-     * certificates are allowed; should not be used in production.
-     * Default <code>false</code>.
-     *
-     * @param allowLaxSSL Whether lax SSL should be allowed.
-     */
-    public void setAllowLaxSSL(boolean allowLaxSSL) {
-        this.allowLaxSSL = allowLaxSSL;
-    }
-
-    /**
-     * Returns the <code>content-chunked</code> property.
-     *
-     * @return <code>true</code> if <code>content-chunked</code> property is
-     * <code>true</code>; otherwise <code>false</code>.
-     */
-    public boolean isContentChunked() {
-        return contentChunked;
-    }
-
-    /**
-     * Sets the <code>content-chunked</code> property. Default <code>false</code>.
-     *
-     * @param contentChunked The <code>content-chunked</code> property.
-     */
-    public void setContentChunked(boolean contentChunked) {
-        this.contentChunked = contentChunked;
-    }
-
-    /**
-     * Returns the <code>cookie-limit</code> property.
-     *
-     * @return The <code>cookie-limit</code> property.
-     */
-    public int getCookieLimit() {
-        return cookieLimit;
-    }
-
-    /**
-     * Sets the <code>cookie-limit</code> property. Default 200.
-     *
-     * @param cookieLimit The cookie limit for the proxy.
-     */
-    public void setCookieLimit(int cookieLimit) {
-        this.cookieLimit = cookieLimit;
-    }
-
-    /**
-     * Casts the <code>Destination</code> into <code>HTTPProxyDestination</code>
-     * and calls super.setDestination.
-     *
-     * @param destination The HTTP proxy destination.
-     */
-    public void setDestination(Destination destination) {
-        Destination dest = (HTTPProxyDestination) destination;
-        super.setDestination(dest);
-    }
-
-    /**
-     * Returns <code>ExternalProxySettings</code>.
-     *
-     * @return the <code>ExternalProxySettings</code>
-     */
-    public ExternalProxySettings getExternalProxySettings() {
-        return externalProxy;
-    }
-
-    /**
-     * Sets <code>ExternalProxySettings</code>.
-     *
-     * @param externalProxy The external proxy settings.
-     */
-    public void setExternalProxySettings(ExternalProxySettings externalProxy) {
-        this.externalProxy = externalProxy;
-        initExternalProxy(externalProxy);
-    }
-
-    /**
-     * Returns <code>HTTPConnectionManagerSettings</code>.
-     *
-     * @return the <code>HTTPConnectionManagerSettings</code>
-     */
-    public HTTPConnectionManagerSettings getConnectionManagerSettings() {
-        return connectionManagerSettings;
-    }
-
-    /**
-     * Sets <code>HTTPConnectionManagerSettings</code>.
-     *
-     * @param connectionManagerSettings The connection manager settings.
-     */
-    public void setConnectionManagerSettings(HTTPConnectionManagerSettings connectionManagerSettings) {
-        this.connectionManagerSettings = connectionManagerSettings;
-        initHttpConnectionManagerParams(connectionManagerSettings);
-        connectionManager = new MultiThreadedHttpConnectionManager();
-        connectionManager.setParams(connectionParams);
-    }
 
     //--------------------------------------------------------------------------
     //
@@ -488,219 +286,8 @@
      * {@inheritDoc}
      */
     public Object invoke(Message msg) {
-        HTTPMessage message = (HTTPMessage) msg;
-
-        ProxyContext context = new ProxyContext();
-
-        // SOAPMessages should be sent through the SOAPProxyAdapter, but
-        // the default destination may be just to the HTTPProxyAdapter.
-        // We'll update the context just in case....
-        if (message instanceof SOAPMessage)
-            context.setSoapRequest(true);
-        else
-            context.setSoapRequest(false);
-
-        setupContext(context, message);
-
-        try {
-            filterChain.invoke(context);
-
-            //TODO: Do we want a return type that encapsulates the response data?
-
-            // OUTPUT
-            AcknowledgeMessage ack = new AcknowledgeMessage();
-            ack.setBody(context.getResponse());
-            ack.setHeader(Message.STATUS_CODE_HEADER, context.getStatusCode());
-
-            if (context.getRecordHeaders()) {
-                ack.setHeader(REQUEST_HEADERS, context.getRequestHeaders());
-                ack.setHeader(RESPONSE_HEADERS, context.getResponseHeaders());
-            }
-
-            return ack;
-        } catch (MessageException ex) {
-            throw ex;
-        } catch (Throwable t) {
-            // this should never happen- ErrorFilter should catch everything
-            t.printStackTrace();
-            throw new MessageException(t.toString());
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Protected/private APIs
-    //
-    //--------------------------------------------------------------------------
-
-    protected void setupContext(ProxyContext context, HTTPMessage message) {
-        Target target = new Target();
-        context.setTarget(target);
-
-        context.setExternalProxySettings(externalProxy);
-        context.setProxyCredentials(proxyCredentials);
-        context.setConnectionManager(connectionManager);
-        context.setAllowLaxSSL(allowLaxSSL);
-        context.setContentChunked(contentChunked);
-        context.setRecordHeaders(message.getRecordHeaders());
-        context.setCookieLimit(cookieLimit);
-        context.setHttpRequest(FlexContext.getHttpRequest() != null);
-
-        //TODO: QUESTION: Pete, Send HTTPHeaders as real headers
-
-        // INPUT
-        String url = message.getUrl();
-        context.setUrl(url);
-
-        Map httpHeaders = message.getHttpHeaders();
-        context.setHeaders(httpHeaders);
-
-        String method = message.getMethod();
-        context.setMethod(method);
-
-        String contentType = message.getContentType();
-        context.setContentType(contentType);
-
-        Object body = message.getBody();
-        context.setBody(body);
-
-        target.setRemoteUsername(message.getRemoteUsername());
-        target.setRemotePassword(message.getRemotePassword());
-
-        HTTPProxyDestination destination = (HTTPProxyDestination) getDestination();
-        target.setUseCustomAuthentication(destination.isUseCustomAuthentication());
-
-        if (destination.getProtocolFactory() != null) {
-            ProtocolFactory protocolFactory = destination.getProtocolFactory();
-            context.setProtocol(protocolFactory.getProtocol());
-        }
-    }
-
-    /**
-     * Invoked automatically to allow the <code>HTTPProxyAdapter</code> to setup its corresponding
-     * MBean control.
-     *
-     * @param destination The <code>Destination</code> that manages this <code>HTTPProxyAdapter</code>.
-     */
-    protected void setupAdapterControl(Destination destination) {
-        controller = new HTTPProxyAdapterControl(this, destination.getControl());
-        controller.register();
-        setControl(controller);
-    }
-
-    /**
-     * Create default filter chain or return current one if already present.
-     */
-    private ProxyFilter createFilterChain() {
-        if (filterChain == null) {
-            // catch-all error filter
-            ErrorFilter errorFilter = new ErrorFilter();
-            // check proxy access
-            AccessFilter accessFilter = new AccessFilter();
-            // set up ProxyContext
-            ProxyContextFilter contextFilter = new ProxyContextFilter();
-            // sends out response after further filters
-            ResponseFilter responseFilter = new ResponseFilter();
-            // deals with credentials
-            SecurityFilter securityFilter = new SecurityFilter();
-            // sends out the request
-            RequestFilter requestFilter = new RequestFilter();
-
-            errorFilter.setNext(accessFilter);
-            accessFilter.setNext(contextFilter);
-            contextFilter.setNext(responseFilter);
-            responseFilter.setNext(securityFilter);
-            securityFilter.setNext(requestFilter);
-
-            filterChain = errorFilter;
-        }
-        return filterChain;
-    }
-
-    private void initExternalProxy(ExternalProxySettings ep) {
-        if (externalProxy != null) {
-
-            String proxyServer = externalProxy.getProxyServer();
-            String proxyUsername = externalProxy.getUsername();
-
-            if (proxyUsername != null) {
-                String proxyPassword = externalProxy.getPassword();
-                String proxyDomain = externalProxy.getNTDomain();
-                if (proxyDomain != null) {
-                    proxyCredentials = new NTCredentials(proxyUsername, proxyPassword, proxyServer, proxyDomain);
-                } else {
-                    proxyCredentials = new UsernamePasswordCredentials(proxyUsername, proxyPassword);
-                }
-            }
-        }
-    }
-
-    private void initHttpConnectionManagerParams(HTTPConnectionManagerSettings settings) {
-        connectionParams = new HttpConnectionManagerParams();
-        connectionParams.setMaxTotalConnections(settings.getMaxTotalConnections());
-        connectionParams.setDefaultMaxConnectionsPerHost(settings.getDefaultMaxConnectionsPerHost());
-
-        if (!settings.getCookiePolicy().equals(CookiePolicy.DEFAULT)) {
-            HttpClientParams httpClientParams = (HttpClientParams) connectionParams.getDefaults();
-            httpClientParams.setCookiePolicy(settings.getCookiePolicy());
-        }
-
-        if (settings.getConnectionTimeout() >= 0)
-            connectionParams.setConnectionTimeout(settings.getConnectionTimeout());
-
-        if (settings.getSocketTimeout() >= 0)
-            connectionParams.setSoTimeout(settings.getSocketTimeout());
-
-        connectionParams.setStaleCheckingEnabled(settings.isStaleCheckingEnabled());
-
-        if (settings.getSendBufferSize() > 0)
-            connectionParams.setSendBufferSize(settings.getSendBufferSize());
-
-        if (settings.getReceiveBufferSize() > 0)
-            connectionParams.setReceiveBufferSize(settings.getReceiveBufferSize());
-
-        connectionParams.setTcpNoDelay(settings.isTcpNoDelay());
-        connectionParams.setLinger(settings.getLinger());
-
-        if (settings.getMaxConnectionsPerHost() != null) {
-            Iterator it = settings.getMaxConnectionsPerHost().iterator();
-            while (it.hasNext()) {
-                HostConfigurationSettings hcs = (HostConfigurationSettings) it.next();
-                HostConfiguration hostConfig = new HostConfiguration();
-
-                if (hcs.getProtocol() != null) {
-                    Protocol protocol = Protocol.getProtocol(hcs.getProtocol());
-                    hostConfig.setHost(hcs.getHost(), hcs.getPort(), protocol);
-                } else if (hcs.getProtocolFactory() != null) {
-                    Protocol protocol = hcs.getProtocolFactory().getProtocol();
-                    if (hcs.getPort() > 0)
-                        hostConfig.setHost(hcs.getHost(), hcs.getPort(), protocol);
-                    else
-                        hostConfig.setHost(hcs.getHost(), protocol.getDefaultPort(), protocol);
-                } else {
-                    if (hcs.getPort() > 0)
-                        hostConfig.setHost(hcs.getHost(), hcs.getPort());
-                    else
-                        hostConfig.setHost(hcs.getHost());
-                }
-
-                if (hcs.getVirtualHost() != null) {
-                    HostParams params = hostConfig.getParams();
-                    if (params != null)
-                        params.setVirtualHost(hcs.getVirtualHost());
-                }
-
-                if (hcs.getProxyHost() != null) {
-                    hostConfig.setProxy(hcs.getProxyHost(), hcs.getProxyPort());
-                }
-
-                try {
-                    InetAddress addr = InetAddress.getByName(hcs.getLocalAddress());
-                    hostConfig.setLocalAddress(addr);
-                } catch (UnknownHostException ex) {
-                }
-                connectionParams.setMaxConnectionsPerHost(hostConfig, hcs.getMaximumConnections());
-            }
-        }
+        ServiceException e = new ServiceException();
+        e.setMessage("flex.messaging.services.http.HTTPProxyAdapter is no longer supported by BlazeDS");
+        throw e;
     }
 }
diff --git a/proxy/src/main/java/flex/messaging/services/http/HTTPProxyDestination.java b/proxy/src/main/java/flex/messaging/services/http/HTTPProxyDestination.java
index 103279d..39c9b29 100755
--- a/proxy/src/main/java/flex/messaging/services/http/HTTPProxyDestination.java
+++ b/proxy/src/main/java/flex/messaging/services/http/HTTPProxyDestination.java
@@ -16,7 +16,13 @@
  */
 package flex.messaging.services.http;
 
-import flex.management.runtime.messaging.services.http.HTTPProxyDestinationControl;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
 import flex.messaging.Destination;
 import flex.messaging.config.ConfigMap;
 import flex.messaging.log.LogCategories;
@@ -25,13 +31,6 @@
 import flex.messaging.util.ClassUtil;
 import flex.messaging.util.SettingsReplaceUtil;
 
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Set;
-
 /**
  * Subclass of Destination which provides HTTP Proxy-specific destination functionality.
  */
@@ -69,8 +68,6 @@
     protected String parsedDefaultUrl;
     protected List parsedDynamicUrls;
 
-    private HTTPProxyDestinationControl controller;
-
     //--------------------------------------------------------------------------
     //
     // Constructor
@@ -443,16 +440,4 @@
     protected String getLogCategory() {
         return LOG_CATEGORY;
     }
-
-    /**
-     * Invoked automatically to allow the <code>HTTPProxyDestination</code> to setup its corresponding
-     * MBean control.
-     *
-     * @param service The <code>Service</code> that manages this <code>HTTPProxyDestination</code>.
-     */
-    protected void setupDestinationControl(Service service) {
-        controller = new HTTPProxyDestinationControl(this, service.getControl());
-        controller.register();
-        setControl(controller);
-    }
 }
diff --git a/proxy/src/main/java/flex/messaging/services/http/ProtocolFactory.java b/proxy/src/main/java/flex/messaging/services/http/ProtocolFactory.java
index 9da70b5..2e67b3f 100755
--- a/proxy/src/main/java/flex/messaging/services/http/ProtocolFactory.java
+++ b/proxy/src/main/java/flex/messaging/services/http/ProtocolFactory.java
@@ -16,8 +16,6 @@
  */
 package flex.messaging.services.http;
 
-import org.apache.commons.httpclient.protocol.Protocol;
-
 import flex.messaging.FlexConfigurable;
 
 /**
@@ -41,5 +39,5 @@
      *
      * @return An implementation of org.apache.commons.httpclient.protocol.Protocol.
      */
-    Protocol getProtocol();
+    Object getProtocol();
 }
diff --git a/proxy/src/main/java/flex/messaging/services/http/SOAPProxyAdapter.java b/proxy/src/main/java/flex/messaging/services/http/SOAPProxyAdapter.java
index 22b4cb6..2dacf99 100755
--- a/proxy/src/main/java/flex/messaging/services/http/SOAPProxyAdapter.java
+++ b/proxy/src/main/java/flex/messaging/services/http/SOAPProxyAdapter.java
@@ -16,20 +16,14 @@
  */
 package flex.messaging.services.http;
 
-import flex.management.runtime.messaging.services.http.SOAPProxyAdapterControl;
 import flex.messaging.messages.Message;
-import flex.messaging.messages.SOAPMessage;
-import flex.messaging.messages.HTTPMessage;
-import flex.messaging.services.http.proxy.ProxyContext;
-import flex.messaging.Destination;
-import flex.messaging.MessageException;
+import flex.messaging.services.ServiceException;
 
 /**
  * A Soap specific subclass of HttpProxyAdapter to
  * allow for future web services features.
  */
 public class SOAPProxyAdapter extends HTTPProxyAdapter {
-    private SOAPProxyAdapterControl controller;
 
     //--------------------------------------------------------------------------
     //
@@ -64,42 +58,8 @@
      * {@inheritDoc}
      */
     public Object invoke(Message msg) {
-        HTTPMessage message = (HTTPMessage) msg;
-        ProxyContext context = new ProxyContext();
-
-        if (message instanceof SOAPMessage) {
-            context.setSoapRequest(true);
-        }
-
-        setupContext(context, message);
-
-        try {
-            filterChain.invoke(context);
-            return context.getResponse();
-        } catch (MessageException ex) {
-            throw ex;
-        } catch (Throwable t) {
-            // this should never happen- ErrorFilter should catch everything
-            t.printStackTrace();
-            throw new MessageException(t.toString());
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    // Protected/private APIs
-    //             
-    //--------------------------------------------------------------------------
-
-    /**
-     * Invoked automatically to allow the <code>SOAPProxyAdapter</code> to setup its corresponding
-     * MBean control.
-     *
-     * @param broker The <code>Destination</code> that manages this <code>SOAPProxyAdapter</code>.
-     */
-    protected void setupAdapterControl(Destination destination) {
-        controller = new SOAPProxyAdapterControl(this, destination.getControl());
-        controller.register();
-        setControl(controller);
+        ServiceException e = new ServiceException();
+        e.setMessage("flex.messaging.services.http.SOAPProxyAdapter is no longer supported by BlazeDS");
+        throw e;
     }
 }
diff --git a/proxy/src/main/java/flex/messaging/services/http/httpclient/EasySSLProtocolSocketFactory.java b/proxy/src/main/java/flex/messaging/services/http/httpclient/EasySSLProtocolSocketFactory.java
deleted file mode 100755
index 6970a66..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/httpclient/EasySSLProtocolSocketFactory.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * $Header: /home/cvspublic/jakarta-commons/httpclient/src/contrib/org/apache/commons/httpclient/contrib/ssl/EasySSLProtocolSocketFactory.java,v 1.7 2004/06/11 19:26:27 olegk Exp $
- * $Revision: 1.7 $
- * $Date: 2004/06/11 19:26:27 $
- *
- * ====================================================================
- *
- *  Copyright 2002-2004 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/>.
- *
- */
-
-/*
- * This file has been modified by Adobe (Adobe Systems Incorporated).
- * Date: Mar 27, 2008 onwards.
- * Reason(s): Fixed a few checkstyle warnings.
- */
-
-package flex.messaging.services.http.httpclient;
-
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.TrustManager;
-
-import org.apache.commons.httpclient.ConnectTimeoutException;
-import org.apache.commons.httpclient.HttpClientError;
-import org.apache.commons.httpclient.params.HttpConnectionParams;
-import org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory;
-import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
-import flex.messaging.util.Trace;
-
-/**
- * <p>
- * EasySSLProtocolSocketFactory can be used to creats SSL {@link Socket}s
- * that accept self-signed certificates.
- * </p>
- * <p>
- * This socket factory SHOULD NOT be used for productive systems
- * due to security reasons, unless it is a concious decision and
- * you are perfectly aware of security implications of accepting
- * self-signed certificates
- * </p>
- * <p>
- * Example of using custom protocol socket factory for a specific host:
- * <pre>
- *  Protocol easyhttps =
- *  new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
- * </pre>
- * </p>
- * <p>
- * <pre>
- *     HttpClient client = new HttpClient();
- *     client.getHostConfiguration().setHost("localhost", 443, easyhttps);
- *     // use relative url only
- *     GetMethod httpget = new GetMethod("/");
- *     client.executeMethod(httpget);
- * </pre>
- * </p>
- * <p>
- * Example of using custom protocol socket factory per default instead of the standard one:
- * <pre>
- *     Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
- *     Protocol.registerProtocol("https", easyhttps);
- *     HttpClient client = new HttpClient();
- *     GetMethod httpget = new GetMethod("https://localhost/");
- *     client.executeMethod(httpget);
- * </pre>
- * </p>
- *
- * <p>
- * DISCLAIMER: HttpClient developers DO NOT actively support this component.
- * The component is provided as a reference material, which may be inappropriate
- * for use without additional customization.
- * </p>
- */
-public class EasySSLProtocolSocketFactory implements SecureProtocolSocketFactory {
-    private SSLContext sslcontext = null;
-
-    /**
-     * Constructor for EasySSLProtocolSocketFactory.
-     */
-    public EasySSLProtocolSocketFactory() {
-        super();
-    }
-
-    private static SSLContext createEasySSLContext() {
-        try {
-            SSLContext context = SSLContext.getInstance("SSL");
-            context.init(null,
-                    new TrustManager[]{new EasyX509TrustManager(null)},
-                    null);
-            return context;
-        } catch (Exception e) {
-            if (Trace.ssl) {
-                Trace.trace(e.getMessage());
-            }
-            throw new HttpClientError(e.toString());
-        }
-    }
-
-    private SSLContext getSSLContext() {
-        if (this.sslcontext == null) {
-            this.sslcontext = createEasySSLContext();
-        }
-        return this.sslcontext;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Socket createSocket(String host,
-                               int port,
-                               InetAddress clientHost,
-                               int clientPort)
-            throws IOException {
-
-        return getSSLContext().getSocketFactory().createSocket(host,
-                port,
-                clientHost,
-                clientPort);
-    }
-
-    /**
-     * Attempts to get a new socket connection to the given host within the given time limit.
-     * <p>
-     * To circumvent the limitations of older JREs that do not support connect timeout a
-     * controller thread is executed. The controller thread attempts to create a new socket
-     * within the given limit of time. If socket constructor does not return until the
-     * timeout expires, the controller terminates and throws an {@link ConnectTimeoutException}
-     * </p>
-     *
-     * @param host         the host name/IP
-     * @param port         the port on the host
-     * @param localAddress the local host name/IP to bind the socket to
-     * @param localPort    the port on the local machine
-     * @param params       {@link HttpConnectionParams Http connection parameters}
-     * @return Socket a new socket
-     * @throws IOException          if an I/O error occurs while creating the socket
-     * @throws UnknownHostException if the IP address of the host cannot be
-     *                              determined
-     */
-    public Socket createSocket(final String host,
-                               final int port,
-                               final InetAddress localAddress,
-                               final int localPort,
-                               final HttpConnectionParams params) throws IOException {
-        if (params == null) {
-            throw new IllegalArgumentException("Parameters may not be null");
-        }
-        int timeout = params.getConnectionTimeout();
-        if (timeout == 0) {
-            return createSocket(host, port, localAddress, localPort);
-        } else {
-            // To be eventually deprecated when migrated to Java 1.4 or above
-            return ControllerThreadSocketFactory.createSocket(this, host, port, localAddress, localPort, timeout);
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Socket createSocket(String host, int port)
-            throws IOException {
-        return getSSLContext().getSocketFactory().createSocket(host,
-                port);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public Socket createSocket(Socket socket,
-                               String host,
-                               int port,
-                               boolean autoClose)
-            throws IOException {
-        return getSSLContext().getSocketFactory().createSocket(socket,
-                host,
-                port,
-                autoClose);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean equals(Object obj) {
-        return ((obj != null) && obj.getClass().equals(EasySSLProtocolSocketFactory.class));
-    }
-
-    /**
-     * Return hash code of this object.
-     *
-     * @return int hash code of this object
-     */
-    public int hashCode() {
-        return EasySSLProtocolSocketFactory.class.hashCode();
-    }
-
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/httpclient/EasyX509TrustManager.java b/proxy/src/main/java/flex/messaging/services/http/httpclient/EasyX509TrustManager.java
deleted file mode 100755
index 88803e1..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/httpclient/EasyX509TrustManager.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * ====================================================================
- *
- *  Copyright 2002-2004 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/>.
- *
- */
-
-/*
- * This file has been modified by Adobe (Adobe Systems Incorporated).
- * Date: Oct 24, 2008 onwards.
- * Reason(s): Fixed the following issues:
- * BLZ-269 - Add support to proxy service for IBM X509
- * checkstyle warnings
- */
-
-package flex.messaging.services.http.httpclient;
-
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.TrustManagerFactory;
-import javax.net.ssl.X509TrustManager;
-
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-
-import flex.messaging.util.Trace;
-
-/**
- * <p>
- * EasyX509TrustManager unlike default {@link javax.net.ssl.X509TrustManager} accepts
- * self-signed certificates.
- * </p>
- * <p>
- * This trust manager SHOULD NOT be used for productive systems
- * due to security reasons, unless it is a concious decision and
- * you are perfectly aware of security implications of accepting
- * self-signed certificates
- * </p>
- *
- * <p>
- * DISCLAIMER: HttpClient developers DO NOT actively support this component.
- * The component is provided as a reference material, which may be inappropriate
- * use without additional customization.
- * </p>
- */
-public class EasyX509TrustManager implements X509TrustManager {
-    private X509TrustManager standardTrustManager = null;
-
-    private boolean trustStore;
-
-    /**
-     * Constructor for EasyX509TrustManager.
-     *
-     * @param keystore the KeyStore to use
-     * @throws NoSuchAlgorithmException, KeyStoreException if the construction process failed
-     */
-    public EasyX509TrustManager(KeyStore keystore) throws NoSuchAlgorithmException, KeyStoreException {
-        super();
-        TrustManagerFactory factory = null;
-        try {
-            factory = TrustManagerFactory.getInstance("SunX509");
-        } catch (NoSuchAlgorithmException nsae) {
-            // Fallback attempt - try for an IbmX509 factory in case we're running in WAS with no Sun providers registered.
-            try {
-                factory = TrustManagerFactory.getInstance("IbmX509");
-            } catch (NoSuchAlgorithmException nsae2) {
-                throw new NoSuchAlgorithmException("Neither SunX509 nor IbmX509 trust manager supported.");
-            }
-        }
-        factory.init(keystore);
-        TrustManager[] trustmanagers = factory.getTrustManagers();
-        if (trustmanagers.length == 0) {
-
-            factory.init(keystore);
-            trustmanagers = factory.getTrustManagers();
-
-            // If we still have no trust managers, throw.
-            if (trustmanagers.length == 0)
-                throw new NoSuchAlgorithmException("Neither SunX509 nor IbmX509 trust manager supported.");
-        }
-        this.standardTrustManager = (X509TrustManager) trustmanagers[0];
-
-        // very lax settings must be used if flex.trustStore is being used
-        trustStore = (System.getProperty("flex.trustStore") != null);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see javax.net.ssl.X509TrustManager#checkClientTrusted(X509Certificate[] x509Certificates, String authType)
-     */
-    public void checkClientTrusted(X509Certificate[] certificates, String authType) throws CertificateException {
-        if (trustStore) {
-            return;
-        }
-        standardTrustManager.checkServerTrusted(certificates, authType);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see com.sun.net.ssl.X509TrustManager#isServerTrusted(X509Certificate[])
-     */
-    public void checkServerTrusted(X509Certificate[] certificates, String authType) throws CertificateException {
-        if (trustStore) {
-            return;
-        }
-        if (certificates != null) {
-            if (Trace.ssl) {
-                Trace.trace("Server certificate chain:");
-                for (int i = 0; i < certificates.length; i++) {
-                    Trace.trace("X509Certificate[" + i + "]=" + certificates[i]);
-                }
-            }
-        }
-        if ((certificates != null) && (certificates.length == 1)) {
-            X509Certificate certificate = certificates[0];
-            try {
-                certificate.checkValidity();
-            } catch (CertificateException e) {
-                if (Trace.ssl) {
-                    Trace.trace(e.toString());
-                }
-                throw e;
-            }
-        } else {
-            standardTrustManager.checkServerTrusted(certificates, authType);
-        }
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see com.sun.net.ssl.X509TrustManager#getAcceptedIssuers()
-     */
-    public X509Certificate[] getAcceptedIssuers() {
-        return this.standardTrustManager.getAcceptedIssuers();
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexGetMethod.java b/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexGetMethod.java
deleted file mode 100755
index e2b0fe6..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexGetMethod.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.httpclient;
-
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HeaderElement;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.GetMethod;
-
-/**
- * Simple wrapper around PostMethod that exposes one method for ProxyServlet.
- */
-public class FlexGetMethod extends GetMethod {
-    public FlexGetMethod(String str) {
-        super(str);
-    }
-
-    public void setConnectionForced(boolean bool) {
-        setConnectionCloseForced(bool);
-    }
-
-    protected String getContentCharSet(Header contentheader) {
-        String charset = null;
-        if (contentheader != null) {
-            HeaderElement values[] = contentheader.getElements();
-            if (values.length == 1) {
-                NameValuePair param = values[0].getParameterByName("charset");
-                if (param != null) {
-                    charset = param.getValue();
-                }
-            }
-        }
-        if (charset == null) {
-            charset = "UTF-8";
-        }
-        return charset;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexPostMethod.java b/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexPostMethod.java
deleted file mode 100755
index 688784d..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/httpclient/FlexPostMethod.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.httpclient;
-
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HeaderElement;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
-
-/**
- * Simple wrapper around PostMethod that exposes one method for ProxyServlet.
- */
-public class FlexPostMethod extends PostMethod {
-    public FlexPostMethod(String str) {
-        super(str);
-    }
-
-    public void setConnectionForced(boolean bool) {
-        setConnectionCloseForced(bool);
-    }
-
-    protected String getContentCharSet(Header contentheader) {
-        String charset = null;
-        if (contentheader != null) {
-            HeaderElement values[] = contentheader.getElements();
-            if (values.length == 1) {
-                NameValuePair param = values[0].getParameterByName("charset");
-                if (param != null) {
-                    charset = param.getValue();
-                }
-            }
-        }
-        if (charset == null) {
-            charset = "UTF-8";
-        }
-        return charset;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/httpclient/package-info.java b/proxy/src/main/java/flex/messaging/services/http/httpclient/package-info.java
deleted file mode 100755
index b75db59..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/httpclient/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.messaging.services.http.httpclient;
\ No newline at end of file
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/AccessFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/AccessFilter.java
deleted file mode 100755
index e3a0715..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/AccessFilter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.FlexContext;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * Determines whether overall access to the proxy is allowed for a request.
- */
-public class AccessFilter extends ProxyFilter {
-    private static final int TOO_MANY_COOKIES = 10703;
-
-    /**
-     * Invokes the filter with the context.
-     *
-     * @param context The proxy context.
-     */
-    public void invoke(ProxyContext context) {
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-
-        // as requested by @stake, limit the number of cookies that can be sent from the endpoint to prevent
-        // as denial of service attack.  It seems our processing of Flex-mangled cookies bogs down the server.
-        // We set the cookie limit to 200, but it can be changed via -Dflex.cookieLimit
-        if (clientRequest != null) {
-            javax.servlet.http.Cookie[] cookies = clientRequest.getCookies();
-            if (cookies != null && cookies.length > context.getCookieLimit()) {
-                ProxyException e = new ProxyException();
-                e.setMessage(TOO_MANY_COOKIES, new Object[]{"" + cookies.length});
-                throw e;
-            }
-        }
-
-        if (next != null) {
-            next.invoke(context);
-        }
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/CookieInfo.java b/proxy/src/main/java/flex/messaging/services/http/proxy/CookieInfo.java
deleted file mode 100755
index 6097859..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/CookieInfo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-/**
- *
- */
-public class CookieInfo {
-    public String clientName;
-    public String domain;
-    public String name;
-    public String value;
-    public String path;
-    // for Java
-    public int maxAge;
-    // for .NET
-    public Object maxAgeObj;
-    public boolean secure;
-
-    public CookieInfo(String clientName, String domain, String name, String value, String path,
-                      int maxAge, Object maxAgeObj, boolean secure) {
-        this.clientName = clientName;
-        this.domain = domain;
-        this.name = name;
-        this.value = value;
-        this.path = path;
-        this.maxAge = maxAge;
-        this.maxAgeObj = maxAgeObj;
-        this.secure = secure;
-    }
-
-    public String toString() {
-        return "domain = '" + domain +
-                "', path = '" + path +
-                "', client name = '" + clientName +
-                "', endpoint name = '" + name +
-                "', value = '" + value;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ErrorFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ErrorFilter.java
deleted file mode 100755
index e196fd9..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ErrorFilter.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.services.http.httpclient.FlexGetMethod;
-import flex.messaging.services.http.httpclient.FlexPostMethod;
-import flex.messaging.util.Assert;
-import flex.messaging.util.Trace;
-import flex.messaging.MessageException;
-
-/**
- * Wraps filters with exception handling.
- */
-public class ErrorFilter extends ProxyFilter {
-    /**
-     * Invokes the filter with the context.
-     *
-     * @param context The proxy context.
-     */
-    public void invoke(ProxyContext context) {
-        try {
-            if (next != null) {
-                next.invoke(context);
-            }
-        } catch (MessageException ex) {
-            throw ex;
-        } catch (Throwable ex) {
-            throw new MessageException(ex);
-        } finally {
-            try {
-                if (context.getHttpMethod() != null) {
-
-                    // we don't want to keep the connection open if authentication info was sent
-                    if (context.hasAuthorization()) {
-                        if (context.getHttpMethod() instanceof FlexGetMethod) {
-                            ((FlexGetMethod) context.getHttpMethod()).setConnectionForced(true);
-                        } else if (context.getHttpMethod() instanceof FlexPostMethod) {
-                            ((FlexPostMethod) context.getHttpMethod()).setConnectionForced(true);
-                        } else {
-                            Assert.testAssertion(false, "Should have custom Flex method: " + context.getHttpMethod().getClass());
-                        }
-                    }
-                    context.getHttpMethod().releaseConnection();
-                }
-            } catch (Exception e) {
-                if (Trace.error)
-                    e.printStackTrace();
-            }
-        }
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyConstants.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyConstants.java
deleted file mode 100755
index 655b42f..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-/**
- * Contants related to the proxy (shared with .NET).
- */
-public class ProxyConstants {
-    public static final String METHOD_GET = "GET";
-    public static final String METHOD_HEAD = "HEAD";
-    public static final String METHOD_OPTIONS = "OPTIONS";
-    public static final String METHOD_DELETE = "DELETE";
-    public static final String METHOD_PUT = "PUT";
-    public static final String METHOD_TRACE = "TRACE";
-    public static final String METHOD_CONNECT = "CONNECT";
-
-    public static final String HEADER_CONTENT_TYPE = "Content-Type";
-    public static final String COOKIE_PREFIX = "FLEX";
-    public static final String COOKIE_SEPARATOR = "_";
-    public static String HEADER_CREDENTIALS = "credentials";
-    public static String HEADER_AUTHENTICATE = "WWW-Authenticate";
-
-    public static final String HTTP_AUTHENTICATION_ERROR = "%%401%%";
-    public static final String HTTP_AUTHORIZATION_ERROR = "%%403%%Authorization failed at the remote url.";
-    public static final String DOMAIN_ERROR = "The Flex proxy and the specified endpoint do not have the same domain, " +
-            "and so basic authentication cannot be used.  Please specify use-custom-authentication or run-as for services not located " +
-            "on the same domain as the Flex proxy.";
-
-    public static final String PROXY_SECURITY = "PROXY SECURITY : ";
-    public static final String NO_HTTPS_VIA_HTTP = "Invalid URL - can't access HTTPS URLs when accessing proxy via HTTP.";
-    public static final String ONLY_HTTP_HTTPS = "Invalid URL - only HTTP or HTTPS URLs allowed";
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContext.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContext.java
deleted file mode 100755
index d0f1eb3..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContext.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.services.http.ExternalProxySettings;
-import flex.messaging.services.http.HTTPProxyAdapter;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpConnectionManager;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-import org.apache.commons.httpclient.protocol.Protocol;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.httpclient.Cookie;
-
-/**
- * Store all the information needed for a proxy request.
- */
-public class ProxyContext extends SharedProxyContext {
-    private HttpMethodBase httpMethod;
-    private HttpClient httpClient;
-
-    private String contentType;
-    private String url;
-    private Target target;
-    private Object body;
-    private Map headers;
-
-    private ExternalProxySettings externalProxySettings;
-    private int cookieLimit = HTTPProxyAdapter.DEFAULT_COOKIE_LIMIT;
-    private boolean allowLaxSSL;
-    private boolean contentChunked;
-
-    private String credentialsHeader;
-
-    // set up by ProxtContextFilter
-    private UsernamePasswordCredentials proxyCredentials;
-    private HttpConnectionManager connectionManager;
-    private Protocol protocol;
-
-    // the status code from the response
-    private int statusCode = 200;
-
-    // TODO: Decide whether responses will always be Strings
-    private boolean streamResponseToClient;
-    private boolean recordHeaders;
-    private Map requestHeaders;
-    private Map responseHeaders;
-    private Object response;
-
-    // We need to record the request cookies
-
-    private Set requestCookies;
-
-
-    /*          PROXY COMMUNICATION           */
-
-    public HttpConnectionManager getConnectionManager() {
-        return connectionManager;
-    }
-
-    public void setConnectionManager(HttpConnectionManager connectionManager) {
-        this.connectionManager = connectionManager;
-    }
-
-    public HttpMethodBase getHttpMethod() {
-        return httpMethod;
-    }
-
-    public void setHttpMethod(HttpMethodBase httpMethod) {
-        this.httpMethod = httpMethod;
-    }
-
-    public HttpClient getHttpClient() {
-        return httpClient;
-    }
-
-    public void setHttpClient(HttpClient httpClient) {
-        this.httpClient = httpClient;
-    }
-
-
-    /*          INPUT           */
-
-    public Map getHeaders() {
-        return headers;
-    }
-
-    public void setHeaders(Map headers) {
-        this.headers = headers;
-    }
-
-    public String getContentType() {
-        return contentType;
-    }
-
-    public void setContentType(String type) {
-        contentType = type;
-    }
-
-    public String getUrl() {
-        return url;
-    }
-
-    public void setUrl(String s) {
-        url = s;
-    }
-
-    public Target getTarget() {
-        return target;
-    }
-
-    public void setTarget(Target target) {
-        this.target = target;
-    }
-
-    public Protocol getProtocol() {
-        return protocol;
-    }
-
-    public void setProtocol(Protocol protocol) {
-        this.protocol = protocol;
-    }
-
-    public Object getBody() {
-        return body;
-    }
-
-    public void setBody(Object body) {
-        this.body = body;
-    }
-
-    public String getCredentialsHeader() {
-        return credentialsHeader;
-    }
-
-    public void setCredentialsHeader(String credentialsHeader) {
-        this.credentialsHeader = credentialsHeader;
-    }
-
-    public UsernamePasswordCredentials getProxyCredentials() {
-        return proxyCredentials;
-    }
-
-    public void setProxyCredentials(UsernamePasswordCredentials proxyCredentials) {
-        this.proxyCredentials = proxyCredentials;
-    }
-
-    public int getCookieLimit() {
-        return cookieLimit;
-    }
-
-    public void setCookieLimit(int cookieLimit) {
-        this.cookieLimit = cookieLimit;
-    }
-
-    public boolean allowLaxSSL() {
-        return allowLaxSSL;
-    }
-
-    public void setAllowLaxSSL(boolean allowLaxSSL) {
-        this.allowLaxSSL = allowLaxSSL;
-    }
-
-    public ExternalProxySettings getExternalProxySettings() {
-        return externalProxySettings;
-    }
-
-    public void setExternalProxySettings(ExternalProxySettings externalProxySettings) {
-        this.externalProxySettings = externalProxySettings;
-    }
-
-    public boolean getRecordHeaders() {
-        return recordHeaders;
-    }
-
-    public void setRecordHeaders(boolean recordHeaders) {
-        this.recordHeaders = recordHeaders;
-    }
-
-    public boolean getContentChunked() {
-        return contentChunked;
-    }
-
-    public void setContentChunked(boolean value) {
-        contentChunked = value;
-    }
-
-
-    /*          OUTPUT           */
-
-    public int getStatusCode() {
-        return statusCode;
-    }
-
-    public void setStatusCode(int originalStatusCode) {
-        this.statusCode = originalStatusCode;
-    }
-
-    public Object getResponse() {
-        return response;
-    }
-
-    public void setResponse(Object r) {
-        response = r;
-    }
-
-    public boolean streamResponseToClient() {
-        return streamResponseToClient;
-    }
-
-    public void setStreamResponseToClient(boolean s) {
-        this.streamResponseToClient = s;
-    }
-
-    public Map getRequestHeaders() {
-        return requestHeaders;
-    }
-
-    public void setRequestHeaders(Map requestHeaders) {
-        this.requestHeaders = requestHeaders;
-    }
-
-    public Map getResponseHeaders() {
-        return responseHeaders;
-    }
-
-    public void setResponseHeaders(Map responseHeaders) {
-        this.responseHeaders = responseHeaders;
-    }
-
-    public void clearRequestCookies() {
-        requestCookies = null;
-    }
-
-    public void addRequestCookie(Cookie cookie) {
-        if (requestCookies == null)
-            requestCookies = new HashSet();
-        requestCookies.add(cookie);
-    }
-
-    public Set getRequestCookies() {
-        return requestCookies;
-    }
-
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContextFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContextFilter.java
deleted file mode 100755
index b31c3b2..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyContextFilter.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.services.http.httpclient.EasySSLProtocolSocketFactory;
-import flex.messaging.services.HTTPProxyService;
-import flex.messaging.FlexContext;
-import flex.messaging.log.Log;
-import org.apache.commons.httpclient.HostConfiguration;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.URIException;
-import org.apache.commons.httpclient.protocol.Protocol;
-import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
-import org.apache.commons.httpclient.util.URIUtil;
-
-import javax.servlet.http.HttpServletRequest;
-
-import java.net.InetAddress;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.UnknownHostException;
-
-/**
- * Fills in ProxyContext data for use by ProxyFilters within HttpProxyAdapter.
- */
-public class ProxyContextFilter extends ProxyFilter {
-    private static final int RELATIVE_NOT_SUPPORTED = 10704;
-    private static final int INVALID_TARGET = 10705;
-
-    private static final String STRING_LOCALHOST = "localhost";
-
-    private Protocol myhttps = new Protocol("https", (ProtocolSocketFactory) (new EasySSLProtocolSocketFactory()), 443);
-
-    /**
-     * Invokes the filter with the context.
-     *
-     * @param context The proxy context.
-     */
-    public void invoke(ProxyContext context) {
-        setupInitialProperties(context);
-        setupTarget(context);
-        logInfo(context);
-
-        if (next != null) {
-            next.invoke(context);
-        }
-    }
-
-    protected void setupInitialProperties(ProxyContext context) {
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-        if (clientRequest != null) {
-            String reqURL = clientRequest.getRequestURL().toString();
-            int idx = reqURL.indexOf(':');
-            String reqProto = reqURL.substring(0, idx);
-            context.setClientHttps(reqProto.equalsIgnoreCase("https"));
-
-            // set up disableCaching variable since its used in sendException
-            String userAgent = clientRequest.getHeader("User-Agent");
-            context.setDisableCaching(context.isClientHttps() && userAgent != null && userAgent.indexOf("MSIE") != -1);
-        }
-    }
-
-    protected void setupTarget(ProxyContext context) {
-        Target target = context.getTarget();
-        String source = context.getUrl();
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-
-        try {
-            target.setUrl(new URL(source));
-        } catch (MalformedURLException e) {
-            try {
-                //[Pete] Enhancement Req. 80172 - relative URLs from webroot (not
-                //       webapp context root)
-                if (clientRequest != null) {
-                    String baseurl = "http" + (clientRequest.isSecure() ? "s" : "") + "://"
-                            + clientRequest.getServerName() + ":" + clientRequest.getServerPort();
-
-                    target.setUrl(new URL(baseurl + source));
-                } else {
-                    ProxyException pe = new ProxyException();
-                    pe.setMessage(RELATIVE_NOT_SUPPORTED, new Object[]{source});
-                    throw pe;
-                }
-            } catch (MalformedURLException ex) {
-                target.setUrl(null);
-            }
-        }
-
-        if (target.getUrl() == null) {
-            ProxyException pe = new ProxyException();
-            pe.setMessage(INVALID_TARGET, new Object[]{source});
-            throw pe;
-        }
-
-        target.setHTTPS(target.getUrl().getProtocol().equalsIgnoreCase("https"));
-        target.setEncodedPath(target.getUrl().getPath());
-        String queryStr = target.getUrl().getQuery();
-        if (queryStr != null) {
-            target.setEncodedPath(target.getEncodedPath() + ("?" + queryStr));
-        }
-        try {
-            target.setEncodedPath(URIUtil.encodePathQuery(target.getEncodedPath()));
-        } catch (URIException e) {
-            // exception is thrown if the default charset is not supported.
-            // proceed with the provided URL.
-        }
-
-        target.setHostConfig(new HostConfiguration());
-        String targetHost = target.getUrl().getHost();
-        int targetPort = target.getUrl().getPort();
-
-        // Check for a custom protocol
-        Protocol customProtocol = context.getProtocol();
-        if (customProtocol != null) {
-            target.getHostConfig().setHost(targetHost, targetPort, customProtocol);
-        } else if (target.isHTTPS() && context.allowLaxSSL()) {
-            target.getHostConfig().setHost(targetHost, targetPort, myhttps);
-        } else {
-            String targetProtocol = target.getUrl().getProtocol();
-            target.getHostConfig().setHost(targetHost, targetPort, targetProtocol);
-        }
-
-        if (context.getConnectionManager() != null) {
-            context.setHttpClient(new HttpClient(context.getConnectionManager()));
-        } else {
-            context.setHttpClient(new HttpClient());
-        }
-
-        // Determine if target domain matches this proxy's domain and port
-        boolean localDomain = false;
-        boolean localPort = false;
-        if (clientRequest != null) {
-            String proxyDomain = clientRequest.getServerName().contains(STRING_LOCALHOST) ?
-                    getResolvedLocalhost() : clientRequest.getServerName();
-            String resolvedTargetHost = targetHost.contains(STRING_LOCALHOST) ? getResolvedLocalhost() : targetHost;
-            if (proxyDomain.equalsIgnoreCase(resolvedTargetHost)) {
-                localDomain = true;
-                int proxyPort = clientRequest.getServerPort();
-                localPort = proxyPort == targetPort;
-            }
-        }
-        context.setLocalDomain(localDomain);
-        context.setLocalPort(localPort);
-    }
-
-    protected void logInfo(ProxyContext context) {
-        if (Log.isInfo()) {
-            Target target = context.getTarget();
-            String prefix = "-- " + context.getMethod() + " : ";
-            int targetPort = target.getUrl().getPort();
-            String targetURL = target.getUrl().getProtocol() + "://" + target.getUrl().getHost() +
-                    (targetPort == -1 ? "" : ":" + targetPort) + target.getEncodedPath();
-
-            Log.getLogger(HTTPProxyService.LOG_CATEGORY).info(prefix + targetURL);
-        }
-    }
-
-    /**
-     * Returns the IP of the localhost.
-     *
-     * @return The IP of the localhost.
-     */
-    private String getResolvedLocalhost() {
-        try {
-            return InetAddress.getLocalHost().getHostAddress();
-        } catch (UnknownHostException e) {
-            // NOWARN
-        }
-        return null;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyException.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyException.java
deleted file mode 100755
index 16bd111..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyException.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.MessageException;
-
-/**
- * Simple exception used to get back to ErrorFilter from other filters.
- */
-public class ProxyException extends MessageException {
-    static final long serialVersionUID = -6516172702871227717L;
-
-    public static final String CODE_SERVER_PROXY_REQUEST_FAILED = "Server.Proxy.Request.Failed";
-
-    //--------------------------------------------------------------------------
-    //
-    // Constructors
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     * Default constructor.
-     */
-    public ProxyException() {
-        super();
-        super.setCode(CODE_SERVER_PROXY_REQUEST_FAILED);
-    }
-
-    /**
-     * Constructor with a message.
-     *
-     * @param message The detailed message for the exception.
-     */
-    public ProxyException(int message) {
-        this();
-        setMessage(message);
-    }
-}
\ No newline at end of file
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyFilter.java
deleted file mode 100755
index 015edf7..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyFilter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-
-/**
- * Base filter definition that defines the filter contract.
- * Filters perform pre- and post-processing duties on the ProxyContext
- */
-public abstract class ProxyFilter {
-    protected ProxyFilter next;
-
-    public ProxyFilter() {
-    }
-
-    public ProxyFilter getNext() {
-        return next;
-    }
-
-    public void setNext(ProxyFilter next) {
-        this.next = next;
-    }
-
-    /**
-     * The core business method.
-     */
-    public abstract void invoke(ProxyContext context);
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyUtil.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyUtil.java
deleted file mode 100755
index 872b435..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ProxyUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import org.apache.commons.httpclient.auth.AuthScope;
-
-/**
- * Methods used by multiple proxy classes.
- */
-public class ProxyUtil {
-    private static AuthScope anyAuthScope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT);
-
-    /**
-     * Returns the default authScope.
-     *
-     * @return The default authScope.
-     */
-    public static AuthScope getDefaultAuthScope() {
-        return anyAuthScope;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/RequestFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/RequestFilter.java
deleted file mode 100755
index 33b5ff7..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/RequestFilter.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.FlexContext;
-import flex.messaging.FlexSession;
-import flex.messaging.io.MessageIOConstants;
-import flex.messaging.log.Log;
-import flex.messaging.log.Logger;
-import flex.messaging.services.HTTPProxyService;
-import flex.messaging.services.http.ExternalProxySettings;
-import flex.messaging.services.http.httpclient.FlexGetMethod;
-import flex.messaging.services.http.httpclient.FlexPostMethod;
-import flex.messaging.util.StringUtils;
-import flex.messaging.util.URLEncoder;
-import org.apache.commons.httpclient.Cookie;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpState;
-import org.apache.commons.httpclient.methods.ByteArrayRequestEntity;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.HeadMethod;
-import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
-import org.apache.commons.httpclient.methods.OptionsMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.commons.httpclient.methods.TraceMethod;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Array;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * Sends the request to the endpoint, including custom copying of headers and cookies.
- */
-public class RequestFilter extends ProxyFilter {
-    private static final int CAUGHT_ERROR = 10706;
-    private static final int UNKNOWN_HOST = 10707;
-    private static final int INVALID_METHOD = 10719;
-    private static final String STRING_JSESSIONID = "jsessionid";
-
-    /**
-     * Invoke the filter.
-     *
-     * @param context the context
-     */
-    public void invoke(ProxyContext context) {
-        setupRequest(context);
-        copyCookiesToEndpoint(context);
-        copyHeadersToEndpoint(context);
-        addCustomHeaders(context);
-        recordRequestHeaders(context);
-        sendRequest(context);
-
-        if (next != null) {
-            next.invoke(context);
-        }
-    }
-
-    /**
-     * Setup the request.
-     *
-     * @param context the context
-     */
-    protected void setupRequest(ProxyContext context) {
-        // set the proxy to send requests through
-        ExternalProxySettings externalProxy = context.getExternalProxySettings();
-        if (externalProxy != null) {
-            String proxyServer = externalProxy.getProxyServer();
-
-            if (proxyServer != null) {
-                context.getTarget().getHostConfig().setProxy(proxyServer, externalProxy.getProxyPort());
-                if (context.getProxyCredentials() != null) {
-                    context.getHttpClient().getState().setProxyCredentials(ProxyUtil.getDefaultAuthScope(), context.getProxyCredentials());
-                }
-            }
-        }
-
-        String method = context.getMethod();
-        String encodedPath = context.getTarget().getEncodedPath();
-        if (MessageIOConstants.METHOD_POST.equals(method)) {
-            FlexPostMethod postMethod = new FlexPostMethod(encodedPath);
-            context.setHttpMethod(postMethod);
-            if (context.hasAuthorization()) {
-                postMethod.setConnectionForced(true);
-            }
-        } else if (ProxyConstants.METHOD_GET.equals(method)) {
-            FlexGetMethod getMethod = new FlexGetMethod(context.getTarget().getEncodedPath());
-            context.setHttpMethod(getMethod);
-            if (context.hasAuthorization()) {
-                getMethod.setConnectionForced(true);
-            }
-        } else if (ProxyConstants.METHOD_HEAD.equals(method)) {
-            HeadMethod headMethod = new HeadMethod(encodedPath);
-            context.setHttpMethod(headMethod);
-        } else if (ProxyConstants.METHOD_PUT.equals(method)) {
-            PutMethod putMethod = new PutMethod(encodedPath);
-            context.setHttpMethod(putMethod);
-        } else if (ProxyConstants.METHOD_OPTIONS.equals(method)) {
-            OptionsMethod optionsMethod = new OptionsMethod(encodedPath);
-            context.setHttpMethod(optionsMethod);
-        } else if (ProxyConstants.METHOD_DELETE.equals(method)) {
-            DeleteMethod deleteMethod = new DeleteMethod(encodedPath);
-            context.setHttpMethod(deleteMethod);
-        } else if (ProxyConstants.METHOD_TRACE.equals(method)) {
-            TraceMethod traceMethod = new TraceMethod(encodedPath);
-            context.setHttpMethod(traceMethod);
-        } else {
-            ProxyException pe = new ProxyException(INVALID_METHOD);
-            pe.setDetails(INVALID_METHOD, "1", new Object[]{method});
-            throw pe;
-        }
-
-        HttpMethodBase httpMethod = context.getHttpMethod();
-        if (httpMethod instanceof EntityEnclosingMethod) {
-            ((EntityEnclosingMethod) httpMethod).setContentChunked(context.getContentChunked());
-        }
-    }
-
-    /**
-     * Before calling the endpoint, set up the cookies found in the request.
-     *
-     * @param context the context
-     */
-    public static void copyCookiesToEndpoint(ProxyContext context) {
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-        context.clearRequestCookies();
-        if (clientRequest != null) {
-            javax.servlet.http.Cookie[] cookies = clientRequest.getCookies();
-            HttpState initState = context.getHttpClient().getState();
-
-            if (cookies != null) {
-                // Gather up the cookies keyed on the length of the path.
-                // This is done so that if we have two cookies with the same name,
-                // we pass the cookie with the longest path first to the endpoint
-                TreeMap cookieMap = new TreeMap();
-                for (javax.servlet.http.Cookie cookie : cookies) {
-                    CookieInfo origCookie = new CookieInfo(cookie.getName(), cookie.getDomain(), cookie.getName(),
-                            cookie.getValue(), cookie.getPath(), cookie.getMaxAge(), null, cookie.getSecure());
-                    CookieInfo newCookie = RequestUtil.createCookie(origCookie, context, context.getTarget().getUrl().getHost(),
-                            context.getTarget().getUrl().getPath());
-
-                    if (newCookie != null) {
-                        Integer pathInt = Integer.valueOf(0 - newCookie.path.length());
-                        ArrayList list = (ArrayList) cookieMap.get(pathInt);
-                        if (list == null) {
-                            list = new ArrayList();
-                            cookieMap.put(pathInt, list);
-                        }
-                        list.add(newCookie);
-                    }
-                }
-
-                // loop through (in order) the cookies we've gathered
-                for (Object mapValue : cookieMap.values()) {
-                    ArrayList list = (ArrayList) mapValue;
-                    for (Object aList : list) {
-                        CookieInfo cookieInfo = (CookieInfo) aList;
-                        if (Log.isInfo()) {
-                            String str = "-- Cookie in request: " + cookieInfo;
-                            Log.getLogger(HTTPProxyService.LOG_CATEGORY).debug(str);
-                        }
-
-                        Cookie cookie = new Cookie(cookieInfo.domain, cookieInfo.name, cookieInfo.value, cookieInfo.path,
-                                cookieInfo.maxAge, cookieInfo.secure);
-
-                        // If this is a session cookie and we're dealing with local domain, make sure the session
-                        // cookie has the latest session id. This check is needed when the session was invalidated
-                        // and then recreated in this request; we shouldn't be sending the old session id to the endpoint.
-                        if (context.isLocalDomain() && STRING_JSESSIONID.equalsIgnoreCase(cookieInfo.clientName)) {
-                            FlexSession flexSession = FlexContext.getFlexSession();
-                            if (flexSession != null && flexSession.isValid()) {
-                                String sessionId = flexSession.getId();
-                                String cookieValue = cookie.getValue();
-                                if (!cookieValue.contains(sessionId)) {
-                                    int colonIndex = cookieValue.indexOf(':');
-                                    if (colonIndex != -1) {
-                                        // Websphere changes jsession id to the following format:
-                                        // 4 digit cacheId + jsessionId + ":" + cloneId.
-                                        ServletContext servletContext = FlexContext.getServletContext();
-                                        String serverInfo = servletContext != null ? servletContext.getServerInfo() : null;
-                                        boolean isWebSphere = serverInfo != null && serverInfo.contains("WebSphere");
-                                        if (isWebSphere) {
-                                            String cacheId = cookieValue.substring(0, 4);
-                                            String cloneId = cookieValue.substring(colonIndex);
-                                            String wsSessionId = cacheId + sessionId + cloneId;
-                                            cookie.setValue(wsSessionId);
-                                        } else {
-                                            cookie.setValue(sessionId);
-                                        }
-                                    } else {
-                                        cookie.setValue(sessionId);
-                                    }
-                                }
-                            }
-                        }
-                        // finally add the cookie to the current request
-                        initState.addCookie(cookie);
-                        context.addRequestCookie(cookie);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Copy HTTP request headers to the endpoint.
-     *
-     * @param context the context
-     */
-    public static void copyHeadersToEndpoint(ProxyContext context) {
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-        if (clientRequest != null) {
-            Enumeration headerNames = clientRequest.getHeaderNames();
-            while (headerNames.hasMoreElements()) {
-                String headerName = (String) headerNames.nextElement();
-                if (RequestUtil.ignoreHeader(headerName, context)) {
-                    continue;
-                }
-
-                Enumeration headers = clientRequest.getHeaders(headerName);
-                while (headers.hasMoreElements()) {
-                    String value = (String) headers.nextElement();
-                    context.getHttpMethod().addRequestHeader(headerName, value);
-
-                    if (Log.isInfo()) {
-                        Log.getLogger(HTTPProxyService.LOG_CATEGORY).debug("-- Header in request: " + headerName + " : " + value);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Add any custom headers.
-     *
-     * @param context the context
-     */
-    protected void addCustomHeaders(ProxyContext context) {
-        HttpMethodBase httpMethod = context.getHttpMethod();
-
-        String contentType = context.getContentType();
-        if (contentType != null) {
-            httpMethod.setRequestHeader(ProxyConstants.HEADER_CONTENT_TYPE, contentType);
-        }
-
-        Map customHeaders = context.getHeaders();
-        if (customHeaders != null) {
-            for (Object entry : customHeaders.entrySet()) {
-
-                String name = (String) ((Map.Entry) entry).getKey();
-                Object value = ((Map.Entry) entry).getValue();
-                if (value == null) {
-                    httpMethod.setRequestHeader(name, "");
-                }
-                // Single value for the name.
-                else if (value instanceof String) {
-                    httpMethod.setRequestHeader(name, (String) value);
-                }
-                // Multiple values for the name.
-                else if (value instanceof List) {
-                    List valueList = (List) value;
-                    for (Object currentValue : valueList) {
-                        if (currentValue == null) {
-                            httpMethod.addRequestHeader(name, "");
-                        } else {
-                            httpMethod.addRequestHeader(name, (String) currentValue);
-                        }
-                    }
-                } else if (value.getClass().isArray()) {
-                    Object[] valueArray = (Object[]) value;
-                    for (Object currentValue : valueArray) {
-                        if (currentValue == null) {
-                            httpMethod.addRequestHeader(name, "");
-                        } else {
-                            httpMethod.addRequestHeader(name, (String) currentValue);
-                        }
-                    }
-                }
-            }
-        }
-
-        if (context.isSoapRequest()) {
-            // add the appropriate headers
-            context.getHttpMethod().setRequestHeader(ProxyConstants.HEADER_CONTENT_TYPE, MessageIOConstants.CONTENT_TYPE_XML);
-
-            // get SOAPAction, and if it doesn't exist, create it
-            String soapAction = null;
-
-            Header header = context.getHttpMethod().getRequestHeader(MessageIOConstants.HEADER_SOAP_ACTION);
-            if (header != null) {
-                soapAction = header.getValue();
-            }
-
-            if (soapAction == null) {
-                HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-                if (clientRequest != null) {
-                    soapAction = clientRequest.getHeader(MessageIOConstants.HEADER_SOAP_ACTION);
-                }
-
-                // SOAPAction has to be quoted per the SOAP 1.1 spec.
-                if (soapAction != null && !soapAction.startsWith("\"") && !soapAction.endsWith("\"")) {
-                    soapAction = "\"" + soapAction + "\"";
-                }
-
-                // If soapAction happens to still be null at this point, we'll end up not sending
-                // one, which should generate a fault on the server side which we'll happily convey
-                // back to the client.
-
-                context.getHttpMethod().setRequestHeader(MessageIOConstants.HEADER_SOAP_ACTION, soapAction);
-            }
-        }
-    }
-
-    /**
-     * Record the request headers in the proxy context.
-     *
-     * @param context the context
-     */
-    protected void recordRequestHeaders(ProxyContext context) {
-        if (context.getRecordHeaders()) {
-            Header[] headers = context.getHttpMethod().getRequestHeaders();
-            if (headers != null) {
-                HashMap recordedHeaders = new HashMap();
-                for (Header header : headers) {
-                    String headerName = header.getName();
-                    String headerValue = header.getValue();
-                    Object existingHeaderValue = recordedHeaders.get(headerName);
-                    // Value(s) already exist for the header.
-                    if (existingHeaderValue != null) {
-                        ArrayList headerValues;
-                        // Only a single value exists.
-                        if (existingHeaderValue instanceof String) {
-                            headerValues = new ArrayList();
-                            headerValues.add(existingHeaderValue);
-                            headerValues.add(headerValue);
-                            recordedHeaders.put(headerName, headerValues);
-                        }
-                        // Multiple values exist.
-                        else if (existingHeaderValue instanceof ArrayList) {
-                            headerValues = (ArrayList) existingHeaderValue;
-                            headerValues.add(headerValue);
-                        }
-                    } else {
-                        recordedHeaders.put(headerName, headerValue);
-                    }
-                }
-                context.setRequestHeaders(recordedHeaders);
-            }
-        }
-    }
-
-    /**
-     * Send the request.
-     *
-     * @param context the context
-     */
-    protected void sendRequest(ProxyContext context) {
-        Target target = context.getTarget();
-        String method = context.getMethod();
-        HttpMethod httpMethod = context.getHttpMethod();
-        final String BEGIN = "-- Begin ";
-        final String END = "-- End ";
-        final String REQUEST = " request --";
-
-        if (httpMethod instanceof EntityEnclosingMethod) {
-            Object data = processBody(context);
-            Class dataClass = data.getClass();
-            if (data instanceof String) {
-                String requestString = (String) data;
-                if (Log.isInfo()) {
-                    Logger logger = Log.getLogger(HTTPProxyService.LOG_CATEGORY);
-                    logger.debug(BEGIN + method + REQUEST);
-                    logger.debug(StringUtils.prettifyString(requestString));
-                    logger.debug(END + method + REQUEST);
-                }
-
-                try {
-                    StringRequestEntity requestEntity = new StringRequestEntity(requestString, null, "UTF-8");
-                    ((EntityEnclosingMethod) httpMethod).setRequestEntity(requestEntity);
-                } catch (UnsupportedEncodingException ex) {
-                    ProxyException pe = new ProxyException(CAUGHT_ERROR);
-                    pe.setDetails(CAUGHT_ERROR, "1", new Object[]{ex});
-                    throw pe;
-                }
-            } else if (dataClass.isArray() && Byte.TYPE.equals(dataClass.getComponentType())) {
-                byte[] dataBytes = (byte[]) data;
-                ByteArrayRequestEntity requestEntity = new ByteArrayRequestEntity(dataBytes, context.getContentType());
-                ((EntityEnclosingMethod) httpMethod).setRequestEntity(requestEntity);
-            } else if (data instanceof InputStream) {
-                InputStreamRequestEntity requestEntity = new InputStreamRequestEntity((InputStream) data, context.getContentType());
-                ((EntityEnclosingMethod) httpMethod).setRequestEntity(requestEntity);
-            }
-            //TODO: Support multipart post
-            //else
-            //{
-            //FIXME: Throw exception if unhandled data type
-            //}
-        } else if (httpMethod instanceof GetMethod) {
-            Object req = processBody(context);
-
-            if (req instanceof String) {
-                String requestString = (String) req;
-                if (Log.isInfo()) {
-                    Logger logger = Log.getLogger(HTTPProxyService.LOG_CATEGORY);
-                    logger.debug(BEGIN + method + REQUEST);
-                    logger.debug(StringUtils.prettifyString(requestString));
-                    logger.debug(END + method + REQUEST);
-                }
-
-                if (!"".equals(requestString)) {
-                    String query = context.getHttpMethod().getQueryString();
-                    if (query != null) {
-                        query += "&" + requestString;
-                    } else {
-                        query = requestString;
-                    }
-                    context.getHttpMethod().setQueryString(query);
-                }
-            }
-        }
-
-        context.getHttpClient().setHostConfiguration(target.getHostConfig());
-
-        try {
-            context.getHttpClient().executeMethod(context.getHttpMethod());
-        } catch (UnknownHostException uhex) {
-            ProxyException pe = new ProxyException();
-            pe.setMessage(UNKNOWN_HOST, new Object[]{uhex.getMessage()});
-            pe.setCode(ProxyException.CODE_SERVER_PROXY_REQUEST_FAILED);
-            throw pe;
-        } catch (Exception ex) {
-            // FIXME: JRB - could be more specific by looking for timeout and sending 504 in that case.
-            // rfc2616 10.5.5 504 - could get more specific if we parse the HttpException
-            ProxyException pe = new ProxyException(CAUGHT_ERROR);
-            pe.setDetails(CAUGHT_ERROR, "1", new Object[]{ex.getMessage()});
-            pe.setCode(ProxyException.CODE_SERVER_PROXY_REQUEST_FAILED);
-            throw pe;
-        }
-    }
-
-    /**
-     * Process the request body and return its content.
-     *
-     * @param context the context
-     * @return the body content
-     */
-    protected Object processBody(ProxyContext context) {
-        //FIXME: Should we also send on URL params that were used to contact the message broker servlet?
-
-        Object body = context.getBody();
-        if (body == null) {
-            return "";
-        } else if (body instanceof String) {
-            return body;
-        } else if (body instanceof Map) {
-            Map params = (Map) body;
-
-            StringBuffer postData = new StringBuffer();
-
-            boolean formValues = false;
-            for (Object entry : params.entrySet()) {
-                String name = (String) ((Map.Entry) entry).getKey();
-                if (!formValues) {
-                    formValues = true;
-                } else {
-                    postData.append('&');
-                }
-
-                Object vals = ((Map.Entry) entry).getValue();
-
-                if (vals == null) {
-                    encodeParam(postData, name, "");
-                } else if (vals instanceof String) {
-                    String val = (String) vals;
-                    encodeParam(postData, name, val);
-                } else if (vals instanceof List) {
-                    List valLists = (List) vals;
-
-                    for (int i = 0; i < valLists.size(); i++) {
-                        Object o = valLists.get(i);
-                        String val = "";
-                        if (o != null)
-                            val = o.toString();
-
-                        if (i > 0)
-                            postData.append('&');
-
-                        encodeParam(postData, name, val);
-                    }
-                } else if (vals.getClass().isArray()) {
-                    for (int i = 0; i < Array.getLength(vals); i++) {
-                        Object o = Array.get(vals, i);
-                        String val = "";
-                        if (o != null)
-                            val = o.toString();
-
-                        if (i > 0)
-                            postData.append('&');
-
-                        encodeParam(postData, name, val);
-                    }
-                }
-            }
-
-            return postData.toString();
-        } else if (body.getClass().isArray()) {
-            return body;
-        } else if (body instanceof InputStream) {
-            return body;
-        } else {
-            return body.toString();
-        }
-    }
-
-    /**
-     * Encode name=value in to a string buffer.
-     *
-     * @param buf  buffer
-     * @param name name
-     * @param val  value
-     */
-    protected void encodeParam(StringBuffer buf, String name, String val) {
-        name = URLEncoder.encode(name);
-        val = URLEncoder.encode(val);
-
-        buf.append(name);
-        buf.append('=');
-        buf.append(val);
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/RequestUtil.java b/proxy/src/main/java/flex/messaging/services/http/proxy/RequestUtil.java
deleted file mode 100755
index 2025229..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/RequestUtil.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.log.Log;
-import flex.messaging.services.HTTPProxyService;
-
-/**
- * Request methods shared by J2EE and .NET.
- */
-public class RequestUtil {
-    public static CookieInfo createCookie(CookieInfo cookie, SharedProxyContext context, String targetHost,
-                                          String targetPath) {
-        String path = cookie.path;
-        String name = cookie.name;
-        if (path == null) {
-            path = "/";
-        }
-        String domain = null, actualName = null;
-
-        // FIXME: append domain+path to existing path instead of doing cookie hack?
-
-        //Cookie name format: COOKIE_PREFIX[COOKIE_SEPARATOR]domain[COOKIE_SEPARATOR]path[COOKIE_SEPARATOR]name
-        if (name.startsWith(ProxyConstants.COOKIE_PREFIX) && name.indexOf(ProxyConstants.COOKIE_SEPARATOR) != -1) {
-            //use indexOf and substring instead of split or string tokenizer for performance
-            int domainHash;
-            int pathHash;
-            int startIndex = name.indexOf(ProxyConstants.COOKIE_SEPARATOR) + 1;
-            int endIndex = name.indexOf(ProxyConstants.COOKIE_SEPARATOR, startIndex);
-            if (endIndex == -1) return null;
-            try {
-                domainHash = Integer.parseInt(name.substring(startIndex, endIndex));
-                startIndex = endIndex + 1;
-                endIndex = name.indexOf(ProxyConstants.COOKIE_SEPARATOR, startIndex);
-                if (endIndex == -1) return null;
-                pathHash = Integer.parseInt(name.substring(startIndex, endIndex));
-            } catch (NumberFormatException e) {
-                Log.getLogger(HTTPProxyService.LOG_CATEGORY).error("Could not parse cookie hash value in: " + name + " (may be beta cookie)");
-                return null;
-            }
-            startIndex = endIndex + 1;
-            if (name.length() <= startIndex) return null;
-            actualName = name.substring(startIndex);
-            //see if the context.target domain fuzzy matches the cookie's domain
-            domain = targetHost;
-            while (domain != null && domainHash != domain.hashCode()) {
-                int dotIndex = domain.indexOf(".", 1);
-                if (dotIndex != -1) {
-                    domain = domain.substring(dotIndex);
-                } else {
-                    domain = null;
-                }
-            }
-            if (domain == null) return null;
-
-            //see if the context.target path fuzzy matches the cookie's path.  i think this has to be done the long way
-            //to make sure we match cases where the path might have ended with a / or not. perhaps
-            //we could do it slightly more efficiently by testing /foo/ and /foo in one go but not testing /fo
-            path = targetPath;
-            while (path != null && path.length() != 0 && pathHash != path.hashCode()) {
-                path = path.substring(0, path.length() - 1);
-            }
-            if (path == null || path.length() == 0) return null;
-        } else if (context.isLocalDomain()) {
-            domain = cookie.domain;
-            if (domain == null) {
-                domain = targetHost;
-            }
-            actualName = cookie.name;
-        } else {
-            return null;
-        }
-
-        CookieInfo cookieInfo = new CookieInfo(name, domain, actualName, cookie.value, path,
-                cookie.maxAge, cookie.maxAgeObj, cookie.secure);
-        return cookieInfo;
-    }
-
-    public static boolean ignoreHeader(String headerName, SharedProxyContext context) {
-        boolean ignoreHeader = false;
-
-        // FIXME: do we really want to disallow Host- what does this do?
-        if ("Host".equalsIgnoreCase(headerName) ||
-                // FIXME: we should really ALWAYS send this header and handle compression within
-                // the proxy.  Would save bandwidth when the endpoint could handle it
-                "Accept-Encoding".equalsIgnoreCase(headerName) ||
-                "Content-Length".equalsIgnoreCase(headerName) ||
-                "Set-Cookie".equalsIgnoreCase(headerName) ||
-                "Set-Cookie2".equalsIgnoreCase(headerName) ||
-                "Cookie".equalsIgnoreCase(headerName) ||
-                "Connection".equalsIgnoreCase(headerName) ||
-                ProxyConstants.HEADER_CREDENTIALS.equalsIgnoreCase(headerName) ||
-                ("Authorization".equalsIgnoreCase(headerName) && (context.hasAuthorization() || !context.isLocalDomain()))) {
-
-            ignoreHeader = true;
-        }
-        return ignoreHeader;
-    }
-
-
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseFilter.java
deleted file mode 100755
index 0d43257..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseFilter.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import org.apache.commons.httpclient.Cookie;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.StatusLine;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.methods.OptionsMethod;
-import flex.messaging.io.MessageIOConstants;
-
-import javax.servlet.http.HttpServletResponse;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Set;
-
-import flex.messaging.FlexContext;
-import flex.messaging.services.HTTPProxyService;
-import flex.messaging.log.Log;
-
-/**
- * Send the response to the client, including custom copying of headers and cookies.
- */
-public class ResponseFilter extends ProxyFilter {
-    // NOTE: any changes to this class should also be made to the corresponding version in the .NET.
-    // The corresponding class is in src/dotNet/libs/FlexASPlib/Aspx/Proxy
-
-    public static int RESPONSE_CHUNK = 4096;
-
-    private static final int STATUS_ERROR = 10708;
-    private static final int NULL_RESPONSE_STREAM = 10709;
-    private static final int CANNOT_STREAM_NOT_HTTP = 10710;
-    private static final int ERROR_WRITING_RESPONSE = 10711;
-
-    public void invoke(ProxyContext context) {
-        if (next != null) {
-            next.invoke(context);
-        }
-
-        checkStatusCode(context);
-        copyCookiesFromEndpoint(context);
-        copyHeadersFromEndpoint(context);
-        recordResponseHeaders(context);
-        setupResponse(context);
-    }
-
-    protected void checkStatusCode(ProxyContext context) {
-        int statusCode = context.getStatusCode();
-        // FIXME: Why do this only for HTTP Proxy? Why not WebServices?
-        if (statusCode >= 400 && statusCode != 401 & statusCode != 403 && !context.isSoapRequest()) {
-            StatusLine statusLine = context.getHttpMethod().getStatusLine();
-            String reason = null;
-
-            if (statusLine != null)
-                reason = statusLine.toString();
-
-            if (reason == null || "".equals(reason))
-                reason = String.valueOf(statusCode);
-
-            ProxyException pe = new ProxyException();
-            pe.setMessage(STATUS_ERROR, new Object[]{reason});
-            pe.setCode(ProxyException.CODE_SERVER_PROXY_REQUEST_FAILED);
-            pe.setDetails(STATUS_ERROR, "1", new Object[]{reason});
-            pe.setStatusCode(statusCode);
-            throw pe;
-        }
-    }
-
-    protected void copyCookiesFromEndpoint(ProxyContext context) {
-        HttpServletResponse clientResponse = FlexContext.getHttpResponse();
-
-        if (clientResponse != null) {
-            Cookie[] cookies = context.getHttpClient().getState().getCookies();
-            // We need to filter out the request cookies, we don't need to send back to the client
-            Set requestCookies = context.getRequestCookies();
-            for (int i = 0; i < cookies.length; i++) {
-                if (requestCookies != null && requestCookies.contains(cookies[i]) && cookies[i].getExpiryDate() == null) {
-                    // It means it is a request cookie and nothing changed, we need to skip it 
-                    continue;
-                }
-                // Process the cookie;
-                String domain = cookies[i].getDomain();
-                String path = cookies[i].getPath();
-                String name = cookies[i].getName();
-                String value = cookies[i].getValue();
-
-                String clientName = ResponseUtil.getCookieName(context, path, name, domain);
-
-                if (Log.isInfo()) {
-                    String str = "-- Cookie in response: domain = '" + domain + "', path = '" + path +
-                            "', client name = '" + clientName + "', endpoint name = '" + name + "', value = '" + value;
-                    Log.getLogger(HTTPProxyService.LOG_CATEGORY).debug(str);
-                }
-
-                javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie(clientName, value);
-
-                Date expiry = cookies[i].getExpiryDate();
-                if (expiry != null) {
-                    int maxAge = (int) ((expiry.getTime() - System.currentTimeMillis()) / 1000);
-                    cookie.setMaxAge(maxAge);
-                }
-                cookie.setSecure(cookies[i].getSecure());
-                cookie.setPath("/");
-
-                clientResponse.addCookie(cookie);
-            }
-        }
-    }
-
-    protected void copyHeadersFromEndpoint(ProxyContext context) {
-        HttpServletResponse clientResponse = FlexContext.getHttpResponse();
-
-        if (clientResponse != null) {
-            Header[] headers = context.getHttpMethod().getResponseHeaders();
-            for (int i = 0; i < headers.length; i++) {
-                Header header = headers[i];
-                String name = header.getName();
-                String value = header.getValue();
-                if (ResponseUtil.ignoreHeader(name, context)) {
-                    continue;
-                }
-
-                if ((name != null) && (value != null)) {
-                    clientResponse.addHeader(name, value);
-                    if (Log.isInfo()) {
-                        Log.getLogger(HTTPProxyService.LOG_CATEGORY).debug("-- Header in response: " + name + " : " + value);
-                    }
-                }
-            }
-            // set Pragma needed for ATG on HTTPS
-            clientResponse.setHeader("Pragma", "public");
-        }
-    }
-
-    protected void recordResponseHeaders(ProxyContext context) {
-        String method = context.getMethod();
-        if (context.getRecordHeaders() || ProxyConstants.METHOD_HEAD.equals(method)) {
-            Header[] headers = context.getHttpMethod().getResponseHeaders();
-            HashMap responseHeaders = new HashMap();
-            for (int i = 0; i < headers.length; i++) {
-                Header header = headers[i];
-                String headerName = header.getName();
-                String headerValue = header.getValue();
-                Object existingHeaderValue = responseHeaders.get(headerName);
-                // Value(s) already exist for the header.
-                if (existingHeaderValue != null) {
-                    ArrayList headerValues;
-                    // Only a single value exists.
-                    if (existingHeaderValue instanceof String) {
-                        headerValues = new ArrayList();
-                        headerValues.add(existingHeaderValue);
-                        headerValues.add(headerValue);
-                        responseHeaders.put(headerName, headerValues);
-                    }
-                    // Multiple values exist.
-                    else if (existingHeaderValue instanceof ArrayList) {
-                        headerValues = (ArrayList) existingHeaderValue;
-                        headerValues.add(headerValue);
-                    }
-                } else {
-                    responseHeaders.put(headerName, headerValue);
-                }
-            }
-            context.setResponseHeaders(responseHeaders);
-        }
-    }
-
-
-    protected void setupResponse(ProxyContext context) {
-        String method = context.getMethod();
-        HttpMethodBase httpMethod = context.getHttpMethod();
-        if (MessageIOConstants.METHOD_POST.equals(method)) {
-            writeResponse(context);
-        } else if (ProxyConstants.METHOD_GET.equals(method)) {
-            writeResponse(context);
-        } else if (ProxyConstants.METHOD_OPTIONS.equals(method)) {
-            OptionsMethod optionsMethod = (OptionsMethod) httpMethod;
-            Enumeration options = optionsMethod.getAllowedMethods();
-            if (options != null) {
-                List ops = new ArrayList();
-                while (options.hasMoreElements()) {
-                    Object option = options.nextElement();
-                    ops.add(option);
-                }
-                Object[] o = ops.toArray();
-                context.setResponse(o);
-            }
-        } else if (ProxyConstants.METHOD_TRACE.equals(method)) {
-            writeResponse(context);
-        } else if (ProxyConstants.METHOD_DELETE.equals(method)) {
-            writeResponse(context);
-        } else if (ProxyConstants.METHOD_HEAD.equals(method)) {
-            context.setResponse(context.getResponseHeaders());
-        } else if (ProxyConstants.METHOD_PUT.equals(method)) {
-            writeResponse(context);
-        }
-    }
-
-    protected void writeResponse(ProxyContext context) {
-        try {
-            InputStream in = context.getHttpMethod().getResponseBodyAsStream();
-
-            if (in == null) {
-                throw new ProxyException(NULL_RESPONSE_STREAM);
-            }
-
-            int length = (int) context.getHttpMethod().getResponseContentLength();
-
-            // Stream response directly to client
-            if (context.streamResponseToClient()) {
-                HttpServletResponse clientResponse = FlexContext.getHttpResponse();
-
-                if (clientResponse != null) {
-                    OutputStream out = clientResponse.getOutputStream();
-                    if (length != -1) {
-                        clientResponse.setContentLength(length);
-                    }
-
-                    writeStreamedResponse(in, out, context);
-                } else {
-                    throw new ProxyException(CANNOT_STREAM_NOT_HTTP);
-                }
-            } else {
-                writeResponseAsString(in, length, context);
-            }
-        } catch (IOException ioe) {
-            ProxyException pe = new ProxyException();
-            pe.setMessage(ERROR_WRITING_RESPONSE, new Object[]{ioe.getMessage()});
-            throw pe;
-        }
-    }
-
-    protected void writeStreamedResponse(InputStream inStream, OutputStream out, ProxyContext context) throws IOException {
-        byte[] tmp = new byte[RESPONSE_CHUNK];
-        int i = 0;
-
-        while ((i = inStream.read(tmp)) >= 0) {
-            out.write(tmp, 0, i);
-        }
-    }
-
-    protected void writeResponseAsString(InputStream inStream, int length, ProxyContext context)
-            throws IOException {
-        char[] tmp = new char[RESPONSE_CHUNK];
-        //int i = 0;
-        StringBuffer sb = new StringBuffer(length < 0 ? 16 : length);
-        BufferedInputStream bufferedIn = new BufferedInputStream(inStream);
-        String charset = context.getHttpMethod().getResponseCharSet();
-
-        bufferedIn.mark(4);
-
-        // Check for BOM as InputStreamReader does not strip BOM in all cases.
-        boolean hasBOM = false;
-        int read = bufferedIn.read();
-        if (read > 0) {
-            // UTF-8 BOM is EF BB BF
-            if (0xEF == (read & 0xFF)) {
-                read = bufferedIn.read();
-                if (0xBB == (read & 0xFF)) {
-                    read = bufferedIn.read();
-                    if (0xBF == (read & 0xFF)) {
-                        hasBOM = true;
-                        charset = "UTF-8";
-                    }
-                }
-            }
-            // UTF-16 Little Endian BOM is FF FE
-            // UTF-32 Little Endian BOM is FF FE 00 00
-            else if (0xFF == (read & 0xFF)) {
-                read = bufferedIn.read();
-                if (0xFE == (read & 0xFF)) {
-                    hasBOM = true;
-                    charset = "UTF16-LE";
-
-                    // Check two more bytes incase we have UTF-32
-                    bufferedIn.mark(2);
-                    read = bufferedIn.read();
-                    if (0x00 == (read & 0xFF)) {
-                        read = bufferedIn.read();
-                        if (0x00 == (read & 0xFF)) {
-                            charset = "UTF32-LE";
-                        } else {
-                            bufferedIn.reset();
-                        }
-                    } else {
-                        bufferedIn.reset();
-                    }
-                }
-            }
-            // UTF-16 Big Endian BOM is FE FF
-            else if (0xFE == (read & 0xFF)) {
-                read = bufferedIn.read();
-                if (0xFF == (read & 0xFF)) {
-                    hasBOM = true;
-                    charset = "UTF16-BE";
-                }
-            }
-            // UTF-32 Big Endian BOM is 00 00 FE FF
-            else if (0x00 == (read & 0xFF)) {
-                read = bufferedIn.read();
-                if (0x00 == (read & 0xFF)) {
-                    read = bufferedIn.read();
-                    if (0xFE == (read & 0xFF)) {
-                        read = bufferedIn.read();
-                        if (0xFF == (read & 0xFF)) {
-                            hasBOM = true;
-                            charset = "UTF32-BE";
-                        }
-                    }
-                }
-            }
-
-            // If we didn't find a BOM, all bytes should contribute to the content
-            if (!hasBOM)
-                bufferedIn.reset();
-        }
-
-        BufferedReader reader = new BufferedReader(new InputStreamReader(bufferedIn, charset));
-        int charactersRead = -1;
-        while ((charactersRead = reader.read(tmp, 0, tmp.length)) >= 0) {
-            sb.append(new String(tmp, 0, charactersRead));
-        }
-
-        context.setResponse(sb.toString());
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseUtil.java b/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseUtil.java
deleted file mode 100755
index d4f8ae6..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/ResponseUtil.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-/**
- * Response methods shared by J2EE and .NET.
- */
-public class ResponseUtil {
-    public static String getCookieName(ProxyContext context, String path, String name, String domain) {
-        String clientName;
-        if (context.isLocalDomain() && (path == null || path.equals("/"))) {
-            clientName = name;
-        } else {
-            //Cookie name format: COOKIE_PREFIX[COOKIE_SEPARATOR]domain[COOKIE_SEPARATOR]path[COOKIE_SEPARATOR]name
-            StringBuffer nameBuf = new StringBuffer(40); //estimated length to usually avoid the buffer needing to grow
-            nameBuf.append(ProxyConstants.COOKIE_PREFIX);
-            nameBuf.append(ProxyConstants.COOKIE_SEPARATOR);
-            nameBuf.append(domain.hashCode());
-            nameBuf.append(ProxyConstants.COOKIE_SEPARATOR);
-            nameBuf.append(path.hashCode());
-            nameBuf.append(ProxyConstants.COOKIE_SEPARATOR);
-            nameBuf.append(name);
-            clientName = nameBuf.toString();
-        }
-        return clientName;
-    }
-
-
-    public static boolean ignoreHeader(String name, ProxyContext context) {
-        boolean ignoreHeader = false;
-        if ("Content-Length".equalsIgnoreCase(name) ||
-                "Set-Cookie".equalsIgnoreCase(name) ||
-                "Set-Cookie2".equalsIgnoreCase(name) ||
-                "Cookie".equalsIgnoreCase(name) ||
-                "Transfer-Encoding".equalsIgnoreCase(name) ||
-                // cmurphy - copying "Connection" was causing problems with WebLogic 8.1
-                // brian- Connection header specifies what type of connection is wanted, ie keep-alive.
-                // From what I've read, it is perfectly acceptible for a proxy to ignore this header
-                "Connection".equalsIgnoreCase(name) ||
-                // ignore caching headers if we want to stop caching on this request
-                (context.disableCaching() && ("Cache-Control".equalsIgnoreCase(name) ||
-                        "Expires".equalsIgnoreCase(name) || "Pragma".equalsIgnoreCase(name)))
-        ) {
-            ignoreHeader = true;
-        }
-        return ignoreHeader;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/SecurityFilter.java b/proxy/src/main/java/flex/messaging/services/http/proxy/SecurityFilter.java
deleted file mode 100755
index ff48bda..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/SecurityFilter.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import flex.messaging.FlexContext;
-import flex.messaging.services.HTTPProxyService;
-import flex.messaging.log.Log;
-import flex.messaging.util.Base64;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.StatusLine;
-import org.apache.commons.httpclient.UsernamePasswordCredentials;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Enumeration;
-
-/**
- * Handles whitelist/access and authentication/authorization system for requests.  Checks URL to make sure we
- * accept it.  Sets credentials if needed on the request.  After the request is made, changes response for
- * security info if needed
- */
-public class SecurityFilter extends ProxyFilter {
-    // NOTE: any changes to this class should also be made to the corresponding version in the .NET.
-    // The corresponding class is in src/dotNet/libs/FlexASPlib/Aspx/Proxy
-
-    private static final int EMPTY_ERROR = 10708;
-    private static final int ONLY_HTTP_HTTPS = 10712;
-    private static final int NO_HTTPS_VIA_HTTP = 10713;
-    private static final int NO_BASIC_NOT_HTTP = 10714;
-    private static final int NO_BASIC_FOR_SOAP = 10715;
-    private static final int DOMAIN_ERROR = 10716;
-    private static final int LOGIN_REQUIRED = 10717;
-    private static final int UNAUTHORIZED_ERROR = 10718;
-
-    public void invoke(ProxyContext context) {
-        checkURL(context);
-        setCredentials(context);
-
-        if (next != null) {
-            next.invoke(context);
-        }
-
-        sendSecurityInfo(context);
-    }
-
-    private void checkURL(ProxyContext context) {
-        Target target = context.getTarget();
-
-        // We only allow http type urls
-        if (!context.getTarget().getUrl().getProtocol().equalsIgnoreCase("http") && !target.isHTTPS()) {
-            Log.getLogger(HTTPProxyService.LOG_CATEGORY).warn(ProxyConstants.PROXY_SECURITY + ProxyConstants.ONLY_HTTP_HTTPS);
-            throw new ProxyException(ONLY_HTTP_HTTPS);
-        }
-
-        if (target.isHTTPS() && !context.isClientHttps()) {
-            // Respond with error
-            Log.getLogger(HTTPProxyService.LOG_CATEGORY).warn(ProxyConstants.PROXY_SECURITY + ProxyConstants.NO_HTTPS_VIA_HTTP);
-
-            throw new ProxyException(NO_HTTPS_VIA_HTTP);
-        }
-    }
-
-    private void setCredentials(ProxyContext context) {
-        String user = null, password = null;
-
-        // Check for credentials in runAs
-        user = context.getTarget().getRemoteUsername();
-        password = context.getTarget().getRemotePassword();
-
-        String fromRequest = null;
-        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-        if (clientRequest != null) {
-            // Check for credentials in parameter/header
-            fromRequest = clientRequest.getHeader(ProxyConstants.HEADER_CREDENTIALS);
-        }
-
-        // We sometimes send the credentials as a URL parameter to work around a player/Opera issue
-        if (fromRequest == null) {
-            fromRequest = context.getCredentialsHeader();
-        }
-
-        // Add authentication header for credentials
-        if (fromRequest != null) {
-            Base64.Decoder decoder = new Base64.Decoder();
-            decoder.decode(fromRequest);
-            String decoded = new String(decoder.drain());
-            int colonIdx = decoded.indexOf(":");
-            if (colonIdx != -1) {
-                user = decoded.substring(0, colonIdx);
-            }
-            password = decoded.substring(colonIdx + 1);
-        }
-
-        // Check for existing authentication header
-        if (clientRequest != null) {
-            Enumeration headers = clientRequest.getHeaders("Authorization");
-            if (headers != null) {
-                while (headers.hasMoreElements()) {
-                    String value = (String) headers.nextElement();
-
-                    if (value.startsWith("Basic")) {
-                        if (!context.isLocalDomainAndPort()) {
-                            if (Log.isInfo()) {
-                                Log.getLogger(HTTPProxyService.LOG_CATEGORY).debug("Not sending on Authentication header. Proxy domain:port of " +
-                                        clientRequest.getServerName() + ":" + clientRequest.getServerPort() + " does not match target domain:port of " +
-                                        context.getTarget().getUrl().getHost() + ":" + context.getTarget().getUrl().getPort());
-                            }
-                        } else {
-                            // Super gross hack to work around what appears to be an commons-httpclient bug
-                            // where headers are not resent after a 302.
-                            Base64.Decoder decoder = new Base64.Decoder();
-                            String encoded = value.substring(6);
-                            decoder.decode(encoded);
-                            String decoded = new String(decoder.drain());
-                            int colonIdx = decoded.indexOf(":");
-                            user = decoded.substring(0, colonIdx);
-                            password = decoded.substring(colonIdx + 1);
-                        }
-                    }
-                }
-            }
-        }
-
-        // Set up request for authentication
-        if (user != null) {
-            UsernamePasswordCredentials cred = new UsernamePasswordCredentials(user, password);
-
-            context.getHttpClient().getState().setCredentials(ProxyUtil.getDefaultAuthScope(), cred);
-            context.setAuthorization(true);
-
-            if (Log.isInfo()) {
-                Log.getLogger(HTTPProxyService.LOG_CATEGORY).info("-- Authentication header being sent for " + user);
-            }
-        }
-    }
-
-    private void sendSecurityInfo(ProxyContext context) {
-        Target target = context.getTarget();
-        String targetHost = target.getUrl().getHost();
-
-        int statusCode = 200;
-
-        boolean customAuth = target.useCustomAuthentication();
-
-        StatusLine statusLine = context.getHttpMethod().getStatusLine();
-        if (statusLine != null) {
-            statusCode = statusLine.getStatusCode();
-        }
-
-        context.setStatusCode(statusCode);
-
-        if (statusCode == 401 || statusCode == 403) {
-            if (!customAuth) {
-                if (!context.isHttpRequest()) {
-                    throw new ProxyException(NO_BASIC_NOT_HTTP);
-                } else if (context.isSoapRequest()) {
-                    // Note: if we remove this error, must do the proxyDomain/targetHost check as done above
-                    throw new ProxyException(NO_BASIC_FOR_SOAP);
-                } else {
-                    // Don't allow a 401 (and 403, although this should never happen) to be sent to the client
-                    // if the service is not using custom authentication and the domains do not match
-
-                    if (!context.isLocalDomainAndPort()) {
-                        HttpServletRequest clientRequest = FlexContext.getHttpRequest();
-
-                        String errorMessage = ProxyConstants.DOMAIN_ERROR + " . The proxy domain:port is " +
-                                clientRequest.getServerName() + ":" + clientRequest.getServerPort() +
-                                " and the target domain:port is " + targetHost + ":" + target.getUrl().getPort();
-
-                        Log.getLogger(HTTPProxyService.LOG_CATEGORY).error(errorMessage);
-
-                        throw new ProxyException(DOMAIN_ERROR);
-                    } else {
-                        //For BASIC Auth, send back the status code
-                        HttpServletResponse clientResponse = FlexContext.getHttpResponse();
-                        clientResponse.setStatus(statusCode);
-                    }
-                }
-            } else {
-                String message = null;
-                if (statusLine != null)
-                    message = statusLine.toString();
-
-                if (statusCode == 401) {
-                    ProxyException se = new ProxyException();
-                    se.setCode("Client.Authentication");
-                    if (message == null) {
-                        se.setMessage(LOGIN_REQUIRED);
-                    } else {
-                        se.setMessage(EMPTY_ERROR, new Object[]{message});
-                    }
-
-
-                    Header header = context.getHttpMethod().getResponseHeader(ProxyConstants.HEADER_AUTHENTICATE);
-                    if (header != null)
-                        se.setDetails(header.getValue());
-                    throw se;
-                } else {
-                    ProxyException se = new ProxyException();
-                    se.setCode("Client.Authentication");
-                    if (message == null) {
-                        se.setMessage(UNAUTHORIZED_ERROR);
-                    } else {
-                        se.setMessage(EMPTY_ERROR, new Object[]{message});
-                    }
-                    throw se;
-                }
-            }
-        }
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/SharedProxyContext.java b/proxy/src/main/java/flex/messaging/services/http/proxy/SharedProxyContext.java
deleted file mode 100755
index 55fe615..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/SharedProxyContext.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-/**
- * Store all the information needed for a proxy request that's used in flex.server.common.proxy.
- */
-public class SharedProxyContext {
-    // POST, GET, HEAD etc
-    private String method;
-
-    // often-used variables describing the type of request
-    private boolean isSoapRequest;
-    private boolean isHttpRequest;
-    private boolean isClientHttps;
-
-    // whether request has custom auth or Authorization header
-    private boolean hasAuthorization;
-    // whether endpoint is the same domain as proxy
-    private boolean localDomain;
-    // whether the endpoint has the same port as the proxy (always false if localDomain is false)
-    private boolean localPort;
-    // whether request needs browser caching disabled
-    private boolean disableCaching;
-    // whether target URL came from the client
-    private boolean clientTarget;
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public boolean isSoapRequest() {
-        return isSoapRequest;
-    }
-
-    public void setSoapRequest(boolean s) {
-        isSoapRequest = s;
-    }
-
-    public boolean isHttpRequest() {
-        return isHttpRequest;
-    }
-
-    public void setHttpRequest(boolean h) {
-        isHttpRequest = h;
-    }
-
-    public boolean isClientHttps() {
-        return isClientHttps;
-    }
-
-    public void setClientHttps(boolean h) {
-        isClientHttps = h;
-    }
-
-    public boolean hasAuthorization() {
-        return hasAuthorization;
-    }
-
-    public void setAuthorization(boolean hasAuthorization) {
-        this.hasAuthorization = hasAuthorization;
-    }
-
-    public boolean isLocalDomain() {
-        return localDomain;
-    }
-
-    public void setLocalDomain(boolean localDomain) {
-        this.localDomain = localDomain;
-    }
-
-    public boolean isLocalPort() {
-        return localPort;
-    }
-
-    public void setLocalPort(boolean localPort) {
-        this.localPort = localPort;
-    }
-
-    public boolean isLocalDomainAndPort() {
-        return localDomain && localPort;
-    }
-
-    public boolean disableCaching() {
-        return disableCaching;
-    }
-
-    public void setDisableCaching(boolean disableCaching) {
-        this.disableCaching = disableCaching;
-    }
-
-    public boolean isClientTarget() {
-        return clientTarget;
-    }
-
-    public void setClientTarget(boolean clientTarget) {
-        this.clientTarget = clientTarget;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/Target.java b/proxy/src/main/java/flex/messaging/services/http/proxy/Target.java
deleted file mode 100755
index d25ca1b..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/Target.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package flex.messaging.services.http.proxy;
-
-import org.apache.commons.httpclient.HostConfiguration;
-
-import java.net.URL;
-
-/**
- * Encapsulates information about a proxy target.
- */
-public class Target {
-    // FIXME: this class turned out not to be as useful as originally thought.  Should move this information
-    // directly into ProxyContext
-
-    private URL url;
-    private boolean useCustomAuthentication = true;
-    private boolean isHTTPS;
-    private String encodedPath;
-    private String remoteUsername;
-    private String remotePassword;
-    private HostConfiguration hostConfig;
-
-    public URL getUrl() {
-        return url;
-    }
-
-    public void setUrl(URL url) {
-        this.url = url;
-    }
-
-    public boolean isHTTPS() {
-        return isHTTPS;
-    }
-
-    public void setHTTPS(boolean HTTPS) {
-        isHTTPS = HTTPS;
-    }
-
-    public String getEncodedPath() {
-        return encodedPath;
-    }
-
-    public void setEncodedPath(String encodedPath) {
-        this.encodedPath = encodedPath;
-    }
-
-    public HostConfiguration getHostConfig() {
-        return hostConfig;
-    }
-
-    public void setHostConfig(HostConfiguration hostConfig) {
-        this.hostConfig = hostConfig;
-    }
-
-    public String getRemoteUsername() {
-        return remoteUsername;
-    }
-
-    public void setRemoteUsername(String name) {
-        remoteUsername = name;
-    }
-
-    public String getRemotePassword() {
-        return remotePassword;
-    }
-
-    public void setRemotePassword(String pass) {
-        remotePassword = pass;
-    }
-
-    public boolean useCustomAuthentication() {
-        return useCustomAuthentication;
-    }
-
-    public void setUseCustomAuthentication(boolean b) {
-        useCustomAuthentication = b;
-    }
-}
diff --git a/proxy/src/main/java/flex/messaging/services/http/proxy/package-info.java b/proxy/src/main/java/flex/messaging/services/http/proxy/package-info.java
deleted file mode 100755
index c74d572..0000000
--- a/proxy/src/main/java/flex/messaging/services/http/proxy/package-info.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package flex.messaging.services.http.proxy;
\ No newline at end of file