The gSOAP tools provide a SOAP/XML-to-C/C++ language binding to ease the development of SOAP/XML Web services and client application in C and C++. Most toolkits for C++ Web services adopt a SOAP-centric view and offer APIs that require the use of class libraries for SOAP- specific data structures. This often forces a user to adapt the application logic to these libraries. In contrast, gSOAP provides a C/C++ transparent SOAP API through the use of compiler technology that hides irrelevant SOAP-specific details from the user. The gSOAP stub and skeleton compiler automatically maps native and user-defined C and C++ data types to semantically equivalent XML data types and. | gSOAP User Guide Robert van Engelen Florida State University and Genivia, Inc. engelen@ & engelen@ April 1, 2007 Contents 1 Introduction 8 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Your First Web Service Client Application . . . . . . . . . . . . . . . . . . . . . . 9 Your First Web Service in CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Notational Conventions 13 3 Differences Between gSOAP Versions (and Earlier) and 14 4 Differences Between gSOAP Versions (and Earlier) and 14 5 Differences Between gSOAP Versions and 14 6 Interoperability 17 7 Quick User Guide 18 How to Use the gSOAP Stub and Skeleton Compiler to Build SOAP Clients . . . 18 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Namespace Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 How to Generate C++ Client Proxy Classes . . . . . . . . . . . . . . . . . 26 XSD Type Encoding Considerations . . . . . . . . . . . . . . . . . . . . . 27 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 How to Change the Response Element Name . . . . . . . . . . . . . . . . 29 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1 How to Specify Multiple Output Parameters . . . . . . . . . . . . . . . . 30 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 How to Specify Output Parameters With struct/class Compound Data Types 31 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 How to Specify Anonymous