Return-Path:
-Handlers
+Handlers
+
+SSL Client
+
+Session Headers
+
+ IPV6
Before you follow this guide, please make sure that you have followed the Windows Installation guide
@@ -410,5 +416,98 @@
b. testHandler
(Axis_Extract/samples/client/testHandler)
+This section describes how to use an Axis C++ SSL secure client to access web services hosted on a secure web service.
+The SSL implementation for the client in Axis C++ uses the openssl opensource library.
+To aid to compile the secure channel dll
+1. Install the openssl 0.9.7e binary distribution.
+2. Copy the include files from the openssl installation to c\include\openssl in your distribution
+3. Copy libs found in \lib\VC of the openssl installation to c\lib\openssl
+
+Now use the vc project in c\vc\transport\Axis2\Axis2SSLChannel to compile the Secure channel dll.
+
+Paste this dll where the Axis C++ client can load it (i.e %PATH%) OR specify the path to it in the axiscpp.conf
+under the key "Channel_ssl" (e.g Channel_ssl:c:\Axis2SSLChannel.dll)
+
+Now when you run any client using a url of the form https://...... the client will use SSL to connect to the relevant secure service specified by the url. The client request must be directed at a "secure webserver" which has the relevant
+web service hosted.
The following text explains how to deploy and run the SOAP Header based sample client with Axis Java web service
+Deploying the Web Service
c\samples\server\session\headers folder contains the sources (inside the counters folder, which is the package of these classes) needed to build the Axis java service needed to run the soap header based session client
+(These server side skeletons were generated from the Counter.wsdl)
+
+
+Compile these java source files and deploy them in Axis java (visit http://ws.apache.org/axis/java/index.html on how to
+achieve this)
+
+
+Put the following element in the
+<handler name="session" type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
+
+The following should be put in the server-config.wsdd of Axis java for this service to behave as having session scope
+
+<service name="CounterService" provider="java:RPC">
+<parameter name="scope" value="session"/>
+<requestFlow>
+<handler type="session"/>
+</requestFlow>
+<responseFlow>
+<handler type="session"/>
+</responseFlow>
+ <parameter name="allowedMethods" value="*"/>
+ <parameter name="className" value="counters.CounterSoapBindingImpl"/>
+ <namespace>http://xml.apache.org/axis/wsdd/</namespace>
+</service>
+Since Axis c++ doesn't support multiref yet, Axis java multiref should be disabled by putting the element
+<parameter name="sendMultiRefs" value="false"/>
+under <globalConfiguration>
+
+Start Axis java (visit http://ws.apache.org/axis/java/index.html on how to achieve this)
+
+Generating the client stubs and building the client and running the client.
Use the vc workspace \c\vc\samples\client\session\Headers\Headers.dsw to compile the client side handler for this sample
+
+Run the command java org.apache.axis.wsdl.wsdl2ws.WSDL2Ws ../Counter.wsdl -o./gen_src -lc++ -sclient
+from within c\samples\client\session\headers\sessionclient to generate the client stubs
+
+Compile the client application using the vc workspace at
+\c\vc\samples\client\session\Headers\Headers.dsw
+
+Host the service in Axis java (Check c/samples/server/session/headers/readme.txt on how to do this).
+
+Configure the client to use the provided client.wsdd from axiscpp.conf (make appropriate changes if necessary
+in the client.wsdd to the absolute path of the handler )
+
+Run the tcpMonitor and configure it to check the conversation between the client and server
+
+Run the client in the following fashion
+sessionClient count 1 http://localhost:8080/axis/services/CounterService
+
+
+Inspect the SOAP messages in tcpMonitor to see the values returned by the server incremented by 1 each
+time (as done throught the client). Counting starts at the value 97, which is set at the server side web service.
+
The source is in src/transport/axis2/ipv6/
We need the 2 additional headers that comes with the IPv6Kit.
+Can be downloaded from http://msdn.microsoft.com/downloads/sdks/platform/tpipv6.asp
+Extract the package and copy the tpipv6.h and wspiapi.h headers in inc folder to $AXISCPP_HOME/include.
+ That would compile the axis2ipv6 VC++ project.