GSOAP APPLICATION EXAMPLES To build the example services and clients, run 'make' in the 'samples' directory. The concurrent server examples require the Pthreads library. The SSL example requires OpenSSL. The webserver example also requires Zlib. autotest: Autotest code generation for XML databindings (C++) calc: Simple calculator client and server (C) calc++: Simple calculator client and server (C++) calc_vs2005: VS2005 project calc client example (C++) calc_xcode: Mac OS X Xcode project calc client example (C++) databinding: Data binding example for address.xsd addressbook (C++) dime: DIME attachment client and server (C++,pthreads) dom: DOM-based calculator client (C++) factory: Remote object factory and simple ORB (C++) factorytest: Test client for remote object factory (C++) gmt: One-liner service to tell the time in GMT (C++) googleapi: Google Web API client (deprecated by Google) (C) hello: One-liner greeting service (C++) httpcookies: HTTP cookie client and server (C++) link: Linking multiple clients/services (C) link++: Linking multiple clients/services (C++) lu: Linear solver client and server (C++) magic: Magic squares client and server (C++,pthreads) mashup: Combining two services into a new service (C) mashup++: Combining two services into a new service (C++) mtom: MTOM attachment client and server (C) mtom-stream: MTOM streaming attachment client and server (C) oneway: One-way SOAP messaging event handling (C,pthreads) oneway++: One-way SOAP messaging event handling (C++,pthreads) polytest: Polymorphic object exchange (C++) roll: One-liner roll of a dice service (C++) router: Router of HTTP messages over TCP/IP (C,pthreads) rss: RSS 0.91, 0.92, and 2.0 server (C) ssl: HTTPS/SSL example (C,pthreads,OpenSSL) template: Shows how container templates can be serialized (C++) udp: SOAP-over-UDP example client and server (C) varparam: Variable polymorphic parameters (C++) webserver: Stand-alone Web server (C,pthreads,OpenSSL,Zlib) wsa: WS-Addressing demo (C) wsrm: WS-ReliableMessaging demo (C) wsse: WS-Security demo (C,OpenSSL) xml-rpc: XML-RPC support and examples (C/C++) LIBRARY AND GSOAP PLUGIN SUPPORT Some of the examples require the following support libraries and plugins: plugin/threads.h/.c MS Windows threads and Posix threads wrapper plugin/cacerts.h/.c Hard-coded SSL public certificates plugin/wsaapi.h/.c WS-Addressing plugin plugin/wsseapi.h/.c WS-Security plugin DISCLAIMER WE DO OUR BEST TO PROVIDE YOU WITH REAL-WORLD EXAMPLES BUT WE CANNOT GUARANTEE THAT ALL CLIENT EXAMPLES CAN CONNECT TO THIRD PARTY WEB SERVICES WHEN THESE SERVICES ARE DOWN OR HAVE BEEN REMOVED. MAC OS X XCODE PROJECTS A Mac OS X Xcode project example is included in samples/calc_xcode. MS VS2005 PROJECTS A Visual Studio 2005 project example is included in samples/calc_vs2005. A custom build step is defined for the gSOAP header file calc.h. The custom build step invokes soapcpp2 to generate the source code for the project. Note that the step to obtain the gSOAP header file calc.h is intentionally omitted, e.g. wsdl2h is not part of this process. It is advised to run wsdl2h manually and try various wsdl2h options and typemap.dat definitions to customize the wsdl2h output. SSL WITH OPENSSL To try the SSL-secure SOAP server, install OpenSSL and change the occurrences of "linprog2.cs.fsu.edu" in sslclient.c and sslserver.c to the machine name (or machine IP) you are using. Example .pem files are included but you need to create your own .pem files (see OpenSSL documentation). The sslclient and sslserver codes can then be build as follows: soapcpp2 -c ssl.h gcc -DWITH_OPENSSL -o sslclient sslclient.c stdsoap2.c soapC.c soapClient.c -lssl -lcrypto gcc -DWITH_OPENSSL -o sslserver sslserver.c stdsoap2.c soapC.c soapServer.c -lssl -lcrypto -lpthread COPYRIGHT AND LICENSE Several examples in the 'samples' directory are distributed under GPL or commercial license. Please refer to the specific licensing comments provided in the source code files. A commercial license is available from Genivia, Inc. Please contact: contact@genivia.com