Return-Path: Delivered-To: apmail-incubator-cxf-commits-archive@locus.apache.org Received: (qmail 39937 invoked from network); 29 Nov 2006 13:31:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Nov 2006 13:31:56 -0000 Received: (qmail 16793 invoked by uid 500); 29 Nov 2006 13:31:58 -0000 Delivered-To: apmail-incubator-cxf-commits-archive@incubator.apache.org Received: (qmail 16744 invoked by uid 500); 29 Nov 2006 13:31:58 -0000 Mailing-List: contact cxf-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-commits@incubator.apache.org Received: (qmail 16668 invoked by uid 99); 29 Nov 2006 13:31:57 -0000 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Nov 2006 05:31:57 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 0ADE51A984D; Wed, 29 Nov 2006 05:10:56 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r480562 - /incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt Date: Wed, 29 Nov 2006 13:10:55 -0000 To: cxf-commits@incubator.apache.org From: andreasmyth@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061129131056.0ADE51A984D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: andreasmyth Date: Wed Nov 29 05:10:54 2006 New Revision: 480562 URL: http://svn.apache.org/viewvc?view=rev&rev=480562 Log: Added README.txt for WS-RM demo. Added: incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt (with props) Added: incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt?view=auto&rev=480562 ============================================================================== --- incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt (added) +++ incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt Wed Nov 29 05:10:54 2006 @@ -0,0 +1,152 @@ +WS-RM Demo +========== + +This demo shows how WS-ReliableMessaging support in CXF may be enabled. + +The client and server both use interceptor configuration to install the +WS-RM interceptors, comprising logical interceptors (RMInInterceptor/RMOutInterceptor) +responsible for managing the reliability properties of the current message, and a +protocol interceptor (RMSoapInterceptor) responsible for encoding/decoding +these properties as SOAP Headers. + +As WS-RM is dependent on WS-Addressing, the configuration uses +the same approach as the ws_addressing sample to enable this +functionality. However, you may notice that the WS-Addressing +namespace URI is different in this case (i.e. +http://schemas.xmlsoap.org/ws/2004/08/addressing as opposed to +http://www.w3.org/2005/08/addressing). This is because the WS-RM +specification is still based on an older version of WS-Addressing. + +Three additional interceptors are configured: + +- LoggingInInterceptor used on both the client- and server-side to log the +inbound SOAP messages and display these to the console. Notice the usage of +out-of-band RM protocol messages (CreateSequence and CreateSequenceResponse) +and the WS-RM headers in application-level messages (Sequence, +SequenceAcknowledgement, AckRequested etc.) + +- LoggingOutInterceptor used on both the client- and server-side to log the +outbound SOAP messages and display these to the console. + +- MessageLossSimulator used only on the client-side to simulate message +loss by discarding every second application level message. This simulated +unreliability allows the retransmission of unacknowledged messages to be +observed. + +This demo also illustrates usage of the decoupled HTTP transport, whereby +a separate server->client HTTP connection is used to deliver responses +to (application or RM protocol) requests and server side originated +standalone acknowlegments. +The "partial response" referred to in the log output is the payload of +the HTTP 202 Accepted response sent on the back-channel of the original +client->server connection. + +In all other respects this demo is based on the basic hello_world sample, +illustrating that WS-Addressing usage is independent of the application. +One notable addition to the familiar hello_world WSDL is the usage +of the extension element to indicate the +WS-Addressing support is enabled for the service endpoint. + +Please review the README in the samples directory before continuing. + + +Prerequisite +------------ + +If your environment already includes cxf-incubator.jar on the CLASSPATH, +and the JDK and ant bin directories on the PATH, it is not necessary to +run the environment script described in the samples directory README. +If your environment is not properly configured, or if you are planning +on using wsdl2java, javac, and java to build and run the demos, you must +set the environment by running the script. + +Building and running the demo using ant +--------------------------------------- + +From the samples/ws_rm directory, the ant build script can be used to +build and run the demo. The server and client targets automatically build +the demo. + +Using either UNIX or Windows: + + ant server + ant client + +On startup, the client makes a sequence of 4 oneway invocations. +The output of the logging interceptors will show that only the 1st and 3rd +reach their destination. Notice how after approximately 2 seconds the +messages that actually have arrived at the server will be acknowledged, +and how after approximately 4 seconds the client will resend the 2nd and 4th +application message. These will be acknowledged another 2 seconds +later so that there will be no further retransmissions from the client. + +To remove the code generated from the WSDL file and the .class +files, run: + + ant clean + + +Building the demo using wsdl2java and javac +------------------------------------------- + +From the samples/ws_rm directory, first create the target directory +build/classes and then generate code from the WSDL file. + +For UNIX: + mkdir -p build/classes + + wsdl2java -d build/classes -compile ./wsdl/hello_world_rm.wsdl + +For Windows: + mkdir build\classes + Must use back slashes. + + wsdl2java -d build\classes -compile .\wsdl\hello_world_rm.wsdl + May use either forward or back slashes. + +Now compile the provided client and server applications with the commands: + +For UNIX: + + export CLASSPATH=$CLASSPATH:$CXF_HOME/lib/celtix.jar:./build/classes + javac -d build/classes src/demo/ws_rm/common/*.java + javac -d build/classes src/demo/ws_rm/client/*.java + javac -d build/classes src/demo/ws_rm/server/*.java + +For Windows: + set classpath=%classpath%;%CXF_HOME%\lib\celtix.jar;.\build\classes + javac -d build\classes src\demo\ws_rm\common\*.java + javac -d build\classes src\demo\ws_rm\client\*.java + javac -d build\classes src\demo\ws_rm\server\*.java + +Running the demo using java +--------------------------- + +From the samples/ws_rm directory run the commands (entered on a single command line): + +For UNIX (must use forward slashes): + java -Djava.util.logging.config.file=./logging.properties + demo.ws_rm.server.Server & + + java -Djava.util.logging.config.file=./logging.properties + demo.ws_rm.client.Client ./wsdl/hello_world_rm.wsdl + +The server process starts in the background. + +For Windows (may use either forward or back slashes): + start + java -Djava.util.logging.config.file=.\logging.properties + demo.ws_rm.server.Server + + java -Djava.util.logging.config.file=.\logging.properties + demo.ws_rm.client.Client .\wsdl\hello_world_rm.wsdl + +The server process starts in a new command window. + +After running the client, terminate the server process. + +To remove the code generated from the WSDL file and the .class +files, either delete the build directory and its contents or run: + + ant clean + Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/cxf/trunk/distribution/src/main/release/samples/ws_rm/README.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain