Genivia Home Documentation
stdsoap2.h File Reference

updated Tue Aug 27 2024 by Robert van Engelen
 
stdsoap2.h File Reference

This file defines the common macros, types and functions of the gSOAP API grouped by modules More...

Classes

struct  soap
 Context with the engine state. More...
 
struct  soap_cookie
 Cookie structure. More...
 
struct  Namespace
 Structure of each row in a namespace table. More...
 
struct  SOAP_ENV__Header
 SOAP Header structure. More...
 
struct  SOAP_ENV__Fault
 SOAP Fault structure. More...
 
struct  SOAP_ENV__Code
 SOAP Fault Code structure. More...
 
struct  SOAP_ENV__Detail
 SOAP Fault Detail structure. More...
 
struct  SOAP_ENV__Reason
 SOAP Fault Reason structure generated by soapcpp2. More...
 
struct  xsd__base64Binary
 XSD base64Binary structure with attachment data. More...
 
struct  _xop__Include
 XOP include structure with attachment data. More...
 
struct  xsd__hexBinary
 XSD hexBinary structure with attachment data. More...
 
struct  soap_dime
 Stores a linked list of DIME attachments received. More...
 
struct  soap_mime
 Stores a linked list of MIME attachments received. More...
 
struct  soap_multipart
 DIME/MIME/MTOM attachment data received by the engine. More...
 

Macros

#define DEBUG
 User-definable macro to enable debugging and logging. More...
 
#define SOAP_DEBUG
 User-definable macro, identical behavior as DEBUG but more portable. More...
 
#define DEBUG_STAMP
 User-definable macro to enable debugging and logging with time stamps. More...
 
#define SOAP_MEM_DEBUG
 User-definable macro to enable memory debugging without logging. More...
 
#define SOAPDEFS_H
 When this macro is defined at compile time (undefined by default) then the header file specified by this macro is included in the build via stdsoap2.h. More...
 
#define WITH_SOAPDEFS_H
 When this macro is defined at compile time (undefined by default), a user-supplied file named soapdefs.h is included in the build, i.e. soapdefs.h can be used to configure the build by defining compile-time macros and flags. More...
 
#define WITH_COMPAT
 When this macro is defined at compile time (undefined by default), removes dependency on C++ std::string and std::iostream libraries. More...
 
#define WITH_LEAN
 When this macro is defined at compile time (undefined by default), memory footprint is significantly reduced by removing non-essential features from the engine and from the generated code. More...
 
#define WITH_LEANER
 When this macro is defined at compile time (undefined by default), memory footprint is further reduced from WITH_LEAN by removing non-essential features from the engine and from the generated code. More...
 
#define WITH_FAST
 When this macro is defined at compile time uses faster memory allocation at a cost of larger memory blocks allocated (defined by default except with WITH_LEAN and WITH_LEANER) More...
 
#define WITH_COOKIES
 When this macro is defined at compile time (undefined by default), HTTP cookie support is enabled in the engine. More...
 
#define WITH_INSECURE_COOKIES
 When this macro is defined at compile time (undefined by default), HTTP cookie support is enabled (as WITH_COOKIES) but allows cookies with their Secure flag set to be sent over insecure channels. More...
 
#define WITH_IPV6
 When this macro is defined at compile time (undefined by default), IPv6 support is enabled and both IPv4 and IPv6 connections are supported by the engine. More...
 
#define WITH_IPV6_V6ONLY
 When this macro is defined at compile time (undefined by default), IPv6-only is enabled for port binding at the server side by the engine to ensure that a socket will only use IPv6 without mapping IPv4 to IPv6. More...
 
#define WITH_OPENSSL
 When this macro is defined at compile time (undefined by default), enables activation and linkage with OpenSSL for HTTPS and WS-Security (this macro should also be defined when using plugins that rely on OpenSSL) More...
 
#define WITH_GNUTLS
 When this macro is defined at compile time (undefined by default), enables activation and linkage the GNUTLS library to enable HTTPS in the engine. More...
 
#define WITH_WOLFSSL
 When this macro is defined at compile time (undefined by default), enables activation and linkage of the WolfSSL library to enable HTTPS in the engine. More...
 
#define WITH_GZIP
 When this macro is defined at compile time (undefined by default), enables linkage with the zlib library for HTTP message compression (using compress and gzip methods) when the SOAP_ENC_ZLIB mode flag is enabled at runtime. More...
 
#define WITH_ZLIB
 When this macro is defined at compile time (undefined by default), enables linking the zlib library for HTTP message compression when the SOAP_ENC_ZLIB mode flag is enabled at runtime. More...
 
#define WITH_NTLM
 When this macro is defined at compile time (undefined by default), enables linkage with the ntlm library for HTTP NTLM authentication. More...
 
#define WITH_C_LOCALE
 When this macro is defined at compile time (defined by default for most platforms), the C locale is enabled in the engine, opposite of WITH_NO_C_LOCALE More...
 
#define WITH_NO_C_LOCALE
 When this macro is defined at compile time (undefined by default), the use of the C locale is disabled in the engine, the opposite of WITH_C_LOCALE More...
 
#define WITH_INCLUDE_XLOCALE_H
 When this macro is defined at compile time (defined by default for most platforms), include xlocale.h to define locale_t and the _l locale-specific functions. More...
 
#define WITH_DOM
 When this macro is defined at compile time (undefined by default), enables WS-Security signature verification and XML re-canonicalization, i.e. this macro must be defined when using the gSOAP WSSE plugin for WS-Security. More...
 
#define WITH_REPLACE_ILLEGAL_UTF8
 When this macro is defined at compile time (undefined by default), replaces UTF-8 content that is outside the Unicode range with the value of SOAP_UNKNOWN_UNICODE_CHAR (Unicode FFFD) to indicate illegal UTF-8, set SOAP_UNKNOWN_UNICODE_CHAR to another integer code if desired (the value is 0xFFFD by default) More...
 
#define WITH_FASTCGI
 When this macro is defined at compile time (undefined by default), enables and configures the engine and generated code to use FastCGI at the server side. More...
 
#define WITH_NOIO
 When this macro is defined at compile time (undefined by default), removes all IO and socket library calls to replace these with user-supplied callback functions, see the IO callbacks in the user guide. More...
 
#define WITH_NOIDREF
 When this macro is defined at compile time (undefined by default), permanently disables XML ID (id attribute) and REF (href or ref attribute) processing rules associated with SOAP 1.1 and SOAP 1.2 "multi-reference" data to serialize object graphs, this is a more aggressive optimization option than the runtime SOAP_XML_TREE flag. More...
 
#define WITH_NOHTTP
 When this macro is defined at compile time (undefined by default), permanently removes the HTTP stack to reduce code size. More...
 
#define WITH_NOZONE
 When this macro is defined at compile time (undefined by default), removes and ignores the timezone in xsd:dateTime values. More...
 
#define WITH_NOEMPTYNAMESPACES
 When this macro is defined at compile time, default empty namespaces are not required to parse XML and are disabled from XML messages when the SOAP_XML_DEFAULTNS mode flag is used. More...
 
#define WITH_NOEMPTYSTRUCT
 
#define WITH_NOGLOBAL
 When this macro is defined at compile time (undefined by default), omits SOAP Header and Fault serialization code, this flag prevents duplicate definitions in the source code generated by soapcpp2. More...
 
#define WITH_NONAMESPACES
 When this macro is defined at compile time (undefined by default), removes dependence on the global namespaces table, rather users must set the XML namespaces explicitly by calling soap_set_namespaces More...
 
#define WITH_CDATA
 When this macro is defined at compile time (undefined by default), retains the parsed CDATA sections in literal XML strings. More...
 
#define WITH_PURE_VIRTUAL
 When this macro is defined at compile time (undefined by default), makes C++ service class operation methods and the copy method pure virtual by defining SOAP_PURE_VIRTUAL = 0. More...
 
#define WITH_DEFAULT_VIRTUAL
 When this macro is defined at compile time (undefined by default), enables C++ base service classes with default virtual methods returning fault SOAP_NO_METHOD More...
 
#define WITH_CASEINSENSITIVETAGS
 When this macro is defined at compile time (undefined by default), enables case insensitive XML tag name parsing and validation. More...
 
#define WITH_SOCKET_CLOSE_ON_EXIT
 When this macro is defined at compile time (undefined by default), prevents a server port from staying in listening mode after exit by internally setting fcntl(sock, F_SETFD, FD_CLOEXEC) More...
 
#define WITH_TCPFIN
 When this macro is defined at compile time (undefined by default), the engine transmits TCP FIN using shutdown(sock, SHUT_WR) after all sends are completed and just before the socket closes. More...
 
#define WITH_SSL_FULL_SHUTDOWN
 When this macro is defined at compile time (undefined by default), the engine calls SSL_shutdown(ssl) twice, the second after close_notify (with a 5 second timeout), before closing the socket (WITH_LEAN n/a: calls SSL_shutdown(ssl) a second time without any timeout) More...
 
#define WITH_SELF_PIPE
 When this macro is defined at compile time (undefined by default), the engine is configured to enable soap_close_connection using a "self-pipe". More...
 
#define WITH_CRTOLF
 When this macro is defined at compile time (undefined by default), the engine is configured to replace CRLF (carriage return #xD followed by line feed #xA) by LF and replace single CR by LF. More...
 
#define SOAP_NOTHROW   (std::nothrow)
 Macro expands to (std::nothrow) to prevent the deserializer's memory allocator from throwing an exception but return SOAP_EOM instead, this macro is empty when WITH_COMPAT is enabled or when WITH_LEAN or WITH_LEANER are enabled which means that exceptions may be thrown. More...
 
#define SOAP_BUFLEN   (65536)
 User-definable size of the input and output message buffer soap::buf (the value is 65536 by default) More...
 
#define SOAP_HDRLEN   (8192)
 User-definable maximum length of HTTP headers (the value is 8192 by default) More...
 
#define SOAP_TAGLEN   (1024)
 User-definable maximum length of XML tags and URLs (the value is 1024 by default) More...
 
#define SOAP_TMPLEN   (1024)
 User-definable maximum length of temporary string values stored in soap::msgbuf and soap::tmpbuf, e.g. to hold short strings and brief error messages (1024 by default, must not be less than 1024) More...
 
#define SOAP_MAXALLOCSIZE   (0)
 User-definable maximum size of a block of memory that malloc can allocate or 0 for no limit (the value is 0 by default) More...
 
#define SOAP_MAXARRAYSIZE   (100000)
 User-definable macro to protect excessive SOAP array allocation requests by defining a maximum allocation threshold. More...
 
#define SOAP_MAXDIMESIZE   (8*1048576)
 User-definable maximum length of DIME attachments received (the value is 8 MB by default) More...
 
#define SOAP_MAXEINTR   (10)
 User-definable maximum number of EINTR interrupts to ignore while polling a socket for pending activity, each EINTR ignored may increase the I/O blocking time by at most one second (the value is 10 by default) More...
 
#define SOAP_MAXINFLATESIZE   (1*1048576)
 Trusted inflated content size (1 MB by default), larger content is subject to the SOAP_MINDEFLATERATIO constraint, i.e. if SOAP_MINDEFLATERATIO is 1.0, SOAP_MAXINFLATESIZE is always the max size of uncompressed content. More...
 
#define SOAP_MAXKEEPALIVE   (100)
 User-definable maximum iterations in the server-side soap_serve loop (or the C++ service class serve method) on HTTP keep-alive connections, assigned to soap::max_keep_alive which can be altered at runtime (the value is 100 by default) More...
 
#define SOAP_MAXLENGTH   (0)
 User-definable maximum string content length for strings not already constrained by XML schema validation constraints, zero or negative means unlimited string lengths are allowed (the value is 0 by default) More...
 
#define SOAP_MAXLEVEL   (10000)
 User-definable maximum XML nesting depth level permitted by the XML parser, must be greater than zero (the value is 10000 by default) More...
 
#define SOAP_MAXOCCURS   (100000)
 User-definable maximum number of array or container elements for containers that are not already constrained by XML schema validation constraints, must be greater than zero (the value is 100000 by default) More...
 
#define SOAP_MAXHTTPCHUNK   (2147483647)
 User-definable maximum HTTP chunk size receivable (the value is 2147483647 by default), also HTTP chunk sizes cannot exceed soap::recv_maxlength. More...
 
#define SOAP_MINDEFLATERATIO   (1.0/1032.0)
 Trusted deflation ratio after SOAP_MAXINFLATESIZE is reached, trust when compressed / deflated > SOAP_MINDEFLATERATIO (default is 0.00096899224806 or 1032:1, which is according to the zlib site: "The limit (1032:1) comes from the fact that one length/distance pair can represent at most 258 output bytes. A length requires at least one bit and a distance requires at least one bit, so two bits in can give 258 bytes out, or eight bits in give 1032 bytes out. A dynamic block has no length restriction, so you could get arbitrarily close to the limit of 1032:1.". More...
 
#define SOAP_PURE_VIRTUAL   = 0
 Macro is set to SOAP_PURE_VIRTUAL = 0 at compile time when macro WITH_PURE_VIRTUAL is defined. More...
 
#define SOAP_SSL_RSA_BITS   (2048)
 User-definable length of RSA keys used for https connections (the value is 2048 by default), ignored with OpenSSL v3. More...
 
#define SOAP_UNKNOWN_CHAR   (0x7F)
 User-definable 8 bit integer that represents a character that could not be converted to an ASCII char, i.e. when converting an XML Unicode character (typically UTF-8), this is applicable when the runtime flag SOAP_C_UTFSTRING is not used (the value is 0x7F by default) More...
 
#define SOAP_UNKNOWN_UNICODE_CHAR   (0xFFFD)
 A user-definable integer Unicode value representing a character that replaces an invalid Unicode code point, i.e. when converting an XML invalid Unicode character from UTF-8 (the value is 0xFFFD by default) More...
 
#define SOAP_LONG_FORMAT   "%lld"
 User-definable macro that represents the LONG64 printf %-format. More...
 
#define SOAP_ULONG_FORMAT   "%llu"
 User-definable macro that represents the ULONG64 printf %-format. More...
 
#define SOAP_SOCKET   int
 Macro that defines a portable socket type, usually int, but the type may depend on the platform being used. More...
 
#define SOAP_INVALID_SOCKET   (-1)
 Macro that defines a portable invalid socket value (usually -1, but the value depends on the OS) More...
 
#define SOAP_SOCKLEN_T   size_t
 Macro that defines a portable socklen_t type (usually size_t, but type depends on the OS) More...
 
#define soap_valid_socket(sock)   ((sock) != SOAP_INVALID_SOCKET)
 Function macro to check if a socket is valid, i.e. not equal to SOAP_INVALID_SOCKET More...
 
#define LONG64   int64_t
 User-definable macro that represents a portable signed 64 bit integer type. More...
 
#define ULONG64   uint64_t
 User-definable macro that represents a portable unsigned 64 bit integer type. More...
 
#define FLT_NAN
 User-definable macro that represents a portable single floating point NaN value (defined by default to a platform-specific NaN value) More...
 
#define FLT_PINFTY
 User-definable macro that represents a portable single floating point positive infinite value (defined by default to a platform-specific value) More...
 
#define FLT_NINFTY
 User-definable macro that represents a portable single floating point negative infinite value (defined by default to a platform-specific value) More...
 
#define DBL_NAN
 User-definable macro that represents a portable double floating point NaN value (defined by default to a platform-specific NaN value) More...
 
#define DBL_PINFTY
 User-definable macro that represents a portable double floating point positive infinite value (defined by default to a platform-specific value) More...
 
#define DBL_NINFTY
 User-definable macro that represents a portable double floating point negative infinite value (defined by default to a platform-specific value) More...
 
#define soap_isnan(x)
 Macro that returns true if the floating point value is NaN. More...
 
#define soap_isinf(x)
 Macro that returns true if the floating point value is infinity. More...
 
#define SOAP_MALLOC(soap, size)   malloc((size))
 User-definable macro to override malloc() for context-managed heap allocation (excluding C++ class instances, see SOAP_NEW) More...
 
#define SOAP_FREE(soap, ptr)   free((void*)(ptr))
 User-definable macro to override free() for context-managed heap allocation (excluding C++ class instances, see SOAP_DELETE) More...
 
#define SOAP_MALLOC_UNMANAGED(soap, size)   malloc((size))
 User-definable macro to override malloc() for unmanaged heap allocation. More...
 
#define SOAP_FREE_UNMANAGED(soap, ptr)   free((void*)(ptr))
 User-definable macro to override free() for unmanaged heap allocation. More...
 
#define SOAP_NEW(soap, type)   new SOAP_NOTHROW (type)
 User-definable macro to override C++ new. More...
 
#define SOAP_NEW_ARRAY(soap, type, n)   new SOAP_NOTHROW type[n]
 User-definable macro to override C++ new for arrays. More...
 
#define SOAP_PLACEMENT_NEW(soap, buf, type)   new (buf) (type)
 User-definable macro to override C++ placement new. More...
 
#define SOAP_DELETE(soap, obj, type)   delete obj
 User-definable macro to override C++ delete. More...
 
#define SOAP_DELETE_ARRAY(soap, obj, type)   delete[] obj
 User-definable macro to override C++ delete for arrays. More...
 
#define SOAP_NEW_UNMANAGED(soap)   new SOAP_NOTHROW soap
 User-definable macro to override C++ new for unmanaged allocation of the soap context. More...
 
#define SOAP_DELETE_UNMANAGED(soap)   delete soap
 User-definable macro to override C++ delete for unmanaged deallocation of the soap context. More...
 
#define SOAP_STD_EXPORTS
 User-definable macro to enable Windows DLL builds. More...
 
#define SOAP_FMAC1
 User-definable macro to annotate global functions. More...
 
#define SOAP_FMAC2
 User-definable macro to annotate global functions. More...
 
#define SOAP_FMAC3
 User-definable macro to annotate global serialization functions generated by soapcpp2. More...
 
#define SOAP_FMAC4
 User-definable macro to annotate global serialization functions generated by soapcpp2. More...
 
#define SOAP_FMAC5
 User-definable macro to annotate global service functions generated by soapcpp2. More...
 
#define SOAP_FMAC6
 User-definable macro to annotate global service functions generated by soapcpp2. More...
 
#define SOAP_CMAC
 User-definable macro to annotate class definitions. More...
 
#define SOAP_NMAC
 User-definable macro to annotate namespace table definitions. More...
 
#define SOAP_IO   0x00000003
 soap_mode IO flags mask to check for SOAP_IO_FLUSH, SOAP_IO_BUFFER, SOAP_IO_STORE, SOAP_IO_CHUNK (for internal use only) More...
 
#define SOAP_IO_FLUSH   0x00000000
 soap_mode IO output flag value to flush the message sent immediately without buffering (the default mode), do not combine this flag with SOAP_IO_BUFFER, SOAP_IO_STORE, SOAP_IO_CHUNK More...
 
#define SOAP_IO_BUFFER   0x00000001
 soap_mode IO output flag value to buffer the message sent in packets of size SOAP_BUFLEN, do not combine this flag with SOAP_IO_FLUSH, SOAP_IO_STORE, SOAP_IO_CHUNK More...
 
#define SOAP_IO_STORE   0x00000002
 soap_mode IO output flag value to store messages temporarily before transmission, e.g. to determine message length for transmission over HTTP instead of chunking or two-phase message sends, do not combine this flag with SOAP_IO_FLUSH, SOAP_IO_BUFFER, SOAP_IO_CHUNK More...
 
#define SOAP_IO_CHUNK   0x00000003
 soap_mode IO output flag value to send HTTP chunked messages, buffers the message in packets of size SOAP_BUFLEN, do not combine this flag with SOAP_IO_FLUSH, SOAP_IO_BUFFER, SOAP_IO_STORE More...
 
#define SOAP_IO_UDP   0x00000004
 soap_mode IO input/output flag value to use UDP datagrams, message size is limited to UDP packet size More...
 
#define SOAP_IO_LENGTH   0x00000008
 soap_mode IO output flag value to calculate message length when sending a message without transmission (for internal use only) More...
 
#define SOAP_IO_KEEPALIVE   0x00000010
 soap_mode IO input and output flag value to keep the socket connection alive for SOAP_MAXKEEPALIVE message exchanges per connection (100 by default), enabling HTTP keep-alive connection persistence More...
 
#define SOAP_ENC   0x00000FFF
 soap_mode ENC flags mask (for internal use only) More...
 
#define SOAP_ENC_LATIN   0x00000020
 soap_mode ENC input flag value to receive ISO-8859-1 encoded messages (automatically detected when receiving XML) More...
 
#define SOAP_ENC_PLAIN   0x00000040
 soap_mode ENC input/output flag value to omit the HTTP headers from messages sent and disable detection and parsing of HTTP headers in messages received More...
 
#define SOAP_ENC_XML
 soap_mode ENC input/output flag (deprecated, same as SOAP_ENC_PLAIN for backward compatibility) More...
 
#define SOAP_ENC_DIME   0x00000080
 soap_mode ENC output flag value to enable DIME attachments (for internal use only) More...
 
#define SOAP_ENC_MIME   0x00000100
 soap_mode ENC output flag value to enable MIME attachments in messages to be sent, receiving is automatic More...
 
#define SOAP_ENC_MTOM   0x00000200
 soap_mode ENC output flag value to enable MTOM XOP attachments in messages to be sent, receiving is automatic More...
 
#define SOAP_ENC_ZLIB   0x00000400
 soap_mode ENC output flag value to compress messages sent, requires zlib enabled with compile-time flag WITH_GZIP (or WITH_ZLIB for compression limited to "compress"), detection of compressed messages received and decompression of the messages is automatic More...
 
#define SOAP_ENC_SSL   0x00000800
 soap_mode ENC input/output flag value to enable TLS/SSL, e.g. HTTPS, requires OpenSSL, GNUTLS or WolfSSL enabled with compile-time flag WITH_OPENSSL, WITH_GNUTLS, or WITH_WOLFSSL (flag for internal use only) More...
 
#define SOAP_XML_STRICT   0x00001000
 soap_mode XML input flag value to enable strict XML validation of messages received More...
 
#define SOAP_XML_INDENT   0x00002000
 soap_mode XML output flag value to enable XML (and JSON) message indentation in messages sent More...
 
#define SOAP_XML_IGNORENS   0x00004000
 soap_mode XML input flag value to ignore XML namespaces in messages received More...
 
#define SOAP_XML_DEFAULTNS   0x00008000
 soap_mode XML output flag value to send XML messages with XML default namespaces for elements instead of namespace-qualified elements More...
 
#define SOAP_XML_CANONICAL   0x00010000
 soap_mode XML output flag value to send XML messages in exclusive canonical format as per W3C XML C14N standards, use with the soap::c14ninclude and soap::c14nexclude strings to control the prefixes that are subject to canonicalization by including or excluding specific prefixes More...
 
#define SOAP_XML_CANONICAL_NA   0x00800000
 soap_mode XML output flag value to send XML messages in exclusive canonical format as per W3C XML C14N standards, use with the soap::c14ninclude and soap::c14nexclude strings to control the prefixes that are subject to canonicalization by including or excluding specific prefixes More...
 
#define SOAP_XML_TREE   0x00020000
 soap_mode XML input/output flag value to serialize C/C++ data structures as XML trees without id-href or id-ref multi-references, duplicates co-referenced data in the XML output and automatically breaks data structure cycles to prevent infinite serialization loops, ignores id and href/ref reference attributes in messages received, this flag is the opposite of SOAP_XML_GRAPH More...
 
#define SOAP_XML_GRAPH   0x00020000
 soap_mode XML input/output flag value to serialize C/C++ (cyclic) data structures in XML with id-ref references for co-referenced data and to accurately serialize data structure cycles, accept id-ref references in XML received to (re)construct the C/C++ (co-referenced and cyclic) data structures, this flag is the opposite of SOAP_XML_TREE More...
 
#define SOAP_XML_NIL   0x00040000
 soap_mode XML output flag value to serialize C/C++ NULL pointers in XML as elements with attribute xsi:nil="true" More...
 
#define SOAP_XML_NOTYPE   0x00080000
 soap_mode XML output flag value to serialize C/C++ data structures in XML without xsi:type attributes, even when this may be necessary to distinguish base from derived data types More...
 
#define SOAP_XML_DOM   0x10000000
 soap_mode XML input/output flag value to enable DOM node tree construction of the XML received and sent, requires compile-time flag WITH_DOM More...
 
#define SOAP_DOM_ASIS   0x00400000
 soap_mode DOM output flag value to disable reformatting of the DOM node tree in XML, displaying the DOM in XML exactly as is More...
 
#define SOAP_DOM_NODE   0x00200000
 soap_mode DOM input flag value to always attempt to deserialize embedded serializable C/C++ data structures into the DOM node tree based on matching element name to C/C++ type names and by matching xsi:type attributes when present, the opposite of SOAP_DOM_TREE More...
 
#define SOAP_DOM_TREE   0x00100000
 soap_mode DOM input flag value to ignore id and xsi:type XML attributes and disables deserialization of serializable C/C++ data structures into the DOM node tree, the opposite of SOAP_DOM_NODE More...
 
#define SOAP_C_NOIOB   0x01000000
 soap_mode input flag value to ignore array items that are out of bounds when deserializing fixed-size arrays, instead of producing SOAP_IOB errors More...
 
#define SOAP_C_UTFSTRING   0x02000000
 soap_mode input/output flag value to serialize and deserialize 8-bit C/C++ strings containing UTF-8 encoded Unicode characters More...
 
#define SOAP_C_MBSTRING   0x04000000
 soap_mode input/output flag value to enable multibyte character support for 8-bit character strings with wctomb and mbtowc using the current locale More...
 
#define SOAP_C_NILSTRING   0x08000000
 soap_mode input/output flag value to serialize empty strings as elements with attribute xsi:nil="true" More...
 
#define SOAP_MIME_POSTCHECK   0x40000000
 soap_mode MIME input flag value to check and process additional MIME attachments (for internal use only) More...
 
#define SOAP_SEC_WSUID   0x80000000
 soap_mode SEC output flag value to add wsu:Id attributes to signed parts of messages sent and signed with WS-Security (for internal use only) More...
 
#define SOAP_OK
 The soap_status code for no error (zero) More...
 
#define SOAP_CLI_FAULT
 A soap_status error code: the service returned a SOAP 1.1 client fault / SOAP 1.2 sender fault to the client. More...
 
#define SOAP_DATAENCODINGUNKNOWN
 A soap_status error code: SOAP 1.2 DataEncodingUnknown fault (unused in practice) More...
 
#define SOAP_DIME_ERROR
 A soap_status error code: DIME formatting error or DIME attachment size exceeds SOAP_MAXDIMESIZE More...
 
#define SOAP_DIME_HREF
 A soap_status error code: DIME attachment has no href from SOAP body and no DIME callbacks were defined to save the attachment. More...
 
#define SOAP_DIME_MISMATCH
 A soap_status error code: DIME version error. More...
 
#define SOAP_DIME_END
 A soap_status error code: end of DIME attachments protocol error. More...
 
#define SOAP_DUPLICATE_ID
 A soap_status error code: XML element has duplicate id attribute value (applicable to SOAP multi-ref encoding and SOAP_XML_GRAPH serialization) More...
 
#define SOAP_EMPTY
 A soap_status error code: XML element or attribute is empty when a value is required. More...
 
#define SOAP_END_TAG
 A soap_status error code: XML ending tag found when none was expected. More...
 
#define SOAP_EOF
 A soap_status error code: unexpected end of file, no input, transmission interrupted or timed out (same value as EOF) More...
 
#define SOAP_EOM
 A soap_status error code: out of memory. More...
 
#define SOAP_ERR
 A soap_status error code: an unspecified error occurred. More...
 
#define SOAP_FAULT
 A soap_status error code: the fault code to be returned by a service operation when calling soap_sender_fault (client is at fault) or soap_receiver_fault (server is at fault), and when received, clients set the soap::error code to SOAP_CLI_FAULT or SOAP_SVR_FAULT respectively. More...
 
#define SOAP_FD_EXCEEDED
 A soap_status error code: too many open sockets. More...
 
#define SOAP_FIXED
 A soap_status error code: XML element or attribute value is fixed and the parsed value does not match the fixed value. More...
 
#define SOAP_GET_METHOD
 A soap_status error code: an HTTP GET request was received by the service but the GET request callback soap::fget is not implemented. More...
 
#define SOAP_PUT_METHOD
 A soap_status error code: an HTTP PUT request was received by the service but the PUT request callback soap::fput is not implemented. More...
 
#define SOAP_PATCH_METHOD
 A soap_status error code: an HTTP PATCH request was received by the service but the PATCH request callback soap::fpatch is not implemented. More...
 
#define SOAP_DEL_METHOD
 A soap_status error code: an HTTP DELETE request was received by the service but the DELETE request callback soap::fdel is not implemented. More...
 
#define SOAP_HTTP_METHOD
 A soap_status error code: an HTTP request was received by the service that cannot be handled. More...
 
#define SOAP_HDR
 A soap_status error code: HTTP header line is too long, exceeding SOAP_HDRLEN size. More...
 
#define SOAP_HREF
 A soap_status error code: reference to object in XML identified by its id attribute is incompatible with the object refered to by the ref or href attribute (applicable to SOAP multi-ref encoding and SOAP_XML_GRAPH serialization) More...
 
#define SOAP_HTTP_ERROR
 A soap_status error code: an unspecified HTTP error occured. More...
 
#define SOAP_IOB
 A soap_status error code: SOAP array index out of bounds. More...
 
#define SOAP_LENGTH
 A soap_status error code: XML element or attribute value length validation error or SOAP_MAXLENGTH exceeded. More...
 
#define SOAP_LEVEL
 A soap_status error code: XML nesting depth level when parsing XML exceeds SOAP_MAXLEVEL More...
 
#define SOAP_MIME_END
 A soap_status error code: end of MIME/MTOM attachments protocol error. More...
 
#define SOAP_MIME_ERROR
 A soap_status error code: MIME/MTOM attachment parsing error. More...
 
#define SOAP_MIME_HREF
 A soap_status error code: MIME/MTOM attachment has no href from SOAP body and no MIME callbacks were defined to save the attachment. More...
 
#define SOAP_MISSING_ID
 A soap_status error code: an XML element with id attribute is missing that should match the element with href/ref attribute (applicable to SOAP multi-ref encoding and SOAP_XML_GRAPH serialization) More...
 
#define SOAP_MOE
 A soap_status error code: memory overflow or memory corruption error (applicable in DEBUG mode only) More...
 
#define SOAP_MUSTUNDERSTAND
 A soap_status error code: an XML element is present with a mustUnderstand attribute which must be understood but is not deserialized. More...
 
#define SOAP_NAMESPACE
 A soap_status error code: XML namespace name mismatch validation error. More...
 
#define SOAP_NO_DATA
 A soap_status error code: no data in the HTTP body of the message received. More...
 
#define SOAP_NO_METHOD
 A soap_status error code: the service request dispatcher did not find a matching service operation for a service request. More...
 
#define SOAP_NO_TAG
 A soap_status error code: no XML element tag was found when one was expected. More...
 
#define SOAP_NTLM_ERROR
 A soap_status error code: an NTLM authentication handshake error occured. More...
 
#define SOAP_NULL
 A soap_status error code: XML element has an xsi:nil attribute when the element is not nillable, causing a validation error. More...
 
#define SOAP_OCCURS
 A soap_status error code: XML element has a minOccurs or maxOccurs constraint validation error or SOAP_MAXOCCURS was exceeded. More...
 
#define SOAP_PATTERN
 A soap_status error code: XML element or attribute value pattern mismatch causes a validation error. More...
 
#define SOAP_PLUGIN_ERROR
 A soap_status error code: failed to register plugin. More...
 
#define SOAP_PROHIBITED
 A soap_status error code: attribute is prohibited but present. More...
 
#define SOAP_PUT_METHOD
 A soap_status error code: an HTTP PUT request was received by the service but the PUT request callback soap::fput is not implemented. More...
 
#define SOAP_REQUIRED
 A soap_status error code: attribute is required but not present. More...
 
#define SOAP_SSL_ERROR
 A soap_status error code: an SSL error occured. More...
 
#define SOAP_SVR_FAULT
 A soap_status error code: service returned a SOAP 1.1 server fault / SOAP 1.2 receiver fault to the client. More...
 
#define SOAP_SYNTAX_ERROR
 A soap_status error code: an XML syntax error occurred while parsing the input. More...
 
#define SOAP_TAG_MISMATCH
 A soap_status error code: XML element tag parsed does not match anything that is expected. More...
 
#define SOAP_TCP_ERROR
 A soap_status error code: a TCP/IP connection error occured. More...
 
#define SOAP_TYPE
 A soap_status error code: XML element or attribute has a mismatching type or value that is causing a validation error. More...
 
#define SOAP_UDP_ERROR
 A soap_status error code: a UDP/IP connection error occured or the message too large to store in a UDP packet. More...
 
#define SOAP_USER_ERROR
 A soap_status error code: soap::user not set to non-NULL. More...
 
#define SOAP_UTF_ERROR
 A soap_status error code: a UTF-8 decoding error occured. More...
 
#define SOAP_VERSIONMISMATCH
 A soap_status error code: SOAP version mismatch or no SOAP message is received. More...
 
#define SOAP_ZLIB_ERROR
 A soap_status error code: a zlib error occured. More...
 
#define soap_xml_error_check(e)
 Check for XML parsing and validation errors, returns true if the specified error code is an XML error. More...
 
#define soap_soap_error_check(e)
 Check for SOAP protocol faults and errors, returns true if the specified error code is a SOAP protocol error. More...
 
#define soap_http_error_check(e)
 Check for HTTP protocol errors, returns true if the specified error code is an HTTP protocol error or an HTTP status code between 100 and 599 returned by an HTTP server, but note that HTTP status 100 to 202 should not be considered errors but informative codes. More...
 
#define soap_dime_error_check(e)
 Check for DIME protocol errors, returns true if the specified soap_status error code is a DIME protocol error. More...
 
#define soap_mime_error_check(e)
 Check for MIME/MTOM protocol errors, returns true if the specified soap_status error code is a MIME/MTOM protocol error. More...
 
#define soap_tcp_error_check(e)   ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)
 Check for TCP protocol errors, returns true if the specified error code is a TCP error, when true use soap::errnum to retrieve the errno value of the failure to determine the cause. More...
 
#define soap_udp_error_check(e)   ((e) == SOAP_EOF || (e) == SOAP_UDP_ERROR)
 Check for UDP protocol errors, returns true if the specified error code is a UDP error, when true use soap::errnum to retrieve the errno value of the failure to determine the cause. More...
 
#define soap_ssl_error_check(e)   ((e) == SOAP_SSL_ERROR)
 Check for SSL/TLS protocol errors, returns true if the specified error code is a SSL/TLS error, when true use soap::errnum to retrieve the errno value of the failure to determine the cause. More...
 
#define soap_zlib_error_check(e)   ((e) == SOAP_ZLIB_ERROR)
 Check for zlib library errors, returns true if the specified error code is a zlib error. More...
 
#define SOAP_STOP
 An internal soap_status error code to signal that an HTTP response must not be produced. More...
 
#define SOAP_FORM
 An internal soap_status error code to signal that an HTTP form is present and no HTTP response must be produced. More...
 
#define SOAP_HTML
 A special soap_status error code to signal that a custom HTTP response is present and no HTTP response must be produced. More...
 
#define SOAP_FILE
 A special soap_status error code to signal that a custom file-based HTTP response is present and no HTTP response must be produced. More...
 
#define SOAP_SSL_DEFAULT   (SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION | SOAP_TLSv1)
 soap_ssl_flags flag with SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION and SOAP_TLSv1 enabled by default More...
 
#define SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE
 soap_ssl_flags flag value to allow self-signed and expired certificates and those without CRL to be used for authentication More...
 
#define SOAP_SSL_NO_AUTHENTICATION
 soap_ssl_flags flag value to disable authentication of the peer More...
 
#define SOAP_SSL_NO_DEFAULT_CA_PATH
 soap_ssl_flags flag value to prevent OpenSSL from calling SSL_CTX_set_default_verify_paths More...
 
#define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION
 soap_ssl_flags flag for servers to require clients to authenticate to servers during the HTTPS handshake More...
 
#define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION
 soap_ssl_flags flag for clients to require servers to authenticate to clients during the HTTPS handshake More...
 
#define SOAP_SSL_RSA
 soap_ssl_flags flag value to use RSA instead of DH (automatically set when no DH parameter is specified) More...
 
#define SOAP_SSL_SKIP_HOST_CHECK
 soap_ssl_flags flag for clients to allow clients to skip common name checks against the host name of the server More...
 
#define SOAP_SSL_SNI_HOST_CHECK
 soap_ssl_flags flag for clients to perform SNI only when the host address is a syntactically valid hostname, not an IP address More...
 
#define SOAP_SSLv3
 soap_ssl_flags flag value to enable SSL v3 but disable TLS, should be used for legacy purposes only More...
 
#define SOAP_SSLv3_TLSv1
 soap_ssl_flags flag value to enable both SSL v3 and TLS 1 (TLS 1.0 to max) More...
 
#define SOAP_TLSv1
 soap_ssl_flags flag value to enable TLS v1 (TLS 1.0 and higher) and to disable SSL v3 More...
 
#define SOAP_TLSv1_0
 soap_ssl_flags flag value to enable TLS 1.0 More...
 
#define SOAP_TLSv1_1
 soap_ssl_flags flag value to enable TLS 1.1 More...
 
#define SOAP_TLSv1_2
 soap_ssl_flags flag value to enable TLS 1.2 More...
 
#define SOAP_TLSv1_3
 soap_ssl_flags flag value to enable TLS 1.3 More...
 
#define SOAP_POST
 HTTP POST command code. More...
 
#define SOAP_POST_FILE
 HTTP POST command code with custom content type. More...
 
#define SOAP_GET
 HTTP GET command code. More...
 
#define SOAP_PUT
 HTTP PUT command code with custom content type. More...
 
#define SOAP_DEL
 HTTP DEL command code. More...
 
#define SOAP_CONNECT
 HTTP CONNECT command code. More...
 
#define SOAP_HEAD
 HTTP HEAD command code. More...
 
#define SOAP_OPTIONS
 HTTP OPTIONS command code. More...
 
#define SOAP_PATCH
 HTTP PATCH command code with custom content type. More...
 
#define THREAD_TYPE
 Type of a thread (thread ID) More...
 
#define THREAD_ID
 The thread ID of self. More...
 
#define THREAD_CREATE(tidptr, funcptr, argptr)
 Create a new thread. More...
 
#define THREAD_CREATEX(tidptr, funcptr, argptr)
 Create a new joinable thread (Windows only) More...
 
#define THREAD_CLOSE(tid)
 Close the thread ID handle created by THREAD_CREATEX (Windows only) More...
 
#define THREAD_DETACH(tid)
 Detach a thread. More...
 
#define THREAD_JOIN(tid)
 Join a thread. More...
 
#define THREAD_EXIT
 Exit the current thread. More...
 
#define THREAD_CANCEL(tid)
 Cancel a thread. More...
 
#define MUTEX_TYPE
 Type of a mutex object. More...
 
#define MUTEX_INITIALIZER
 Mutex initializer object. More...
 
#define MUTEX_SETUP(mx)
 Mutex object initialization. More...
 
#define MUTEX_CLEANUP(mx)
 Mutex object finalization. More...
 
#define MUTEX_LOCK(mx)
 Mutex object lock. More...
 
#define MUTEX_UNLOCK(mx)
 Mutex object unlock. More...
 
#define COND_TYPE
 The type of a condition variable. More...
 
#define COND_SETUP(cv)
 Condition variable initialization. More...
 
#define COND_CLEANUP(cv)
 Condition variable finalization. More...
 
#define COND_SIGNAL(cv)
 Condition variable signal operation. More...
 
#define COND_WAIT(mx, cv)
 Condition variable wait operation. More...
 

Typedefs

typedef int soap_mode
 The soap_mode flags to initialize the soap context, flags can be combined with | (bit-wise or) More...
 
typedef int soap_status
 Status and error codes are int values, a zero value or SOAP_OK (0) means no error, nonzero means error. More...
 
typedef char * _XML
 A built-in string type containing literal XML content in UTF-8 format. More...
 
typedef char * _QName
 A built-in string type containing normalized QName contents. More...
 
typedef unsigned short soap_ssl_flags
 SSL/TLS (HTTPS) client and server context flags for soap_ssl_client_context and soap_ssl_server_context, respectively, flags can be combined with | (bit-wise or) More...
 
typedef int soap_http_command
 HTTP command methods for soap_connect_command More...
 
typedef int32_t soap_wchar
 Wide char type. More...
 

Enumerations

enum  soap_mime_encoding {
  SOAP_MIME_NONE, SOAP_MIME_7BIT, SOAP_MIME_8BIT, SOAP_MIME_BINARY,
  SOAP_MIME_QUOTED_PRINTABLE, SOAP_MIME_BASE64, SOAP_MIME_IETF_TOKEN, SOAP_MIME_X_TOKEN
}
 RFC2045 MIME content transfer encodings. More...
 

Functions

void soap_set_recv_logfile (struct soap *soap, const char *logfile)
 Specify a file name to save messages received. More...
 
void soap_set_sent_logfile (struct soap *soap, const char *logfile)
 Specify a file name to save messages sent. More...
 
void soap_set_test_logfile (struct soap *soap, const char *logfile)
 Specify a file name to save debugging info. More...
 
void soap_set_logging_inbound (struct soap *soap, FILE *fd)
 Specify inbound message logging with the logging plugin. More...
 
void soap_set_logging_outbound (struct soap *soap, FILE *fd)
 Specify outbound message logging with the logging plugin. More...
 
void soap_logging_stats (struct soap *soap, size_t *sent, size_t *recv)
 Collect messaging statistics with the logging plugin. More...
 
void soap_reset_logging_stats (struct soap *soap)
 Reset messaging statistics with the logging plugin. More...
 
int logging (struct soap *, struct soap_plugin *, void *)
 The logging plugin registration function. More...
 
struct soapsoap_new ()
 Allocate and initialize a new soap context. More...
 
struct soapsoap_new1 (soap_mode input_and_output_mode)
 Allocate and initialize a new soap context with input and output soap_mode flags. More...
 
struct soapsoap_new2 (soap_mode input_mode, soap_mode output_mode)
 Allocate and initialize a new soap context with separate input and output soap_mode flags. More...
 
void soap_init (struct soap *soap)
 Initialize a stack-allocated soap context. More...
 
void soap_init1 (struct soap *soap, soap_mode input_and_output_mode)
 Initialize a stack-allocated soap context with input and output soap_mode flags. More...
 
void soap_init2 (struct soap *soap, soap_mode input_mode, soap_mode output_mode)
 Initialize a stack-allocated soap context with input and output soap_mode flags. More...
 
void soap_set_mode (struct soap *soap, soap_mode input_and_output_mode)
 Set input and output soap_mode flags of the given soap context. More...
 
void soap_set_imode (struct soap *soap, soap_mode input_mode)
 Set input soap_mode flags of the given soap context. More...
 
void soap_set_omode (struct soap *soap, soap_mode output_mode)
 Set output soap_mode flags of the given soap context. More...
 
void soap_clr_mode (struct soap *soap, soap_mode input_and_output_mode)
 Clear input and output soap_mode flags of the given soap context. More...
 
void soap_clr_imode (struct soap *soap, soap_mode input_mode)
 Clear input soap_mode flags of the given soap context. More...
 
void soap_clr_omode (struct soap *soap, soap_mode output_mode)
 Clear output soap_mode flags of the given soap context. More...
 
struct soapsoap_copy (struct soap *soap)
 Allocate and initialize a new soap context as a copy of the given soap context. More...
 
void soap_copy_context (struct soap *soap_destination, struct soap *soap_source)
 Copy a given soap context to an uninitialized destination soap context. More...
 
void soap_copy_stream (struct soap *soap_destination, struct soap *soap_source)
 Copy the input/output stream state of the given soap context to another context. More...
 
void soap_free_stream (struct soap *soap)
 Free the input/output stream state of the given soap context. More...
 
void soap_free (struct soap *soap)
 Finalize and free the given soap context from unmanaged heap memory. More...
 
void soap_done (struct soap *soap)
 Finalize the given soap context, i.e. when the soap context is stack allocated, automatically invoked in C++ by the soap destructor on the soap context to delete. More...
 
void * soap_malloc (struct soap *soap, size_t len)
 Allocate a block of heap memory managed by the specified soap context. More...
 
char * soap_strdup (struct soap *soap, const char *string)
 Copy a string to managed memory. More...
 
wchar_t * soap_wstrdup (struct soap *soap, const wchar_t *string)
 Copy a wide string to managed memory. More...
 
int soap_unlink (struct soap *soap, const void *ptr)
 Unlink a block of heap memory managed by the specified soap context, to release the memory explicitly later. More...
 
void soap_destroy (struct soap *soap)
 Delete all dynamically-allocated C++ objects managed by the specified soap context. More...
 
void soap_dealloc (struct soap *soap, void *ptr)
 Explicitly dealllocates a block of managed memory that is managed by the specified soap context and release the free memory back to the heap. More...
 
void soap_free_temp (struct soap *soap)
 Delete temporary data. More...
 
void soap_end (struct soap *soap)
 Delete all data from heap memory managed by the specified soap context and release the freed memory back to the heap. More...
 
void soap_delegate_deletion (struct soap *soap, struct soap *soap_to)
 Delegate the deletion of all managed objects and data from the specified soap context to another soap context. More...
 
void soap_set_version (struct soap *soap, short version)
 Set SOAP version (0 = no SOAP, 1 = SOAP 1.1, 2 = SOAP 1.2) More...
 
void soap_ssl_init (void)
 Initialize the SSL/TLS library. More...
 
void soap_ssl_noinit (void)
 Do not initalized the SSL/TLS library. More...
 
int soap_ssl_server_context (struct soap *soap, soap_ssl_flags flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid)
 Initialize the server-side SSL/TLS context. More...
 
int soap_ssl_client_context (struct soap *soap, soap_ssl_flags flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *randfile)
 Initialize the client-side SSL/TLS context. More...
 
int soap_ssl_crl (struct soap *soap, const char *crlfile)
 Enable SSL/TLS CRLs. More...
 
int soap_ssl_accept (struct soap *soap)
 Accept SSL/TLS connection. More...
 
int CRYPTO_thread_setup ()
 Setup function for OpenSSL versions prior to 1.1.1 to set locks for multi-threaded SSL/TLS applications. More...
 
int CRYPTO_thread_cleanup ()
 Cleanup function for OpenSSL versions prior to 1.1.1. More...
 
int soap_GET (struct soap *soap, const char *endpoint, const char *action)
 HTTP GET content from server. More...
 
int soap_PUT (struct soap *soap, const char *endpoint, const char *action, const char *type)
 HTTP PUT content to server. More...
 
int soap_PATCH (struct soap *soap, const char *endpoint, const char *action, const char *type)
 HTTP PATCH content to server. More...
 
int soap_POST (struct soap *soap, const char *endpoint, const char *action, const char *type)
 HTTP POST content to server. More...
 
int soap_DELETE (struct soap *soap, const char *endpoint)
 HTTP DELETE content from server. More...
 
int soap_connect_command (struct soap *soap, soap_http_command http_command, const char *endpoint, const char *action)
 Connect to a server. More...
 
int soap_connect (struct soap *soap, const char *endpoint, const char *action)
 Connect to a server using HTTP POST. More...
 
SOAP_SOCKET soap_bind (struct soap *soap, const char *host, int port, int backlog)
 Bind and listen to a port. More...
 
SOAP_SOCKET soap_accept (struct soap *soap)
 Accept a connection with a client. More...
 
int soap_serve (struct soap *soap)
 Serve a pending request. More...
 
int soap_begin_serve (struct soap *soap)
 Initiates serving a pending client request. More...
 
int soap_serve_request (struct soap *soap)
 Process a pending request. More...
 
int soap_response (struct soap *soap, int status)
 Initialize the context for server-side sending and send a HTTP response header. More...
 
int soap_begin_recv (struct soap *soap)
 Initialize the context for receiving. More...
 
int soap_end_recv (struct soap *soap)
 Finalize the context after receiving. More...
 
int soap_begin_send (struct soap *soap)
 Initialize the context for sending. More...
 
int soap_end_send (struct soap *soap)
 Finalize the context after sending. More...
 
int soap_begin_count (struct soap *soap)
 Initialize context to count message length for sending. More...
 
int soap_end_count (struct soap *soap)
 Finalize context to count message length for sending. More...
 
int soap_closesock (struct soap *soap)
 Close the socket connection. More...
 
int soap_force_closesock (struct soap *soap)
 Forcibly close the socket connection. More...
 
void soap_close_connection (struct soap *soap)
 Close the connection of the specified context using a self-pipe. More...
 
int soap_send (struct soap *soap, const char *s)
 Send a string. More...
 
int soap_send_raw (struct soap *soap, const char *s, size_t n)
 Send raw bytes. More...
 
int soap_http_has_body (struct soap *soap)
 Check if HTTP body message is not empty. More...
 
char * soap_http_get_body (struct soap *soap, size_t *len)
 Get the HTTP body message as a string. More...
 
int soap_getline (struct soap *soap, char *buf, int len)
 Get a header line. More...
 
soap_wchar soap_get0 (struct soap *soap)
 Get next byte without consuming it. More...
 
soap_wchar soap_get1 (struct soap *soap)
 Get next byte. More...
 
int soap_poll (struct soap *soap)
 Poll the connection. More...
 
int soap_ready (struct soap *soap)
 Check if the connection is ready to receive pending data. More...
 
int soap_recv_empty_response (struct soap *soap)
 Receive an HTTP response message from the server that is assumed to be empty. More...
 
int soap_send_empty_response (struct soap *soap, int status)
 Return an HTTP response message with an empty HTTP body from a service back to the client or peer. More...
 
int soap_envelope_begin_in (struct soap *soap)
 Parse the XML <SOAP-ENV:Envelope> element opening tag if present. More...
 
int soap_envelope_end_in (struct soap *soap)
 Parse the XML </SOAP-ENV:Envelope> element closing tag if present. More...
 
int soap_envelope_begin_out (struct soap *soap)
 Emit the XML <SOAP-ENV:Envelope> element opening tag if soap::version is nonzero. More...
 
int soap_envelope_end_out (struct soap *soap)
 Emit the XML </SOAP-ENV:Envelope> element closing tag if soap::version is nonzero. More...
 
int soap_body_begin_in (struct soap *soap)
 Parse the XML <SOAP-ENV:Body> element opening tag if present. More...
 
int soap_body_end_in (struct soap *soap)
 Parse the XML </SOAP-ENV:Body> element closing tag if present. More...
 
int soap_body_begin_out (struct soap *soap)
 Emit the XML <SOAP-ENV:Body> element opening tag if soap::version is nonzero. More...
 
int soap_body_end_out (struct soap *soap)
 Emit the XML </SOAP-ENV:Body> element closing tag if soap::version is nonzero. More...
 
int soap_recv_fault (struct soap *soap, int check)
 Parse and deserialize the SOAP Fault. More...
 
int soap_send_fault (struct soap *soap)
 Return an HTTP error with a SOAP Fault message from a service. More...
 
int soap_recv_header (struct soap *soap)
 Parse and deserialize the SOAP Header. More...
 
int soap_putheader (struct soap *soap)
 Emit the SOAP Header pointed to by soap::header More...
 
void soap_serializeheader (struct soap *soap)
 Serialize the SOAP Header pointed to by soap::header before emitting it with soap_putheader More...
 
int http_get (struct soap *, struct soap_plugin *, void *)
 The HTTP GET plugin registration function. More...
 
void soap_http_get_stats (struct soap *soap, size_t *stat_get, size_t *stat_post, size_t *stat_fail, size_t **hist_min, size_t **hist_hour, size_t **hist_day)
 Collect access statistics with the http_get plugin. More...
 
char * soap_query (struct soap *soap)
 Extract the query string from the URL path at the server side with the http_get plugin. More...
 
char * soap_query_key (struct soap *soap, char **query)
 Extract the next query string key at the server side with the http_get plugin. More...
 
char * soap_query_val (struct soap *soap, char **query)
 Extract the next query string value at the server side with the http_get plugin. More...
 
int http_post (struct soap *, struct soap_plugin *, void *)
 The HTTP POST plugin registration function. More...
 
int http_form (struct soap *, struct soap_plugin *, void *)
 The HTTP POST form plugin registration function. More...
 
char * soap_http_get_form (struct soap *soap)
 Get the HTTP POST application/x-www-form-urlencoded data as a string. More...
 
int http_pipe (struct soap *, struct soap_plugin *, void *)
 The HTTP pipelining plugin registration function. More...
 
struct soap_cookiesoap_set_cookie (struct soap *soap, const char *name, const char *value, const char *domain, const char *path)
 Add a cookie. More...
 
int soap_set_cookie_expire (struct soap *soap, const char *name, long maxage, const char *domain, const char *path)
 Set cookie expiration. More...
 
int soap_set_cookie_secure (struct soap *soap, const char *name, const char *domain, const char *path)
 Set cookie secure. More...
 
int soap_set_cookie_session (struct soap *soap, const char *name, const char *domain, const char *path)
 Set session cookie. More...
 
void soap_clr_cookie (struct soap *soap, const char *name, const char *domain, const char *path)
 Clear cookie. More...
 
int soap_clr_cookie_session (struct soap *soap, const char *name, const char *domain, const char *path)
 Clear session cookie. More...
 
struct soap_cookiesoap_cookie (struct soap *soap, const char *name, const char *domain, const char *path)
 Find a cookie. More...
 
const char * soap_cookie_value (struct soap *soap, const char *name, const char *domain, const char *path)
 Get cookie value. More...
 
time_t soap_cookie_expire (struct soap *soap, const char *name, const char *domain, const char *path)
 Get cookie expiration. More...
 
int soap_getenv_cookies (struct soap *soap)
 Get cookies from the HTTP_COOKIE environment variable. More...
 
void soap_free_cookies (struct soap *soap)
 Free cookies. More...
 
int soap_s2byte (struct soap *soap, const char *string, char *value)
 Convert a decimal string to a signed 8 bit byte (char) integer value. More...
 
int soap_s2short (struct soap *soap, const char *string, short *value)
 Convert a decimal string to a signed 16 bit integer value. More...
 
int soap_s2int (struct soap *soap, const char *string, int *value)
 Convert a decimal string to a signed 32 bit integer value. More...
 
int soap_s2long (struct soap *soap, const char *string, long *value)
 Convert a decimal string to a signed long integer value. More...
 
int soap_s2LONG64 (struct soap *soap, const char *string, LONG64 *value)
 Convert a decimal string to a signed 64 bit integer value. More...
 
int soap_s2float (struct soap *soap, const char *string, float *value)
 Convert a decimal string to a float value. More...
 
int soap_s2double (struct soap *soap, const char *string, double *value)
 Convert a decimal string to a double float value. More...
 
int soap_s2unsignedByte (struct soap *soap, const char *string, unsigned char *value)
 Convert a decimal string to an unsigned 8 bit byte (unsigned char) integer value. More...
 
int soap_s2unsignedShort (struct soap *soap, const char *string, unsigned short *value)
 Convert a decimal string to an unsigned 16 bit integer value. More...
 
int soap_s2unsignedInt (struct soap *soap, const char *string, unsigned int *value)
 Convert a decimal string to an unsigned 32 bit integer value. More...
 
int soap_s2unsignedLong (struct soap *soap, const char *string, unsigned long *value)
 Convert a decimal string to an unsigned long integer value. More...
 
int soap_s2ULONG64 (struct soap *soap, const char *string, ULONG64 *value)
 Convert a decimal string to an unsigned 64 bit integer value. More...
 
int soap_s2char (struct soap *soap, const char *string, char **value, int flag, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new string while converting and validating the string contents. More...
 
int soap_s2stdchar (struct soap *soap, const char *string, std::string *value, int flag, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new string while converting and validating the string contents. More...
 
int soap_s2wchar (struct soap *soap, const char *string, wchar_t **value, int flag, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new wide string while converting and validating the string contents. More...
 
int soap_s2stdwchar (struct soap *soap, const char *string, std::wstring *value, int flag, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new wide string while converting and validating the string contents. More...
 
int soap_s2QName (struct soap *soap, const char *string, char **value, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new QName string while normalizing and validating the string contents. More...
 
int soap_s2stdQName (struct soap *soap, const char *string, std::string *value, long minlen, long maxlen, const char *pattern)
 Copy a string (ASCII or UTF-8) to a new QName string while normalizing and validating the string contents. More...
 
int soap_s2dateTime (struct soap *soap, const char *string, time_t *value)
 Convert a string with xsd:dateTime contents to a time_t value. More...
 
char * soap_s2base64 (struct soap *soap, const unsigned char *data, char *base64, int len)
 Encode binary data as a base64-formatted string. More...
 
char * soap_s2hex (struct soap *soap, const unsigned char *data, char *hex, int len)
 Encode binary data as a hex-formatted string. More...
 
const char * soap_byte2s (struct soap *soap, char value)
 Convert a signed 8 bit byte (char) integer to a decimal string. More...
 
const char * soap_short2s (struct soap *soap, short value)
 Convert a signed 16 bit integer to a decimal string. More...
 
const char * soap_int2s (struct soap *soap, int value)
 Convert a signed 32 bit integer to a decimal string. More...
 
const char * soap_long2s (struct soap *soap, long value)
 Convert a signed long integer to a decimal string. More...
 
const char * soap_LONG642s (struct soap *soap, LONG64 value)
 Convert a signed 64 bit integer to a decimal string. More...
 
const char * soap_float2s (struct soap *soap, float value)
 Convert a float value to a decimal string. More...
 
const char * soap_double2s (struct soap *soap, double value)
 Convert a double float value to a decimal string. More...
 
const char * soap_unsignedByte2s (struct soap *soap, unsigned char value)
 Convert an unsigned 8 bit byte (char) integer to a decimal string. More...
 
const char * soap_unsignedShort2s (struct soap *soap, unsigned short value)
 Convert an unsigned 16 bit integer to a decimal string. More...
 
const char * soap_unsignedInt2s (struct soap *soap, unsigned int value)
 Convert an unsigned 32 bit integer to a decimal string. More...
 
const char * soap_unsignedLong2s (struct soap *soap, unsigned long value)
 Convert an unsigned long integer to a decimal string. More...
 
const char * soap_ULONG642s (struct soap *soap, ULONG64 value)
 Convert an unsigned 64 bit integer to a decimal string. More...
 
const char * soap_wchar2s (struct soap *soap, const wchar_t *value)
 Convert a wide string to a UTF-8 encoded string. More...
 
const char * soap_dateTime2s (struct soap *soap, time_t value)
 Convert a time_t value to a string with xsd:dateTime contents. More...
 
const char * soap_base642s (struct soap *soap, const char *base64, char *data, size_t maxdatalen, int *datalen)
 Decode a base64-formatted string to binary data. More...
 
const char * soap_hex2s (struct soap *soap, const char *hex, char *data, size_t maxdatalen, int *datalen)
 Decode a hex-formatted string to binary data. More...
 
int soap_set_namespaces (struct soap *soap, const struct Namespace *namespaces)
 Activates an XML namespace table to generate and resolve xmlns namespace prefixes in XML messages. More...
 
void soap_header (struct soap *soap)
 If soap::header is NULL then allocate SOAP_ENV__Header header and set soap::header to point to it. More...
 
void soap_fault (struct soap *soap)
 If soap::fault is NULL then allocate SOAP_ENV__Fault header and set soap::fault to point to it. More...
 
int soap_sender_fault (struct soap *soap, const char *faultstring, const char *faultdetail)
 Set SOAP 1.1 client fault / SOAP 1.2 sender fault string and detail. More...
 
int soap_sender_fault_subcode (struct soap *soap, const char *faultsubcode, const char *faultstring, const char *faultdetail)
 Set SOAP 1.1 client fault / SOAP 1.2 sender fault subcode, string and detail. More...
 
int soap_receiver_fault (struct soap *soap, const char *faultstring, const char *faultdetail)
 Set SOAP 1.1 server fault / SOAP 1.2 receiver fault string and detail. More...
 
int soap_receiver_fault_subcode (struct soap *soap, const char *faultsubcode, const char *faultstring, const char *faultdetail)
 Set SOAP 1.1 server fault / SOAP 1.2 receiver fault subcode, string and detail. More...
 
void soap_print_fault (struct soap *soap, FILE *fd)
 Print error message on the specified output. More...
 
void soap_stream_fault (struct soap *soap, std::ostream &os)
 Print error message on the specified output stream. More...
 
char * soap_sprint_fault (struct soap *soap, char *buf, size_t len)
 Print error message to the specified string buffer. More...
 
void soap_print_fault_location (struct soap *soap, FILE *fd)
 Print the location in the message where and when the error occurred. More...
 
void soap_stream_fault_location (struct soap *soap, std::ostream &os)
 Print the location in the message where and when the error occurred. More...
 
const char * soap_fault_subcode (struct soap *soap)
 Returns the SOAP Fault subcode QName string or NULL when absent. More...
 
const char * soap_fault_string (struct soap *soap)
 Returns the SOAP Fault string/reason or NULL when absent. More...
 
const char * soap_fault_detail (struct soap *soap)
 Returns the SOAP Fault detail XML string or NULL when absent. More...
 
const char ** soap_faultsubcode (struct soap *soap)
 Allocates and returns a pointer to the SOAP Fault subcode QName string to set this string. More...
 
const char ** soap_faultstring (struct soap *soap)
 Allocates and returns a pointer to the SOAP Fault string/reason to set this string. More...
 
const char ** soap_faultdetail (struct soap *soap)
 Allocates and returns a pointer to the SOAP Fault detail XML string to set this string or NULL when not accessible. More...
 
int soap_set_dime (struct soap *soap)
 Enable DIME attachments. More...
 
void soap_clr_dime (struct soap *soap)
 Disable DIME attachments. More...
 
int soap_set_dime_attachment (struct soap *soap, const char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option)
 Add a DIME attachment to the SOAP/XML message. More...
 
char * soap_dime_option (struct soap *soap, unsigned short optype, const char *option)
 Creates a DIME option. More...
 
int soap_set_mime_attachment (struct soap *soap, const char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description)
 Add a MIME attachment to the SOAP/XML message. More...
 
int soap_set_mime (struct soap *soap, const char *boundary, const char *start)
 Enable MIME attachments. More...
 
void soap_clr_mime (struct soap *soap)
 Disable MIME attachments. More...
 
int soap_post_check_mime_attachments (struct soap *soap)
 Enable post-processing of MIME/MTOM attachments. More...
 
int soap_check_mime_attachments (struct soap *soap)
 Check for a MIME/MTOM attachment. More...
 
struct soap_multipartsoap_recv_mime_attachment (struct soap *soap, void *handle)
 Get a MIME/MTOM attachment. More...
 
int soap_register_plugin (struct soap *soap, int(*fcreate)(struct soap *, struct soap_plugin *, void *))
 Register a plugin. More...
 
int soap_register_plugin_arg (struct soap *soap, int(*fcreate)(struct soap *, struct soap_plugin *, void *), void *arg)
 Register a plugin with an argument. More...
 
void soap_begin (struct soap *soap)
 Reset context. More...
 
const char * soap_rand_uuid (struct soap *soap, const char *prefix)
 Returns a randomized unique UUID string. More...
 
int soap_tag_cmp (const char *string, const char *pattern)
 Compare string to a pattern. More...
 
int soap_match_tag (struct soap *soap, const char *tag1, const char *tag2)
 Match an XML tag name. More...
 

Variables

struct Namespace namespaces []
 The global XML namespaces table with entries defined by the Namespace structure and populated in an .nsmap file generated by soapcpp2. More...
 

Detailed Description