[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 <smooks-resource-list> 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>
* <action name="proxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
- * <property name="wsdl" value="http://localhost:8080/path/HelloWorldWebService?wsdl"/> <!-- required -->
+ * <property name="wsdl" value="http://localhost:8080/Quickstart_webservice_proxy_basic/HelloWorldWS?wsdl"/>
* </action>
* </pre>
+ * <i>Example of a basic auth + ssl scenario:</i><br/>
+ * <pre>
+ * <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"/>
+ * <property name="clientCredentialsRequired" value="true"/>
+ * </action>
+ * </pre>
*
* @author dward at jboss.org
*/
More information about the jboss-svn-commits
mailing list