[jboss-svn-commits] JBL Code SVN: r28581 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb/http and 25 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 29 16:23:25 EDT 2009


Author: dward
Date: 2009-07-29 16:23:24 -0400 (Wed, 29 Jul 2009)
New Revision: 28581

Added:
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/build.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/deployment.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/lib/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/log4j.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/readme.txt
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/server-template.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/lib/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/lib/ext/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/classes/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/lib/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/HelloWorldWS.java
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/
   labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/index.jsp
Modified:
   labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpClientFactory.java
   labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/HttpSOAPProxyTransport.java
   labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
Log:
Fix for JBESB-2759


Modified: labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpClientFactory.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpClientFactory.java	2009-07-29 19:39:37 UTC (rev 28580)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/http/HttpClientFactory.java	2009-07-29 20:23:24 UTC (rev 28581)
@@ -78,8 +78,12 @@
         // Apply the optional (configured) Configurators...
         configurators = properties.getProperty("configurators", HttpProtocol.class.getName()).split(",");
         for(String configuratorClass : configurators) {
-            Configurator configurator = createConfigurator(configuratorClass.trim());
-            configurator.configure(httpClient, properties);
+        	configuratorClass = configuratorClass.trim();
+        	boolean skip = Boolean.valueOf(properties.getProperty(configuratorClass + ".skip", "false")).booleanValue();
+        	if (!skip) {
+	            Configurator configurator = createConfigurator(configuratorClass);
+	            configurator.configure(httpClient, properties);
+        	}
         }
 
         return httpClient;

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/build.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/build.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/build.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,139 @@
+<project name="Quickstart_webservice_proxy_security" default="deploy" basedir=".">
+	
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+
+	<!-- Import the base Ant build script... -->
+    <import file="../conf/base-build.xml"/>
+
+    <property name="war.build.dir" location="${build.dir}/war/classes"/>
+
+    <target name="quickstart-specific-checks" depends="assert-ws-available"/>
+
+    <target name="quickstart-specific-assemblies" depends="genkey,makewar"/>
+
+    <target name="quickstart-specific-predeploys">
+		<copy todir="${org.jboss.esb.server.deploy.dir}"
+			file="build/predeploy/${ant.project.name}.war"/>
+		<sleep seconds="3"/>
+	</target>
+
+    <target name="quickstart-specific-undeploys">
+		<delete file="${org.jboss.esb.server.deploy.dir}/${ant.project.name}.war"/>
+	</target>
+
+    <target name="genkey">
+		<mkdir dir="${build.dir}/META-INF/"/>
+
+        <property name="keystore" location="${build.dir}/webservice_proxy_security.keystore" />
+
+        <delete file="${keystore}" failonerror="false"/>
+        <genkey
+			alias="webservice_proxy_security"
+			keystore="${keystore}"
+			keypass="webservice_proxy_security_pass"
+			storepass="webservice_proxy_security_pass"
+			verbose="true">
+            <dname>
+                <param name="CN" value="localhost"/>
+                <param name="OU" value="jbossesb"/>
+                <param name="O" value="jbossesb"/>
+                <param name="C" value="US"/>
+            </dname>
+        </genkey>
+    	
+        <pathconvert targetos="unix" property="keystoredir">
+            <path><pathelement location="${keystore}"/></path>
+        </pathconvert>
+
+        <copy file="jboss-esb-template.xml" tofile="${build.dir}/META-INF/jboss-esb.xml">
+            <filterset>
+                <filter token="keystore" value="${keystoredir}" />
+            </filterset>
+        </copy>
+
+        <copy file="httpclient-jbossws-8443.properties" todir="${build.dir}/META-INF">
+            <filterset>
+                <filter token="keystore" value="${keystoredir}" />
+            </filterset>
+        </copy>
+
+        <copy file="httpclient-httpgateway-9443.properties" todir="${build.dir}">
+            <filterset>
+                <filter token="keystore" value="${keystoredir}" />
+            </filterset>
+        </copy>
+
+        <copy file="server-template.xml" tofile="${build.dir}/server.xml">
+            <filterset>
+                <filter token="keystore" value="${keystoredir}" />
+            </filterset>
+        </copy>
+
+		<echo message=""/>
+		<echo message="IMPORTANT: Copy ${build.dir}/server.xml into jbossesb-server-4.x/server/default/deploy/jboss-web.deployer/server.xml *before* starting server!!!"/>
+		<echo message=""/>
+	</target>
+
+    <target name="makewar" description="make war">
+        <!-- Compile... -->
+        <mkdir dir="${war.build.dir}" />
+        <javac srcdir="war/src" destdir="${war.build.dir}" debug="true">
+            <classpath>
+                <path refid="compile-classpath" />
+                <fileset dir="war/lib/ext" includes="*.jar" />
+            </classpath>
+        </javac>
+
+        <!-- War... -->
+		<mkdir dir="build/predeploy"/>
+        <war warfile="build/predeploy/${ant.project.name}.war"
+             webxml="${basedir}/war/resources/WEB-INF/web.xml">
+            <webinf dir="${basedir}/war/resources/WEB-INF">
+                <include name="jboss-web.xml"/>
+            </webinf>
+            <classes dir="${war.build.dir}" includes="**/*.class"/>
+            <fileset dir="${basedir}/war/view">
+                <include name="**/*"/>
+            </fileset>
+            <classes dir="${basedir}">
+                <include name="juddi.properties"/>
+            </classes>
+        </war>
+    </target>
+
+    <target name="quickstart-specific-clean">
+		<delete file="${basedir}/listener.log"/>
+    </target>
+
+	<target name="run">
+		<echo>standalone mode is not available for this quickstart.</echo>
+    </target>
+
+	<target name="runinternal" depends="compile">
+	    <java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test.SendWSMessage" failonerror="true">
+			<arg value="${runtest.arg.url}"/>
+	    	<arg value="${user.name}"/>
+			<arg value="${runtest.arg.http}"/>
+			<classpath refid="exec-classpath"/>
+	    </java>
+	 </target>  
+
+	<target name="runws" depends="compile">
+		<echo>Calling JBossWS webservice directly.</echo>
+		<property name="runtest.arg.url" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS"/>
+	    <property name="runtest.arg.http" value="${build.dir}/META-INF/httpclient-jbossws-8443.properties"/>
+		<antcall target="runinternal"/>
+	 </target>  
+
+	<target name="runhttps" depends="compile">
+		<echo>Calling JBossWS webservice via HttpsGatewayListener and SOAPProxy.</echo>
+		<property name="runtest.arg.url" value="https://localhost:9443/Proxy_Security/HelloWorldWS/"/>
+	    <property name="runtest.arg.http" value="${build.dir}/httpclient-httpgateway-9443.properties"/>
+		<antcall target="runinternal"/>
+	 </target>  
+	<target name="runtest" depends="runhttps"/>
+
+</project>


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/build.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/deployment.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/deployment.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/deployment.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,4 @@
+<jbossesb-deployment>
+	<depends>jboss.esb:deployment=soap.esb</depends>
+</jbossesb-deployment>
+


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/deployment.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,17 @@
+# See:
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpRouter and
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpClientFactory
+
+# Configurators
+configurators=HttpProtocol
+
+# HttpProtocol config
+#protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.StrictSSLProtocolSocketFactory
+protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
+keystore=@keystore@
+keystore-passw=webservice_proxy_security_pass
+truststore=@keystore@
+truststore-passw=webservice_proxy_security_pass
+


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-httpgateway-9443.properties
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,27 @@
+# See: 
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpRouter and
+# - http://wiki.jboss.org/wiki/Wiki.jsp?page=HttpClientFactory
+
+# Configurators
+configurators=HttpProtocol,AuthBASIC
+
+# HttpProtocol config
+#protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.StrictSSLProtocolSocketFactory
+protocol-socket-factory=org.apache.commons.httpclient.contrib.ssl.EasySSLProtocolSocketFactory
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.SelfSignedSSLProtocolSocketFactoryBuilder
+#protocol-socket-factory=org.jboss.soa.esb.http.protocol.AuthSSLProtocolSocketFactoryBuilder
+keystore=@keystore@
+keystore-passw=webservice_proxy_security_pass
+truststore=@keystore@
+truststore-passw=webservice_proxy_security_pass
+
+# Connection config
+#max-connections-per-host=5
+
+# AuthBASIC config
+auth-username=admin
+auth-password=admin
+authscope-host=localhost
+authscope-port=8443
+authscope-realm=webservice_proxy_security
+


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/httpclient-jbossws-8443.properties
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.1.0.xsd" parameterReloadSecs="5">
+
+	<providers>
+		<http-provider name="HTTP" host="localhost" port="9443">
+			<property name="scheme" value="https"/>
+			<property name="secure" value="true"/>
+			<property name="SSLEnabled" value="true"/>
+			<property name="Keystore" value="@keystore@"/>
+			<property name="Keypass" value="webservice_proxy_security_pass"/>
+			<http-bus busid="HTTP-BUS" context="/Proxy_Security/HelloWorldWS"/>
+		</http-provider>
+	</providers>
+
+	<services>
+		<service category="Proxy_Security" name="Proxy"
+				 description="Security WebService Proxy"
+				 invmScope="GLOBAL" >
+			<listeners>
+				<http-listener name="HTTP-GATEWAY"
+					busidref="HTTP-BUS"
+					is-gateway="true"
+				/>
+			</listeners>
+			<actions mep="RequestResponse">
+				<action name="echo-request"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Message before SOAPProxy" />
+				</action>
+				<action name="proxy"
+						class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
+						<property name="wsdl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS?wsdl"/>
+						<property name="endpointUrl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS"/>
+						<property name="file" value="/META-INF/httpclient-jbossws-8443.properties"/>
+				</action>
+				<action name="echo-response"
+						class="org.jboss.soa.esb.actions.SystemPrintln">
+						<property name="message" value="Message after SOAPProxy" />
+				</action>
+			</actions>
+		</service>
+	</services>
+
+</jbossesb>


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/jboss-esb-template.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/log4j.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/log4j.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/log4j.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id$ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./listener.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="500KB"/>
+     <param name="MaxBackupIndex" value="1"/>
+
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+     </layout>	    
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.internal.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+   <category name="quickstart">
+      <priority value="INFO"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/log4j.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/readme.txt
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/readme.txt	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/readme.txt	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,119 @@
+Overview:
+=========
+  Consumption of an external WS endpoint protected by BASIC Auth + SSL.
+
+Running this quickstart:
+========================
+  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+  and a more detailed descripton of the different ways to run the quickstarts.
+
+To Run:
+===========================
+  1. *BEFORE* you start the server:
+     - type 'ant genkey'
+     - copy the contents of build/server.xml *into* copy into
+	   jbossesb-server-4.x/server/default/deploy/jboss-web.deployer/server.xml
+
+  2. start the server in jbossesb-server-4.x/bin/ with ./run.sh
+
+  3. In a command terminal window in this folder ("Window1"), type 'ant deploy'.
+  	- In your server console, you will see output like this:
+
+15:10:03,777 INFO  [SOAPProxy] mapped soapaction [""] to binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding]
+15:10:03,777 INFO  [SOAPProxy] mapped operation [{http://webservice_proxy_security/helloworld}sayHello] to binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding]
+15:10:03,796 INFO  [SOAPProxy] mapped binding [{http://webservice_proxy_security/helloworld}HelloWorldBinding] to transport [org.jboss.soa.esb.actions.soap.proxy.HttpSOAPProxyTransport] with endpoint address: [https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS]
+
+  4. Open another command terminal window in this folder ("Window2"), type
+     'ant runtest'.
+
+  5. Switch back to Application Server console to see the output from the ESB
+
+  6. In this folder ("Window1"), type 'ant undeploy'.
+
+  'runws' target description:
+  - This calls the target JBossWS webservice directly setting the
+	Authorization header and using HTTPClient for SSL.
+  - The request url is:
+	https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS
+  - Running it will create output similar to the runhttps output below.
+  
+  'runhttps' (alias 'runtest') target description:
+  - This will exercise the target webservice *via* the SOAPProxy, first going
+	through a HTTP Gateway Listener.
+  - The request url is: https://localhost:9443/Proxy_Security/HelloWorldWS/
+  - Running it will create output like this in the server console:
+
+15:11:11,693 INFO  [STDOUT] Message before SOAPProxy: 
+15:11:11,693 INFO  [STDOUT] [<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://webservice_proxy_security/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHello><toWhom>dward</toWhom></hello:sayHello></soapenv:Body></soapenv:Envelope>].
+15:11:11,969 INFO  [STDOUT] Message after SOAPProxy: 
+15:11:11,969 INFO  [STDOUT] [<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns2:sayHelloResponse xmlns:ns2="http://webservice_proxy_security/helloworld"><return>Hello 'dward' on Wed Jul 29 15:11:11 GMT-05:00 2009</return></ns2:sayHelloResponse></env:Body></env:Envelope>].
+
+  ...and this in the client console:
+
+     [java] ****  REQUEST  URL: https://localhost:9443/Proxy_Security/HelloWorldWS/
+     [java] ****  REQUEST BODY: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://webservice_proxy_security/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHello><toWhom>dward</toWhom></hello:sayHello></soapenv:Body></soapenv:Envelope>
+     [java] 15:11:11,392 DEBUG [main][header] >> "POST /Proxy_Security/HelloWorldWS/ HTTP/1.1[\r][\n]"
+     [java] 15:11:11,426 DEBUG [main][header] >> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
+     [java] 15:11:11,427 DEBUG [main][header] >> "Authorization: Basic YWRtaW46YWRtaW4=[\r][\n]"
+     [java] 15:11:11,427 DEBUG [main][header] >> "SOAPAction: ""[\r][\n]"
+     [java] 15:11:11,427 DEBUG [main][header] >> "User-Agent: Jakarta Commons-HttpClient/3.0.1[\r][\n]"
+     [java] 15:11:11,428 DEBUG [main][header] >> "Host: localhost:9443[\r][\n]"
+     [java] 15:11:11,428 DEBUG [main][header] >> "Content-Length: 254[\r][\n]"
+     [java] 15:11:11,428 DEBUG [main][header] >> "[\r][\n]"
+     [java] 15:11:11,428 DEBUG [main][content] >> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hello="http://webservice_proxy_security/helloworld"><soapenv:Header/><soapenv:Body><hello:sayHello><toWhom>dward</toWhom></hello:sayHello></soapenv:Body></soapenv:Envelope>"
+     [java] 15:11:11,972 DEBUG [main][header] << "HTTP/1.1 200 OK[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "Server: Apache-Coyote/1.1[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "X-Powered-By: Servlet 2.4; JBoss-4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181417)/JBossWeb-2.0[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "Date: Wed, 29 Jul 2009 20:11:11 GMT[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "Content-Type: text/xml;charset=UTF-8[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "Content-Length: 298[\r][\n]"
+     [java] 15:11:11,974 DEBUG [main][header] << "Connection: close[\r][\n]"
+     [java] **** RESPONSE CODE: 200
+     [java] 15:11:11,976 DEBUG [main][content] << "<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns2:sayHelloResponse xmlns:ns2="http://webservice_proxy_security/helloworld"><return>Hello 'dward' on Wed Jul 29 15:11:11 GMT-05:00 2009</return></ns2:s"
+     [java] 15:11:11,976 DEBUG [main][content] << "ayHelloResponse></env:Body></env:Envelope>"
+     [java] **** RESPONSE BODY: <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns2:sayHelloResponse xmlns:ns2="http://webservice_proxy_security/helloworld"><return>Hello 'dward' on Wed Jul 29 15:11:11 GMT-05:00 2009</return></ns2:sayHelloResponse></env:Body></env:Envelope>
+
+Project file descriptions:
+==========================
+	jboss-esb-template.xml (transformed to build/jboss-esb.xml after "genkey" target):
+	A HTTP Gateway Listener accepts the incoming HTTPS call and makes it available to the
+	Proxy_Security/Proxy service, who has a message exchange pattern of RequestResponse.  In the
+	action chain, there are 3 actions:
+	1) echo out the incoming SOAP request,
+	2) use the SOAPProxy class to invoke the original webservice endpoint,
+	also using SSL and passing along BASIC Auth credentials.
+	3) echo out the outgoing SOAP response.
+	Configuration:
+	- wsdl: the wsdl of the original endpoint behind SSL + Basic Auth
+	- endpointUrl: required to make sure "localhost" is used instead of "127.0.0.1" so that the cert matches
+	- file: the Apache Commons HTTPClient file which allows the proxy to talk over SSL to the original endpoint
+
+	For an explanation of all possible configuration properties, please refer to the SOAPProxy section of the Programmer's Guide.
+
+	log4j.xml:
+	Needed to configure log4J used by the quickstart.
+
+	build/httpclient-jbossws-8443.properties:
+	HTTPClient config file used to talk to the original endpoint
+
+	build/httpclient-httpgateway-9443.properties:
+	HTTPClient config file used to talk to the proxy endpoint from SendWSMessage
+	
+	src/../SendWSMessage.java:
+	Sends a SOAP message to the target webservice endpoint (see "ant run*" above) over
+	SSL + Basic Auth.
+
+	build.xml:
+	Targets and structure description:
+
+	*	the runws task calls the
+		org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test.SendWSMessage class and
+		passes in and argument representing the *ORIGINAL* webservice endpoint
+		and an argument representing the string-based message to invoke the webservice with. 
+
+	*	the runhttps (also runtest) task calls the
+		org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test.SendWSMessage class and
+		passes in and argument representing the *PROXIED* webservice endpoint (via HTTP Gateway)
+		and an argument representing the string-based message to invoke the webservice with. 
+
+


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/readme.txt
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/server-template.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/server-template.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/server-template.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,10 @@
+    <!-- copy into jbossesb-server-4.x/server/default/deploy/jboss-web.deployer/server.xml -->
+    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+               maxThreads="150" scheme="https" secure="true"
+               clientAuth="false" sslProtocol="TLS"
+               keyAlias="webservice_proxy_security"
+               keystoreFile="@keystore@"
+               keystorePass="webservice_proxy_security_pass"
+               truststoreFile="@keystore@"
+               truststorePass="webservice_proxy_security_pass"
+               />


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/server-template.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2009
+ */
+package org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.test;
+
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.jboss.internal.soa.esb.util.Encoding;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.http.HttpClientFactory;
+
+/**
+ * Sends a simple webservice request to the proxied webservice, printing both the request and the response to the console.
+ * 
+ * @author dward at jboss.org
+ */
+public class SendWSMessage
+{
+	
+	private static final String SOAP_PRE =
+		"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:hello=\"http://webservice_proxy_security/helloworld\">" +
+			"<soapenv:Header/>" +
+			"<soapenv:Body>" +
+				"<hello:sayHello>" +
+					"<toWhom>";
+	
+	private static final String SOAP_POST =
+					"</toWhom>" +
+				"</hello:sayHello>" +
+			"</soapenv:Body>" +
+		"</soapenv:Envelope>";
+	
+	// see product/samples/quickstarts/webservice_proxy_security/build.xml
+	public static void main(String... args) throws Exception
+	{
+		if (args.length < 3)
+		{
+			// for testing main method from Eclipse (build.xml passes these args in)
+			args = new String[3];
+			args[0] = "https://localhost:9443/Proxy_Security/HelloWorldWS"; // proxy via http gateway ("ant runtest")
+			args[1] = System.getProperty("user.name");
+			args[2] = "/path-to/samples/quickstarts/webservice_proxy_security/build/META-INF/httpclient-httpgateway-9443.properties";
+		}
+		
+		String url = args[0];
+		System.out.println("****  REQUEST  URL: " + url);
+		PostMethod method = new PostMethod(url);
+		method.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
+		
+		// basic auth header should come from client unless <property name="clientCredentialsRequired" value="false"/> is specified
+		method.setRequestHeader("Authorization", "Basic " + Encoding.encodeBytes("admin:admin".getBytes()) );
+		
+		// this line should be used for better performance/interop but is not necessary
+		// http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528
+		// http://www.ws-i.org/Profiles/BasicProfile-1.1.html#SOAPAction_HTTP_Header
+		method.setRequestHeader("SOAPAction", "\"\"");
+		
+		String request = SOAP_PRE + args[1] + SOAP_POST;
+		System.out.println("****  REQUEST BODY: " + request);
+		method.setRequestEntity( new StringRequestEntity(request) );
+		
+		Properties httpClientProps = new Properties();
+		httpClientProps.setProperty(HttpClientFactory.TARGET_HOST_URL, url);
+		httpClientProps.setProperty("file", args[2]);
+		HttpClient client = HttpClientFactory.createHttpClient(httpClientProps);
+		InputStream response = null;
+		try
+		{
+			int code = client.executeMethod(method);
+			System.out.println("**** RESPONSE CODE: " + code);
+			
+			response = method.getResponseBodyAsStream();
+			byte[] bytes = StreamUtils.readStream(response);
+			System.out.println("**** RESPONSE BODY: " + new String(bytes, method.getResponseCharSet()));
+		}
+		finally
+		{
+			method.releaseConnection();
+			if (response != null)
+			{
+				response.close();
+			}
+		}
+	}
+
+}


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/test/SendWSMessage.java
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,3 @@
+<jboss-web>
+  <security-domain>java:/jaas/jmx-console</security-domain>
+</jboss-web>
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/jboss-web.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+	<servlet>
+		<servlet-name>HelloWorldWS</servlet-name>
+		<servlet-class>org.jboss.soa.esb.samples.quickstart.webservice_proxy_security.HelloWorldWS</servlet-class>
+	</servlet>
+
+	<servlet-mapping>
+		<servlet-name>HelloWorldWS</servlet-name>
+		<url-pattern>/HelloWorldWS</url-pattern>
+	</servlet-mapping>
+
+	<security-constraint>
+		<display-name>webservice_proxy_security</display-name>
+		<web-resource-collection>
+			<web-resource-name>webservice_proxy_security</web-resource-name>
+			<url-pattern>/*</url-pattern>
+			<http-method>GET</http-method>
+			<http-method>POST</http-method>
+		</web-resource-collection>
+		<auth-constraint>
+			<role-name>JBossAdmin</role-name>
+		</auth-constraint>
+		<user-data-constraint>
+			<transport-guarantee>CONFIDENTIAL</transport-guarantee>
+		</user-data-constraint>
+	</security-constraint>
+
+	<login-config>
+		<auth-method>BASIC</auth-method>
+		<realm-name>webservice_proxy_security</realm-name>
+	</login-config>
+
+	<security-role>
+		<role-name>JBossAdmin</role-name>
+	</security-role>
+
+</web-app>


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/resources/WEB-INF/web.xml
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/HelloWorldWS.java
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/HelloWorldWS.java	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/HelloWorldWS.java	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2009
+ */
+package org.jboss.soa.esb.samples.quickstart.webservice_proxy_security;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+/**
+ * Simple rpc-style webservice that returns a hello greeting (using the passed-in name) and the current date.
+ * 
+ * @author dward at jboss.org
+ */
+ at WebService(name = "HelloWorld", targetNamespace = "http://webservice_proxy_security/helloworld")
+public class HelloWorldWS
+{
+	
+	@WebMethod
+	public String sayHello(@WebParam(name = "toWhom") String toWhom)
+	{
+		return "Hello '" + toWhom + "' on " + new java.util.Date();
+	}
+	
+}


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/src/org/jboss/soa/esb/samples/quickstart/webservice_proxy_security/HelloWorldWS.java
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/index.jsp
===================================================================
--- labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/index.jsp	                        (rev 0)
+++ labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/index.jsp	2009-07-29 20:23:24 UTC (rev 28581)
@@ -0,0 +1,9 @@
+<html>
+	<body>
+		This is just a place holder.<br>
+		Verify the that the WS has been deployed by hitting 
+			<a href="http://localhost:8080/jbossws">
+				http://localhost:8080/jbossws
+			</a>
+  </body>
+</html>	
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/product/samples/quickstarts/webservice_proxy_security/war/view/index.jsp
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/HttpSOAPProxyTransport.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/HttpSOAPProxyTransport.java	2009-07-29 19:39:37 UTC (rev 28580)
+++ labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/HttpSOAPProxyTransport.java	2009-07-29 20:23:24 UTC (rev 28581)
@@ -25,6 +25,7 @@
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.routing.http.HttpRouter;
 import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.http.configurators.AuthBASIC;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.MessagePayloadProxy;
 
@@ -45,10 +46,48 @@
 	HttpSOAPProxyTransport(ConfigTree config, final MessagePayloadProxy payloadProxy, String defaultEndpointAddress) throws ConfigurationException
 	{
 		ConfigTree cloned_config = config.cloneObj();
-		setAttribute(cloned_config, "MappedHeaderList", "SOAPAction, Content-Type, Accept");
+		
+		setAttribute(cloned_config, "MappedHeaderList", "Content-Type, Accept, Authorization, SOAPAction");
 		setAttribute(cloned_config, "method", "POST");
 		setAttribute(cloned_config, "responseType", "STRING");
+		
 		endpointAddress = setAttribute(cloned_config, "endpointUrl", defaultEndpointAddress);
+		
+		String file = cloned_config.getAttribute("file");
+		if (file != null)
+		{
+			boolean found_file_child = false;
+			ConfigTree[] children = cloned_config.getChildren("http-client-property");
+			for (ConfigTree child : children)
+			{
+				if ( "file".equals(child.getName()) )
+				{
+					found_file_child = true;
+					break;
+				}
+			}
+			if (!found_file_child)
+			{
+				ConfigTree file_child = new ConfigTree("http-client-property", cloned_config);
+				file_child.setAttribute("name", "file");
+				file_child.setAttribute("value", file);
+				if ( logger.isDebugEnabled() )
+				{
+					logger.debug("added HttpRouter http-client-property name [file] value [" + file + "]");
+				}
+			}
+		}
+		
+		if ( cloned_config.getBooleanAttribute("clientCredentialsRequired", true) )
+		{
+			for (String name : new String[]{AuthBASIC.class.getName(), AuthBASIC.class.getSimpleName()})
+			{
+				ConfigTree skip_child = new ConfigTree("http-client-property", cloned_config);
+				skip_child.setAttribute("name", name + ".skip");
+				skip_child.setAttribute("value", "true");
+			}
+		}
+		
 		router = new HttpRouter(cloned_config) {
 			@Override
 			public MessagePayloadProxy getPayloadProxy() {
@@ -90,7 +129,7 @@
 		if ( logger.isDebugEnabled() )
 		{
 			logger.debug(
-				(defaulting ? "defaulting" : "respecting") + " HttpRouter attribute [" + name + "] " +
+				(defaulting ? "defaulted" : "respected") + " HttpRouter attribute [" + name + "] " +
 				(defaulting ? "to" : "of") + " [" + value + "]" );
 		}
 		return value;

Modified: labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java	2009-07-29 19:39:37 UTC (rev 28580)
+++ labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java	2009-07-29 20:23:24 UTC (rev 28581)
@@ -70,15 +70,28 @@
  * example "http"), a protocol-specific {@link SOAPProxyTransport} implementation is used.</li>
  * <li><b>wsdlTransform</b> (optional): A &lt;smooks-resource-list&gt; xml config file allowing for flexible wsdl transformation.</li>
  * <li><b>*</b> (optional): Any of the HttpRouter properties can be applied, if the wsdl specifies an http transport.</li>
+ * <li><b>endpointUrl</b> (optional): Example of an HttpRouter property, but useful when domain name matching is important for SSL certs.</li>
+ * <li><b>file</b> (optional): Apache Commons HTTPClient properties file, useful when proxying to a web service via SSL</li>
+ * <li><b>clientCredentialsRequired</b> (optional; default is "true"): Whether the Basic Auth credentials are required to come from the end
+ * client, or if the credentials specified inside <b>file</b> can be used instead.</li>
  * </ol>
  * * For other possible configuration properties, see the specific {@link SOAPProxyTransport} implementations themselves.<p/>
  * 
- * <i>Example:</i><br/>
+ * <i>Example of a straightforward scenario:</i><br/>
  * <pre>
  * &lt;action name="proxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy"&gt;
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="wsdl" value="http://localhost:8080/path/HelloWorldWebService?wsdl"/&gt; &lt;!-- required --&gt;
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS?wsdl"/&gt;
  * &lt;/action&gt;
  * </pre>
+ * <i>Example of a basic auth + ssl scenario:</i><br/>
+ * <pre>
+ * &lt;action name="proxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy"&gt;
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="wsdl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS?wsdl"/&gt;
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="endpointUrl" value="https://localhost:8443/Quickstart_webservice_proxy_security/HelloWorldWS"/&gt;
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="file" value="/META-INF/httpclient-jbossws-8443.properties"/&gt;
+ * &nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="clientCredentialsRequired" value="true"/&gt;
+ * &lt;/action&gt;
+ * </pre>
  * 
  * @author dward at jboss.org
  */



More information about the jboss-svn-commits mailing list