| |
| Thanks for using gSOAP! |
| |
| gSOAP provides a cross-platform development toolkit for developing server, |
| client, and peer Web service applications in C and C++. |
| |
| * The gSOAP 'soapcpp2' compiler and 'stdsoap2' runtime are stable since |
| version release 2.1.3. |
| |
| * The gSOAP 'wsdl2h' WSDL parser is stable since wsdl2h version release 1.1.0. |
| The WSDL parser fully supports WSDL 1.1 and XML schemas. |
| |
| The software is provided "as is", without any warranty. However, gSOAP |
| has received a lot of support from users and has been extensively tested |
| in the "real world". We also continue to improve gSOAP and add new features. |
| |
| WHAT'S COOL? |
| |
| The gSOAP WSDL parser is a gSOAP application itself, which demonstrates the |
| capabilities of the generic XML handling by the toolkit to parse WSDL, XML |
| schemas, and SOAP/XML. |
| |
| gSOAP supports streaming technologies to expedite SOAP/XML and binary DIME |
| attachment transfers. It is the only toolkit that supports streaming DIME |
| transfers of potentially unlimited binary data lengths. |
| |
| gSOAP is the only toolkit that supports the serialization of native C and C++ |
| data types. You can use it to export and import your application data in XML |
| without having to write wrapper routines. |
| |
| gSOAP ensures as small memory footprint, because XML is a processed as a |
| transient format and not buffered. Many optimizations have been applied to |
| reduce resource requirements and to expedite XML parsing. |
| |
| INSTALLATION |
| |
| See NOTES.txt for distribution notes and installation instructions. |
| |
| See the 'doc' directory doc/index.html for documentation. |
| |
| See the 'samples' directory for example gSOAP Web service applications. |
| |
| See the 'uddi2' directory to build UDDI v2 registries. |
| |
| See the 'WS' directory for WS-* protocol support. This part of the software is |
| under development as new WS-* protocols are published. |
| |
| See the 'import' directory for WS-* protocols you can import. |
| |
| See the 'plugin' directory for plugins. |
| |
| See the 'custom' directory for example custom serializers. |
| |
| See the 'mod_gsoap' directory for Apache mod_gsoap, IIS modules, and WinInet. |
| |
| See the 'extras' directory with third-party contributions. |
| |
| GETTING STARTED |
| |
| The gSOAP WSDL parser converts WSDL into a gSOAP header file for processing |
| with the gSOAP stub and skeleton compiler to build your Web services |
| applications. You can use the WSDL parser to translate WSDL and/or XML schemas |
| into C or C++ data structures and XML parsers. You can also use the gSOAP |
| compiler separately to create XML serialization routines for application data. |
| |
| For example: |
| |
| $ wsdl2h -s -o XMethodsQuery.h http://www.xmethods.net/wsdl/query.wsdl |
| |
| $ soapcpp2 XMethodsQuery.h |
| |
| The XMethodsQuery.h header file contains a translation of the services and XML |
| schemas to C/C++ and other useful information copied from the WSDL. The |
| header file is then processed by the gSOAP stub and skeleton compiler to |
| generate the following files: |
| |
| soapClient.cpp client-side stub routines for service invocation |
| soapServer.cpp server-side skeleton routines for server development |
| soapC.cpp C/C++ parameter marshalling code |
| |
| To develop a C++ client application, you can also use the generated |
| 'soapXMethodsQuerySoapProxy.h' class and 'XMethodsQuerySoap.nsmap' XML |
| namespace table to access the XMethods Web service. Both need to be |
| '#include'-d in your source. Then compile and link the soapC.cpp, |
| soapClient.cpp, and stdsoap2.cpp sources to complete the build. More |
| information can be found in the gSOAP documentation and the Quick How-To page |
| on the gSOAP Web site. |
| |
| See also the 'wsdl/README.txt' for more details on the WSDL parser and |
| installation (in case you don't have the wsdl2h executable). |
| |
| LICENSE |
| |
| gSOAP is distributed under three licenses: |
| |
| * The gSOAP public open source license (which is based on the Mozilla public |
| license 1.1). See license.html or license.pdf for further details. |
| |
| * GPL (GNU Public License). |
| |
| * License for commercial use. |
| |
| Most parts are distributed under the gSOAP public license and GPL. You can |
| choose which license applies best to your use. Some parts of gSOAP are |
| strictly distributed under the GPL. A commercial use license is available |
| from Genivia Inc, see http://genivia.com/Products/gsoap/contract.html |
| |
| Please refer to the README files and/or header information in source code files |
| for the appropriate licensing specific to that part of the source code. The |
| gSOAP public license, unlike GPL, allows for commercial use of gSOAP. It also |
| allows products to be built on top and distributed under any license (including |
| commercial). Products developed with gSOAP should include a notice of |
| copyright and a disclaimer of warranty in the product's documentation (License |
| Exhibit B). The source code generated by the gSOAP compiler 'soapcpp2' is also |
| covered by the gSOAP public license, which means that you can use it for |
| commercial purposes. |
| |
| The parts of the code that are strictly distributed under the GPL (i.e. the code |
| that is only distributed under GPL and not jointly under GPL and gSOAP public |
| license) cannot be used for commercial purposes. These parts are: |
| |
| * The wsdl2h WSDL parser source code and the code generated by it. |
| |
| * The examples included in the gSOAP distribution package 'samples' directory. |
| |
| A commercial license is available for the GPL licensed software. Please refer |
| to the license details at http://www.genivia.com/Products/gsoap/contract.html |
| for further details. |
| |
| COPYRIGHT |
| |
| gSOAP is copyrighted by Robert A. van Engelen, Genivia, Inc. |
| Copyright (C) 2000-2005 Robert A. van Engelen, Genivia, Inc. |
| All Rights Reserved. |
| |
| USE RESTRICTIONS |
| |
| You may not: (i) transfer rights to gSOAP or claim authorship; or (ii) remove |
| any product identification, copyright, proprietary notices or labels from gSOAP. |
| |
| WARRANTY |
| |
| GENIVIA INC. EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS, IMPLIED OR |
| STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF |
| MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD |
| PARTY INTELLECTUAL PROPERTY RIGHTS, AND ANY WARRANTY THAT MAY ARISE BY REASON |
| OF TRADE USAGE, CUSTOM, OR COURSE OF DEALING. WITHOUT LIMITING THE |
| FOREGOING, YOU ACKNOWLEDGE THAT THE SOFTWARE IS PROVIDED "AS IS" AND THAT |
| GENIVIA INC. DO NOT WARRANT THE SOFTWARE WILL RUN UNINTERRUPTED OR ERROR FREE. |
| LIMITED LIABILITY: THE ENTIRE RISK AS TO RESULTS AND PERFORMANCE OF THE |
| SOFTWARE IS ASSUMED BY YOU. UNDER NO CIRCUMSTANCES WILL GENIVIA INC. BE LIABLE |
| FOR ANY SPECIAL, INDIRECT, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF |
| ANY KIND OR NATURE WHATSOEVER, WHETHER BASED ON CONTRACT, WARRANTY, TORT |
| (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, ARISING OUT OF OR IN |
| ANY WAY RELATED TO THE SOFTWARE, EVEN IF GENIVIA INC. HAS BEEN ADVISED ON THE |
| POSSIBILITY OF SUCH DAMAGE OR IF SUCH DAMAGE COULD HAVE BEEN REASONABLY |
| FORESEEN, AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY |
| EXCLUSIVE REMEDY PROVIDED. SUCH LIMITATION ON DAMAGES INCLUDES, BUT IS NOT |
| LIMITED TO, DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOSS OF DATA OR |
| SOFTWARE, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION OR IMPAIRMENT OF |
| OTHER GOODS. IN NO EVENT WILL GENIVIA INC. BE LIABLE FOR THE COSTS OF |
| PROCUREMENT OF SUBSTITUTE SOFTWARE OR SERVICES. YOU ACKNOWLEDGE THAT THIS |
| SOFTWARE IS NOT DESIGNED FOR USE IN ON-LINE EQUIPMENT IN HAZARDOUS |
| ENVIRONMENTS SUCH AS OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR |
| CONTROL, OR LIFE-CRITICAL APPLICATIONS. GENIVIA INC. EXPRESSLY DISCLAIM ANY |
| LIABILITY RESULTING FROM USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN |
| HAZARDOUS ENVIRONMENTS AND ACCEPTS NO LIABILITY IN RESPECT OF ANY ACTIONS OR |
| CLAIMS BASED ON THE USE OF THE SOFTWARE IN ANY SUCH ON-LINE EQUIPMENT IN |
| HAZARDOUS ENVIRONMENTS BY YOU. FOR PURPOSES OF THIS PARAGRAPH, THE TERM |
| "LIFE-CRITICAL APPLICATION" MEANS AN APPLICATION IN WHICH THE FUNCTIONING OR |
| MALFUNCTIONING OF THE SOFTWARE MAY RESULT DIRECTLY OR INDIRECTLY IN PHYSICAL |
| INJURY OR LOSS OF HUMAN LIFE. |
| |
| LIBRARIES |
| |
| gSOAP is self-contained and does not require any third-party software, except |
| for the Zlib and OpenSSL libraries that must be installed to support |
| compression and encryption. Compression and encryption are optional. |
| |
| To build the gSOAP 'soapcpp2' compiler, you must have Bison and Flex installed |
| (or the older Yacc and Lex equivalents). |
| |
| Win32 build of clients and services requires winsock.dll. To do this in |
| Visual C++ 6.0, go to "Project", "settings", select the "Link" tab (the |
| project file needs to be selected in the file view) and add "wsock32.lib" to |
| the "Object/library modules" entry. The Win32 distribution contains two |
| MSVC++ project examples. The custom build in VC++ 6.0 has been configured to |
| invoke the gSOAP compiler automatically. The VC++ projects can be converted to |
| MSVC++ 7.0. |
| |
| DISCLAIMER |
| |
| WE TRY 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. |
| |