Skip to content

xin3liang/platform_external_gsoap

Repository files navigation

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.

Releases

No releases published

Packages

No packages published