02-05-2021



  1. The gSOAP toolkit allows C/C developers to focus on application logic instead of infrastructure, resulting in reduced development time, fewer bugs, and faster time to market.
  2. Gsoap: C/C development toolkit for XML data bindings, fast WSDL/SOAP/XML Web services, WS-Security, JSON/XML-RPC RESTful services HTTPP: Simple, production ready HTTP server built on top of Boost and a client built on top of libcurl. BSD 2-Clause 'Simplified' License CMake, Makefile IXWebSocket.

The gSOAP toolkit fact sheet - version release 2.8.12 and higher - XML data binding toolkit for C and C/C11 Type-safe data binding for XML with compiler-based XML serialization of C and C data structures User-definable custom XML serializers and XML-to-C/C mapping rules. Help building the digital world of tomorrow with APIs and SDKs across Nokia's vast product portfolio: from the cutting edge VR products of OZO, health device product, IoT platforms, Cloud infrastructure solutions, to the rich suite of communication networks products.

What is Genivia inc?
Genivia is a private consulting and software development company specializing in Web Services and Grid computing.
back to top

What kind of consulting services are available?
Geniva specializes in Web Services solutions and provides additional support for the gSOAP toolkit and associated utilities.
back to top

How do I sign up for the community mailing lists for Q&A and software support?
There are currently two mailing lists: gsoap@yahoogroups.com for general questions and software support and support@genivia.com for software development discussions and feedback.
back to top

Where can I download gSOAP?
You can download the limited open source edition gSOAP from http://sourceforge.net/projects/gsoap2. Please visit our commercial licensing page for the standard edition and enterprise edition software.
back to top

Where can I find the gSOAP licensing terms and conditions?
Please visit our commercial licensing page for the standard edition and enterprise edition software.
back to top

How portable is gSOAP?
gSOAP includes automake/autoconf configuration and installation scripts. The toolkit runs on Mac OS X, Linux, Sun Solaris, Irix, HPUX, Tru64, Cygwin, Win32, and Palm OS, and Symbian.
back to top

Gsoap Toolkit For Mac Download

Does gSOAP support ANSI C?
gSOAP supports the development of pure C Web services and client applications. The gSOAP compiler parses ANSI C.
back to top

Does gSOAP support C++ class hierarchies or the standard template library?
gSOAP supports the native C and C++ type system, including class hierarchies with single inheritance. gSOAP supports class-based polymorphism, which means that derived classes can be safely passed to service methods (provided that the service was compiled with both base and derived class definitions).
back to top

Is gSOAP thread safe and does it support multi-threaded services?
The runtime gSOAP library codes are thread safe. A multi-threaded service can be developed and deployed as a stand-alone service application. Pthreads-based service examples are included in the distribution. Multi-threaded services improve the scalability and reliability of services.
back to top

Are gSOAP services and client applications secure?
The runtime gSOAP library codes were carefully written to avoid known security problems such as buffer overrun exploits and socket vulnerabilities. You can use gSOAP with OpenSSL to encrypt your service and client communications with authentication provided by a certificate authority. In addition, WS-security is supported. A GSI (Globus Security Infrastructure) plug-in for gSOAP is also available.
back to top

What standards does gSOAP support?
See our gSOAP software fact sheet (PDF).
back to top

How do I develop a gSOAP application from a WSDL service definition?
Use the WSDL importer, wsdl2h, included in the package. It takes multiple WSDLs as file arguments or URLs and generates a unified header file for the soapcpp2 compiler.
back to top

How do I specify input and output parameters in a service method declaration?
All parameters are considered input parameters, except the last which is the output parameter. Input parameters can be passed by value or by pointer (but not by reference). The output parameter must be passed by pointer or reference and cannot be a struct or class. To specify multiple output parameters, just use a struct or class to encapsulate them. By SOAP 1.1 convention, the name of the struct/class must be the method name ending in 'Response'. Consider for example 'int ns__method(int in, float *fin, struct ns__methodResponse { int out; float fout; } *response);'.
back to top

Gsoap Toolkit For Mac Catalina

GSOAP

How do I declare a service method that has no input parameters?
Specify just one output parameter in the function prototype of the service method. Some C and C++ compilers will not compile the gSOAP-generated codes which is due to the empty struct produced by gSOAP. To circumvent this problem, use void* as a dummy input parameter, as in 'int ns__myMethod(void*, int &return_);'. The void* parameter is not considered an input parameter because it cannot be encoded.
back to top

How do I declare a service method that has no output parameters?
Specify an output parameter that is an empty struct. For example 'int ns__myMethod(..., struct ns__myMethodResponse { } &response);'. Some C/C++ compilers will not compile this empty struct. To avoid this problem, use void* as a dummy field, as in 'int ns__myMethod(..., struct ns__myMethodResponse { void *dummy; } &response);'. This void* field will not be (de)serialized because it cannot be encoded.
back to top

How do I specify service method parameters that are keywords such as 'return'?
Use parameter names that end in underscore(s). You can also use this convention with type names, struct fields, class members, and so on to avoid name clashes with keywords. The underscore(s) are not significant to gSOAP and will not be used in the SOAP/XML payload. Consider for example 'int ns__mymethod(int &return_);', which declares a service method with one output parameter 'return_' encoded as '<return>' in XML.
back to top

How do I declare a service method for one-way asynchronous messages?
Specify a 'void' output parameter in the service method function prototype, as in 'int ns__method(..., void);'. gSOAP will produce the client-side send and receive routines 'int soap_send_ns__method(struct soap*, ...)' and 'int soap_recv_ns__method(struct soap *, struct ns__method *)', respectively. In addition, the server-side service routine 'int soap_serve(struct soap*)' will accept one-way messages without returning a response.
back to top

How can I specify a service method that uses SOAP 1.1 'anonymous parameter arrays'?
Specify the service method function prototype without filling in the parameter names.
back to top

How do I use SOAP literal encoding with gSOAP?
Add the gSOAP-directive '//gsoap ns service encoding: literal' to your header file, where 'ns' is the namespace prefix of your service methods ('int ns__method(...);').
back to top

How do I specify SOAP Headers?
Specify a 'struct SOAP_ENV__Header' in your header file that contains the appropriate fields. Each field should be namespace qualified (e.g. 'int h__transaction'). In your client/service code, set the 'soap.header' pointer before transmitting a message, for example 'soap.header = soap_malloc(&soap, sizeof(struct SOAP_ENV__Header));' and set the fields.
back to top

How do I specify customized SOAP Faults?
Specify a 'struct SOAP_ENV__Fault' in your header file that contains the appropriate fields. You must specify the fields 'char *faultcode; char *faultstring; char *faultactor; struct SOAP_ENV__Code *SOAP_ENV__Code; char *SOAP_ENV__Reason;' (see the soapcpp2-generated file soapStub.h). In your client/service code, set the 'soap.fault' pointer before transmitting a message, for example 'soap.fault = soap_malloc(&soap, sizeof(struct SOAP_ENV__Fault));' and set the fields.
back to top

How do I debug a gSOAP service and client application?
Uncomment '#define DEBUG' in stdsoap2.h and recompile your application. When you run your application, three files are created in the current directory: SENT.log, RECV.log, and TEST.log. All output messages are appended to SENT.log, all input messages are appended to RECV.log, and TEST.log contains various logging messages generated by the gSOAP runtime. You can also compile stdsoap2.cpp with C/C++ compiler options '-DDEBUG'. You can also dump a client request message to stdout with the endpoint URL 'http://' in the call. The client will wait for input from stdin.
back to top

How do I install and debug a gSOAP service as a CGI application?
Create an executable service application and place it in the Web server's cgi-bin directory, or rename the executable with file extention .cgi and place it in your public_html directory. Enable the executable file permissions. To debug, compile stdsoap2.cpp with compiler option -DDEBUG or uncomment '#define DEBUG' in stdsoap2.h and recompile. Create empty SENT.log, RECV.log, and TEST.log files with write permission in the executable directory. Alternatively, you can redirect a SOAP/XML message to the executable. For example, 'myservice.cgi < request.soap' to test the service. Note that CGI-based services are easy to write but not very efficient. The main body of the application consists of just a call to 'soap_serve(soap_new());'.
back to top

How do I use gSOAP with Apache mod_gsoap?
Apache mod_gsoap is a separate package. You will need to download the platform-independent version of gSOAP and follow the instruction that come with Apache mod_gsoap
back to top

How do I use gSOAP with IIS?
The IIS module for gSOAP is a separate package. Follow the instruction provided with this package
back to top

How do I run a stand-alone gSOAP service?
To build industrial-strength services, you can use Apache mod_gsoap or the IIS package. Because gSOAP includes an HTTP stack, you can also deploy a gSOAP service as a stand-alone application, which requires the use of a thread package such as pthreads. Some example multi-threaded stand-alone example services are provided with the gSOAP distribution. You can run the service as a background process listening to client request messages on a port.
back to top

How can I tell gSOAP to ignore certain data type declarations?
You can provide the type declarations in the header file and use the 'extern' qualifier or you can enclose the type declarations within [ and ] to make them transient, that is, invisible to the gSOAP serializers. For example:

with for example the following implementation of the service method 'ns__foo':

The 'struct soap* soap' field in this class is a special field set by gSOAP's deserializers and the gSOAP-generated 'soap_new_ns__foo()' function to instantiate this class.
back to top

How can I specify primitive XSD schema types or SOAP-ENC schema types?
Use typedef declarations for primitive types in the header file input to the compiler. For example, to declare an XSD schema string type, declare 'typedef char *xsd__string;' and use the 'xsd__string' type for service method parameters and compound data structures. See the documentation for more details on primitive XSD schema types and the section on SOAP literal encoding. The declaration of SOAP-ENC schema types is similar. For example, 'typedef char *SOAP_ENC__string' declares a SOAP-ENC:string schema type.
back to top

I get a link error in VC++. What can I do?
Change all .c into .cpp extensions. Link your application with soapC.cpp ,soapClient.cpp (or soapServer.cpp for services), and stdsoap2.cpp . Check the actual-formal parameter passing (the file soapStub.h contains the prototypes of the generated functions).
back to top

My code segfaults. What can I do?

  1. Make sure that the gSOAP run-time environment (struct soap) is initialized by calling 'soap_init(struct soap*)' or created with 'struct soap *soap_new()'.
  2. Make sure you don't pass the gSOAP run-time environment (struct soap) by value to your application functions. Always pass struct soap by reference or pointer, just like the internal gSOAP functions do. In case you need to make a copy of it, use 'struct soap *soap_copy(struct soap*)'.
  3. Make sure all pointers that are used in the data structures that you pass as parameters to service methods are initialized, that is, pointers should be NULL or point to a valid object. When this is not the case, a crash will occur in the 'soap_serialize_T' and/or 'soap_mark_T' routines of data type 'T'.
  4. Make sure all class instances that are passed as parameters to remote methods are initialized, that is, their virtual method tables (VMTs) must be set.
  5. Make sure that no two (or more) threads can access the same gSOAP run-time environment (struct soap) concurrently. Use separate run-time environments in threads.
  6. Remove all calls to 'soap_destroy(struct soap*)' and 'soap_end(struct soap*)' and rerun to check if the segfault results from gSOAP's garbage collection cleanup.
  7. If the segfault occurs in the 'soap_destroy(struct soap*)' cleanup, remove all deallocation calls in the class' destructors to avoid duplicate deallocations (one by the destructor and one by gSOAP's cleanup). Compensate the elimination of deallocation calls by allocating data solely with 'soap_malloc(struct soap*, size_t)' and 'soap_new_Class(struct soap*, int)' routines in your code. Alternatively, you can use 'soap_unlink(struct soap*, void*)' in the class destructors to unlink the data from gSOAP's deallocation chain before deallocating it in the class destructor (see the gSOAP documentation).
  8. If the segfault occurs in the 'soap_end(struct soap*)' cleanup, then it is likely that data is already deallocated with 'free()' in your code and deallocated again in 'soap_end(struct soap*)'. Use 'soap_unlink(struct soap*, void*)' to unlink the data from gSOAP's deallocation chain before freeing it up.

How can I allocate temporary memory space in a service method?
See the question and the answer below.
back to top

I implemented a service method that returns a stack-allocated data structure. As a result, my gSOAP service returns the wrong values and/or crashes. What can I do?
Use function 'void *soap_malloc(struct soap *soap, size_t n);' to allocate memory on the heap that will be released upon calling 'soap_end()', for example after calling 'soap_serve()' in your service:

Here is an example service method that allocates a temporary string:

Note that you don't want to use local function variables to store values such as strings, because the values are allocated on the stack and deallocated when the function returns. Serialization of the values takes place after the return. This allocation with 'soap_malloc()' can also be used to allocate strings for the SOAP Fault data structure, for example:

Toolkit

My client/service appears to ignore data when receiving messages. What can I do?
SOAP RPC encoding allows optional elements to be ignored. As a side effect, a namespace mismatch and/or tag name mismatch will result in dropping the element. If the namespace and/or tag name are defined correctly, data will never be dropped at run time. To assist debugging and to catch dropped elements, call 'soap_set_imode(&soap, SOAP_XML_STRICT);' to set this option in your code before making a client call or before calling 'soap_serve()'. This will enforce strict validation of messages to catch unrecognized elements and namespaces. Another way to control the dropping of elements is to define the 'fignore' callback. For example:

The 'tag' parameter contains the offending tag name. With this, you can also selectively return a fault:

I wrote a client/service that exchanges strings declared as char[N], but I can't receive any strings?
When you use a fixed-size array of chars, the array is encoded as an array of bytes and not a string. Always use char* (or wchar_t*) for strings. gSOAP does not support fixed-size string arrays, because the actual data received may not fit the array which can lead to data loss.
back to top

How can my client/service send and receive arbitrary XML documents?
By declaring:

or

and use either XML type to exchange XML in string form. When you have an XML schema, you may want to define the necessary data structures in a gSOAP header file to encode the XML.
back to top

Download32 HomeSoftware CategoriesNew DownloadsTop DownloadsRss FeedsSubmit SoftwareBookmarkContact Us
Mac
Linux
Development / Other

gSOAP Toolkit 2.8.8

Download Links:
Click the link below to download gSOAP Toolkit

Short details of gSOAP Toolkit:
The gSOAP toolkit is a portable C and C++ software development toolkit for XML Web services and generic XML data bindings. Easy-to-use XML auto-serialization allows you to directly integrate C and C++ data with XML. Includes WSDL/XSD schema binding and auto-coding tools, stub/skeleton compiler,...



gSOAP Toolkit related software
Title / Version / DescriptionSizeLicensePrice
Magi Toolkit for Java 2.0.1191.7 KBShareware $15
The Magi Toolkit for Java provides a collection of components and utility classes for Java developers to make their life easier. Developers can benefit from a range of add-ons, such as Java Swing components and extensions, Collections extensions, utility classes and more. In addition to this, the Magi Toolkit is evolving and expanding, providing more components and utilities all the time. Check the web site for the latest version. Purchasing...
MzPDF Toolkit 2.03.3 MBShareware $1499.95
MzPDF is a toolkit for generating PDF files very easily. The toolkit was designed in a way that makes the integration process with any application very simple. Main Features: 1. Easy to use: We’re aware of the fact that PDF integration into your application can be hard and very expensive sometimes. Taking that into consideration, we designed our toolkit with simplicity in mind. Our tutorial will demonstrate how simple it’s to integrate our...
Photo Toolkit 1.77.0 MBFreeware
Now completely free! Photo Toolkit is a freeware powerful and easy-to-use program to edit your digital images. With only a few clicks, you can automatically remove red eye and correct colors from a number of photos (batch-mode), retouch portraits, whiten teeth, add lighting effects, correct perspective, change photo size and more directly from the standard Windows picture viewer. Correct your shots while viewing them. Photo Toolkit...
ActiveSocket Network Communication Toolkit 2.11.0 MBShareware $149
Toolkit to enhance your applications or scripts with client/server network socket communication, automated telnet sessions, wake up on lan (Wake On Lan, WOL), RSH (remote shell script) capabilities and more. Use this component with ASP, ASP.NET, Visual Basic, Visual Basic.NET, Visual C++, Visual C# .NET or VBScript application/tool. Based on Microsoft's Winsock modules. Samples for all platforms and development tools are provided. Use this...
COM Port Toolkit 3.81.2 MBShareware $29
COM Port Toolkit is an integrated serial communications testing toolkit. It sends user's data to and receives one from a device and records all transfers to a log. You can test equipments serial communications protocol by hand: feed it input, check the output. You can write or use a script written by other developers to automate some specific tasks: CRC calculations, special transfer rules, outgoing data modifications and etc. COM Port...
Window Security Toolkit 5.01.7 MBShareware $19.95
Get over 51 Advanced Security Settings for Windows with this power tool ! Window Security Toolkit helps you make windows totally secured by Providing access restrictions on the control panel, display settings, network, passwords, users, dos, games, internet, memory, printers, desktop, system, Internet Explorer and more. Also Includes SHA1 160 bit and MD5 File Encryption plus Ultra Desktop Lock. An excellent program if you don't want others to...
Eye4Software GPS Toolkit 2.21.6 MBShareware $99
Toolkit to add GPS functionality to your software and scripts (GPS SDK). All NMEA0183 protocol versions are supported and can be filtered by NMEA sentence type and talker ID. Information on GPS status can also be retrieved: GPS fix quality, satellites used in fix, satellites in view, satellite azimuth, elevation and signal strengths. The toolkit also offers functionality to perform map grid and datum transformations: latitude and longitude...
Graybox OPC Server Toolkit 3.0.1612.4 MBDemo
Graybox OPC Server Toolkit lets the programmer to create robust and highly effective OPC Servers within the shortest possible time. This toolkit eliminates the necessity of implementing all of the numerous OPC interfaces and COM programming. Graybox OPC Server Toolkit supports OPC Common 1.00, OPC Data Access 1.00, OPC Data Access 2.05a, OPC Data Access 3.00 (not available in Graybox OPC Server Toolkit 2.x versions). Graybox OPC Server Toolkit...
Aiseesoft DVD Software Toolkit 7.3.0102.0 MBShareware $125
Aiseesoft DVD Software Toolkit consists of DVD Creator, Blu-ray Player, Video Converter Ultimate, FoneTrans and 3D Converter. With it, you can rip any homemade DVD and convert popular video/audio files to any video and audio format, transfer video, audio and photo files between iPhone and PC, play blu-ray movies, convert video from 2D to 3D and burn DVD disc. What's more, it highly compatible with iPhone 6s/6s Plus, iPad mini 3/2, iPad Air 2,...
iSkysoft iPhone Toolkit for Christmas 1.0.1.139.4 MBShareware $49
iSkysoft iPhone Toolkit for Christmas is an all-in-one iPhone toolkit that includes 4 excellence multimedia applications: iPhone Video Converter for Mac, DVD to iPhone Converter for Mac, SyncPod for Mac and iPhone Ringtone Maker. This great iPhone application discount pack helps you take full advantage of your iPhone and greatly enrich your digital life! It helps you convert DVDs and all popular types of videos like WMV, FLV, AVI, MKV,...
New downloads of Development, Other
Title / Version / DescriptionSizeLicensePrice
Virtual Serial Port Driver 104.1 MBTrial 114.45EUR
Virtual Serial Port Driver is an effective, comprehensive application that allows for easy management of physical and virtual serial ports. Its ability to customize port parameters and create complex port bundles makes it an ideal solution for many diverse situations. VSPD 10 features include the ability to split a single physical COM port into several virtual ports that appear identical to the hardware interface. Physical serial ports and...
ModCom 12.2.313.9 MBFreeware
Free Windows software for Data Acquisition & Control, HMI / SCADA, Industrial Automation, Home Automation, Process Control, Test & Measurement, Data Logging, etc. ModCom is a GUI-based HMI development platform created with the non-programmer in mind. Custom screens such as what's shown in the picture can be setup very quickly and easily with little or no programming skills. Ready to run, built-in features include the following:...
Altova MobileTogether Designer 6.0221.5 MBFreeware
MobileTogether is a revolutionary RMAD framework for building>
Altova UModel Professional Edition 202099.7 MBDemo 129EUR
Altova UModel Professional Edition is the starting point for successful software development. Use UModel to create and interpret software and SQL database designs via the power of UML. Design application and database models and generate Java, C#, or Visual Basic .NET code, and SQL scripts. Reverse engineer existing programs and databases into clear, accurate UML diagrams to quickly analyze legacy software. UModel can automatically generate...
Altova UModel Enterprise Edition 2020100.2 MBDemo 199EUR
Altova UModel Enterprise Edition is the starting point for successful software development. Use UModel to create software models and SQL database designs via the power of UML. Generate Java, C#, or Visual Basic .NET code, and SQL scripts from UML models. Reverse engineer existing programs and databases into clear, accurate UML diagrams to visually analyze legacy software. You can even revise your code or UML models and complete the round trip...
Latest Reviews
SoftPerfect RAM Disk (Sean) - Jul 8, 2020
Superb disk utility for speeding up laptops and prolonging the life of their hdd.
StarCode Lite POS and Inventory Manager (Ed Martin) - Jan 21, 2019
I would say best inventory software for small shops or stores. Never found an app like this before. Thanks Download32
ConyEdit for Windows (reshim) - Dec 3, 2018
Programmers feel the comfort of coding using ConyEdit which is capable to edit codes in batch mode and supports most of programming language.
Disc Cover Studio (harish) - Dec 19, 2017
No need to go for a professional designer for the cover of new record, you can do it on your own sitting at home PC adding your own image on it with the Disc Cover Studio.
Kaspersky Security Scanner (Anthony) - Oct 12, 2017
Scans software to find whether it is harmful for computer and also checks for updates of security patches.
Comodo Firewall (Maxmuller) - Sep 19, 2017
This just another awesome product from Comodo to protect your computer from unwanted inbound or outbound traffic, also helps you analyze data packets.
TCP Splitter (Redrick) - Aug 10, 2017
This lets the data packets we send split into several packages which is convenient for many applications to receive those and process one after another.
Project Viewer Lite (Tensialar) - Jul 19, 2017
This is a light weight software for viewing MS project files easily without the MS project installed, all the personal who are involved in the project can view this with graphics and charts.
PDF Shaper Professional (Mortinus) - Jun 7, 2017
I had difficulties with the pdf documents which needed to be edited before presentation, then I got PDF Shaper which helped me to take the texts / images out and insert my own texts plus other images.
Hotelare (Nielsine) - May 15, 2017
You can enable your guests book any room instantly through your website, also receive the payments, other sections of your hotel can be also handled using the this software like restaurants, accounts, hr etc.
Audio & Multimedia|Business Software|Development Tools|Education|Games|Graphics Software|Network & Internet|System Utilities|Mac Tools|Linux Programs
free. software downloads|Submit Software|Contact Us|Privacy Policy|Disclaimer|Link to Download32|Bookmark Us
All software information on this site, is solely based on what our users submit. Download32.com disclaims that any right and responsibility for the information go to the user who submit the software, games, drivers. Some software may not have details explanation or their price, program version updated. You should contact the provider/actual author of the software for any questions. There are also user reviews/comments posted about various software downloads, please contact us if you believe someone has posted copyrighted information contained on this web site. Copyright © 1996-2015 Download 32.