Knowledge

gSOAP

Source 📝

119: 290:
by generating its own code to implement a converter to translate WSDL/XSD specifications to C/C++ source code for WSDL/XSD meta-data bindings. The gSOAP software is licensed under the GPLv2 open source license and commercial-use source code licenses. The gSOAP software is widely used in industrial
1583:
Furthermore, unions in a struct/class that are annotated with a special selector field for union member selection are mapped to/from schema choice particles, STL containers are mapped to/from sequence particles, enumerations are mapped to/from XML schema simpleType enumerations, and standard C/C++
563:
To facilitate web services implementations for legacy C and C++ systems, the prefix qualification of identifier names in C/C++ can be omitted or can be replaced by colon notation, for example ns:get_rate rather than ns__get_rate. The punctuation is removed in the auto-generated source code that is
1151:
Likewise, client and server C/C++ source code can be auto-generated from a set of WSDLs and XML schemas. Services must be completed by defining the appropriate service operations. For example, the auto-generated C++ service class for this WSDL must be completed by defining the get_rate method as
257:
to simplify the development and invocation of Web services using efficient auto-generated XML serializers to send and receive C/C++ data directly. A domain-specific compiler-based tool generates source code that efficiently converts native C/C++ data structures to XML and back. The toolkit was
685:
By using annotations and identifier naming conventions, i.e. qualification with the prefix ns__ for the function ns__get_rate and by declaring properties of the ns namespace using the //gsoap directives in the example, a binding is established to web service operations. The auto-generated Web
1389:
The gSOAP tools convert C/C++ data types to/from XML schema data types. Since C does not support namespaces and struct/class member names cannot be namespace-qualified in C++, the use of identifier naming conventions in gSOAP allow for binding this structure and its members to an XML schema
1984:
Application data can be sent and received to/from a REST XML service. The XML data binding provides REST XML API calls. For example, given the ns__employee_record XML data binding of the previous section, the following GET, PUT and POST operations are auto-generated:
357:
The last parameter of the function is always the service return value, which can be denoted as void for one-way operations and should be a struct/class to bundle multiple service return parameters. The function's int return value is used for error diagnostics.
2511:. International Conference on Parallel Processing and Applied Mathematics (PPAM) 2007, workshop on Models, Algorithms and Methodologies for Grid-enabled Computing Environment (MAMGCE), Springer Verlag LNCS Volume 4967. pp. 894–901. 1231:
There are no restrictions on the type of the operation parameters that can be marshaled in XML for web service messaging, except that certain type declaration conventions and annotations should be followed to establish a data binding.
686:
Services Description Language (WSDL) document declares a request message, a response message, and the get-rate operation portType interface and SOAP binding for the ns__get_rate function as follows:
286:
data format, plugin modules to integrate gSOAP in Apache and IIS web servers, and third-party plugins such as for Grid Services. The gSOAP toolkit is written in portable C/C++ and uses a form of
2163:
The POST functions should be called together, first a POST_send to transmit XML data to the endpoint URL followed by a POST_recv to accept the response data (may be of a different type).
270:) and to use the approach for scientific data exchange. Further development and maintenance of the software took place under ownership of Genivia Inc. This includes the addition of new 1719:
The auto-generated XML data binding includes read and write operations to/from a file, string or stream. For example, an ns__employee_record object has read and write operations:
1712:
When the SOAP encoding style is enabled, the XML serialization in gSOAP respects co-referenced objects and cyclic data structures as per SOAP encoding rules resulting in XML with
1240:
To establish an XML data binding with C/C++ data types, gSOAP uses three basic forms of source code annotation: directives, identifier naming conventions, and punctuation.
233:
by professor Robert van Engelen in 1999. The project introduced new methods for highly-efficient XML parsing (pull parsing) and serialization of C/C++ data directly in
1584:
primitive types are mapped to/from XSD types. For conversion of XSD schema to C/C++ data types, the actual mapping is configurable in gSOAP with a type mapping file.
2212: 1385:
dynamic arrays of element sequences consist of a pair of a special size field and an array pointer member: $ int size; struct ns__employee_record *manages
567:
A service invocation in C++ using the auto-generated Proxy class is executed as follows (using the Proxy's default endpoint URL and SOAP action values):
299:
An example web service operation in C for retrieving the lodging rate of a hotel given a number of guests can be declared in annotated form as
964:
where the request and responses messages of the operation refer to XML elements that are defined in the types section of the WSDL as follows:
213:. Given a set of C/C++ type declarations, the compiler-based gSOAP tools generate serialization routines in source code for efficient XML 2585: 2565: 2198: 2417:
Head, Michael; Govinderaju, Madhu; Slominski, Aleksander; Liu, Pu; Abu-Ghazaleh, Nayef; van Engelen, Robert; Chiu, Kenneth (2005).
278:
processing capabilities as well as the addition of many WS-* web services protocol capabilities such as WS-Security optimizations,
2218: 258:
further developed to support the SOAP web services messaging protocol, introduced at around the same time, therefore the name "
2560: 90: 67: 1587:
An instance of the example hierarchical employee structure is serialized in XML as a tree by default, for example
2364:
van Engelen, Robert (2008). "A Framework for Service-Oriented Computing with C and C++ Web Service Components".
230: 160: 132: 1365:
namespace qualification of types and members by identifier naming conventions: ns__employee_record, xml__lang
361:
A service invocation in C using the auto-generated soap_call_ns__get_rate function is executed as follows:
2580: 2179: 254: 2277: 155: 2381: 2225: 2492:
Aloisio, Giovanni; Cafaro, Massimo; Epicoco, Italo; Lezzi, Daniele; van Engelen, Robert (2005).
2507:
Cafaro, Massimo; Lezzi, Daniele; Fiore, Sandro; Aloisio, Giovanni; van Engelen, Robert (2007).
2265: 1243:
A fully annotated structure declaration in C for a hierarchical employee record may appear as
2550: 2522:
Challener, David; Yoder, Kent; Catherman, Ryan; Safford, David; Van Doorn, Leendert (2007).
2373: 2175: 275: 246: 210: 167: 143: 118: 2193: 148: 2574: 2555: 2289: 2271: 287: 214: 2385: 2406:. IEEE International Symposium on Cluster Computing and the Grid. pp. 128–135. 2283: 250: 2509:
The GSI plug-in for gSOAP: building cross-grid interoperable secure grid services
2256: 242: 206: 2300:
HTTP basic and digest authentication, NTLM authentication, proxy authentication
2496:. International Conference on Information Technology (ITCC). pp. 304–309. 33: 2479:
An Overview and Evaluation of Web Services Security Performance Optimizations
2166:
Received XML is internally validated against the data bindings' constraints.
2377: 2343:
Platform neutral, supports small devices (Symbian, VxWorks, Android, iPhone)
2261: 2185:
Customizable client/server source code auto-generation in ANSI C and ISO C++
218: 2432:
Head, Michael; Govinderaju, Madhu; van Engelen, Robert; Zhang, Wei (2006).
1976:
Parsed XML is internally validated against the data bindings' constraints.
187: 2494:
The GSI plug-in for gSOAP: Enhanced Security, Performance, and Reliability
2340:
Internationalization/localization support (UTF8, UCS4, MB encodings, etc.)
2545: 2481:. IEEE International Conference on Web Services (ICWS). pp. 137–144. 2232: 99: 2325: 2304: 2238: 279: 2404:
The gSOAP Toolkit for Web Services and Peer-To-Peer Computing Networks
2308: 1214:// determine the lodging rate of the hotel given the number of guests 172: 17: 2464:
Pushing the SOAP Envelope with Web Services for Scientific Computing
2451:. International Conference on Web Services (ICWS). pp. 249–256. 183: 136: 2540: 2321: 2434:
Benchmarking XML Processors for Applications in Grid Web Services
2419:
Benchmarking XML Processors for Applications in Grid Web Services
2334:
Integrated memory management with deallocation and leak detection
2315: 2294: 2244: 2205: 283: 271: 238: 217:
of the specified C and C++ data structures. Serialization takes
199: 2303:
IPv4 and IPv6 with SSL/TLS with SSL session caching (based on
2250: 2189: 234: 203: 2447:
van Engelen, Robert; Govindaraju, Madhu; Zhang, Wei (2006).
1361:
where the following annotations and conventions are used:
38: 2331:
Stand-alone web server support (multithreaded, pooling)
1371:
default values for members: xml__lang = "en", ID = 9999
229:
The gSOAP toolkit started as a research project at the
2466:. Conference on Web Services (ICWS). pp. 346–354. 2337:
Architecture with plug-ins for additional capabilities
2449:
Exploring Remote Object Coherence in XML Web Services
179: 166: 154: 142: 128: 89: 66: 44: 32: 878:"http://schemas.xmlsoap.org/soap/http" 198:is a C and C++ software development toolkit for 2295:Universal Description Discovery and Integration 1390:complexType that is auto-generated as follows: 291:projects and mission-critical infrastructures. 1789:To read an employee record from an XML file: 8: 2402:van Engelen, Robert; Gallivan, Kyle (2002). 1419:"http://www.w3.org/2001/XMLSchema" 1413:"http://www.w3.org/2001/XMLSchema" 1382:for XML validation: full_name 1:1, size 0:12 721:"http://schemas.xmlsoap.org/wsdl/" 27: 2213:Message Transmission Optimization Mechanism 117: 26: 2397: 2395: 2359: 2357: 381:"http://www.example.com/hotels" 73:2.8.131 / September 23, 2023 2477:Robert, van Engelen; Zhang, Wei (2008). 188:https://sourceforge.net/projects/gsoap2/ 2366:ACM Transactions on Internet Technology 2353: 2188:Integrated high-speed, schema-specific 2524:A practical guide to trusted computing 1374:occurrence constraints in the form of 1251://gsoap ns schema form: qualified 307://gsoap ns service style: document 2182:with source-to-source code generation 310://gsoap ns service encoding: literal 304://gsoap ns service namespace: tempuri 295:XML web service operations by example 7: 2233:W3C schema patterns for data binding 1368:attributes for members: @char*, @int 1248://gsoap ns schema namespace: tempuri 241:. The project succeeded at defining 2566:List of web service specifications 2134:soap_POST_recv_ns__employee_record 2086:soap_POST_send_ns__employee_record 25: 2199:Web Services Description Language 2320:Apache 1.x and 2.0 modules, IIS 2215:(MTOM) and DIME/MIME attachments 836:"tns:get-rateResponse" 184:https://www.genivia.com/dev.html 2436:. IEEE/ACM Supercomputing (SC). 2421:. IEEE/ACM Supercomputing (SC). 2219:Representational state transfer 860:"tns:ServicePortType" 824:"tns:get-rateRequest" 785:"ns:get-rateResponse" 680:// deallocate deserialized data 543:// deallocate deserialized data 2561:List of web service frameworks 1757:soap_write_ns__employee_record 1500:"ns:employee-record" 1: 1959:// also deletes employee data 1881:soap_read_ns__employee_record 1727:soap_read_ns__employee_record 2462:van Engelen, Robert (2003). 2235:, full test pattern coverage 2228:1.0a, 1.1, and 1.2 compliant 2038:soap_PUT_ns__employee_record 1993:soap_GET_ns__employee_record 1086:"get-rateResponse" 767:"get-rateResponse" 249:types and a wide variety of 2546:project page on SourceForge 1443:"employee-record" 1236:XML data binding by example 800:"ServicePortType" 734:"get-rateRequest" 282:messaging, support for the 2602: 2586:Web service specifications 2541:Getting started with gSOAP 2274:2003/03, 2004/03, 2005/03 85: 62: 2328:modules, CGI and FastCGI 1987: 1833:"employee.xml" 1791: 1721: 1589: 1392: 1245: 1154: 966: 688: 569: 564:used in project builds. 363: 301: 231:Florida State University 161:Web development software 2378:10.1145/1361186.1361188 2178:for C and C++ based on 752:"ns:get-rate" 2221:(REST) HTTP(S) 1.0/1.1 1464:"xsd:string" 1017:"xsd:string" 941:"parameters" 917:"parameters" 779:"parameters" 746:"parameters" 450:soap_call_ns__get_rate 245:data bindings between 175:, commercial licensing 50:; 23 years ago 2314:XML compression with 2180:automatic programming 1698:</ns:full-name> 1673:</ns:full-name> 1645:</ns:full-name> 1620:</ns:full-name> 1458:"full-name" 1431:"qualified" 1428:attributeFormDefault= 1425:"qualified" 1110:"xsd:float" 611:"Happy Inn" 558:// deallocate context 474:"Happy Inn" 255:automatic programming 48:December 8, 2000 2526:. Pearson Education. 2278:WS-ReliableMessaging 1707:</ns:employee> 1694:<ns:full-name> 1669:<ns:full-name> 1641:<ns:full-name> 1616:<ns:full-name> 1575:</complexType> 1527:"xml:lang" 1137:</complexType> 1074:</complexType> 993:"get-rate" 890:"get-rate" 872:"document" 812:"get-rate" 2152:ns__employee_record 2122:ns__employee_record 2074:ns__employee_record 2026:ns__employee_record 1866:ns__employee_record 1778:ns__employee_record 1745:ns__employee_record 1704:</ns:manages> 1701:</ns:manages> 1648:</ns:manages> 1598:"tempuri" 1563:"default" 1557:"xsd:int" 1533:"default" 1494:"manages" 1422:elementFormDefault= 1407:"tempuri" 1401:"tempuri" 1344:ns__employee_record 1257:ns__employee_record 1092:<complexType> 1053:"xsd:int" 999:<complexType> 978:"tempuri" 947:"literal" 923:"literal" 854:"Service" 715:"tempuri" 709:"tempuri" 703:"tempuri" 697:"Service" 253:. The toolkit uses 29: 2226:WS-I Basic Profile 2201:(WSDL) 1.1 and 2.0 1047:"guests" 956:</operation> 896:<SOAP:operation 842:</operation> 237:and later also in 39:Robert van Engelen 2266:WS-SecurityPolicy 1518:</sequence> 1160:Service::get_rate 1134:</sequence> 1071:</sequence> 1011:"hotel" 845:</portType> 211:XML data bindings 193: 192: 16:(Redirected from 2593: 2551:XML data binding 2528: 2527: 2519: 2513: 2512: 2504: 2498: 2497: 2489: 2483: 2482: 2474: 2468: 2467: 2459: 2453: 2452: 2444: 2438: 2437: 2429: 2423: 2422: 2414: 2408: 2407: 2399: 2390: 2389: 2361: 2190:XML pull parsing 2176:XML data binding 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2027: 2024: 2021: 2018: 2015: 2012: 2009: 2006: 2003: 2000: 1997: 1994: 1991: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1933: 1930: 1927: 1924: 1921: 1918: 1915: 1912: 1909: 1906: 1903: 1900: 1897: 1894: 1891: 1888: 1885: 1882: 1879: 1876: 1873: 1870: 1867: 1864: 1861: 1858: 1855: 1852: 1849: 1846: 1843: 1840: 1837: 1834: 1831: 1828: 1825: 1822: 1819: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1785: 1782: 1779: 1776: 1773: 1770: 1767: 1764: 1761: 1758: 1755: 1752: 1749: 1746: 1743: 1740: 1737: 1734: 1731: 1728: 1725: 1708: 1705: 1702: 1699: 1695: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1579: 1576: 1573: 1570: 1569:"9999" 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1482:"true" 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1449:<sequence> 1447: 1444: 1441: 1438: 1435: 1432: 1429: 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1399: 1398:targetNamespace= 1396: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1147: 1144: 1141: 1140:</element> 1138: 1135: 1132: 1129: 1128:"true" 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1104:"rate" 1102: 1099: 1096: 1095:<sequence> 1093: 1090: 1087: 1084: 1081: 1078: 1077:</element> 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1035:"true" 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1002:<sequence> 1000: 997: 994: 991: 988: 985: 982: 979: 976: 975:targetNamespace= 973: 970: 960: 959:</binding> 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 915: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 866:<SOAP:binding 864: 861: 858: 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 795: 792: 791:</message> 789: 786: 783: 780: 777: 774: 771: 768: 765: 762: 759: 758:</message> 756: 753: 750: 747: 744: 741: 738: 735: 732: 729: 725: 722: 719: 716: 713: 710: 707: 704: 701: 700:targetNamespace= 698: 695: 692: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 609: 606: 603: 600: 597: 594: 591: 588: 585: 582: 579: 576: 573: 559: 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 481: 478: 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 433: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 353: 350: 347: 344: 341: 338: 335: 332: 329: 326: 323: 320: 317: 314: 311: 308: 305: 251:C/C++ data types 144:Operating system 121: 116: 113: 111: 109: 107: 105: 103: 101: 80: 78: 58: 56: 51: 30: 21: 2601: 2600: 2596: 2595: 2594: 2592: 2591: 2590: 2571: 2570: 2537: 2532: 2531: 2521: 2520: 2516: 2506: 2505: 2501: 2491: 2490: 2486: 2476: 2475: 2471: 2461: 2460: 2456: 2446: 2445: 2441: 2431: 2430: 2426: 2416: 2415: 2411: 2401: 2400: 2393: 2363: 2362: 2355: 2350: 2253:0.91, 0.92, 2.0 2172: 2161: 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1982: 1974: 1973: 1970: 1967: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1787: 1786: 1783: 1780: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1710: 1709: 1706: 1703: 1700: 1697: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1647: 1644: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1592:<ns:employee 1591: 1581: 1580: 1578:</schema> 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1437:<complexType 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1409: 1406: 1403: 1400: 1397: 1394: 1359: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1238: 1229: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1149: 1148: 1145: 1143:</schema> 1142: 1139: 1136: 1133: 1130: 1127: 1124: 1121: 1118: 1115: 1112: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 962: 961: 958: 955: 953:</output> 952: 949: 946: 943: 940: 937: 934: 931: 928: 925: 922: 919: 916: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 763: 760: 757: 754: 751: 748: 745: 742: 739: 736: 733: 730: 727: 723: 720: 717: 714: 711: 708: 705: 702: 699: 696: 693: 691:<definitions 690: 683: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 631: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 571: 561: 560: 557: 554: 551: 548: 545: 542: 539: 536: 533: 530: 527: 524: 521: 518: 515: 512: 509: 506: 503: 500: 497: 494: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 355: 354: 351: 348: 345: 342: 339: 336: 333: 330: 327: 324: 321: 318: 315: 312: 309: 306: 303: 297: 266:eneric XML and 227: 186: 124: 98: 81: 76: 74: 54: 52: 49: 45:Initial release 23: 22: 15: 12: 11: 5: 2599: 2597: 2589: 2588: 2583: 2573: 2572: 2569: 2568: 2563: 2558: 2553: 2548: 2543: 2536: 2533: 2530: 2529: 2514: 2499: 2484: 2469: 2454: 2439: 2424: 2409: 2391: 2372:(3): 106–115. 2352: 2351: 2349: 2346: 2345: 2344: 2341: 2338: 2335: 2332: 2329: 2318: 2312: 2301: 2298: 2292: 2287: 2281: 2275: 2269: 2259: 2254: 2248: 2242: 2236: 2229: 2222: 2216: 2209: 2202: 2196: 2194:XML validation 2186: 2183: 2171: 2168: 1988: 1981: 1978: 1792: 1722: 1688:"78" 1682:"en" 1676:<ns:manages 1663:"56" 1657:"en" 1651:<ns:manages 1635:"34" 1629:"en" 1623:<ns:manages 1610:"12" 1604:"en" 1590: 1551:"ID" 1539:"en" 1512:"12" 1393: 1387: 1386: 1383: 1372: 1369: 1366: 1278:"en" 1246: 1237: 1234: 1155: 1146:</types> 967: 932:<output> 929:</input> 689: 570: 429:// new context 364: 302: 296: 293: 226: 223: 191: 190: 181: 177: 176: 170: 164: 163: 158: 152: 151: 149:Cross-platform 146: 140: 139: 130: 126: 125: 123: 122: 95: 93: 87: 86: 83: 82: 72: 70: 68:Stable release 64: 63: 60: 59: 46: 42: 41: 36: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2598: 2587: 2584: 2582: 2579: 2578: 2576: 2567: 2564: 2562: 2559: 2557: 2556:Serialization 2554: 2552: 2549: 2547: 2544: 2542: 2539: 2538: 2534: 2525: 2518: 2515: 2510: 2503: 2500: 2495: 2488: 2485: 2480: 2473: 2470: 2465: 2458: 2455: 2450: 2443: 2440: 2435: 2428: 2425: 2420: 2413: 2410: 2405: 2398: 2396: 2392: 2387: 2383: 2379: 2375: 2371: 2367: 2360: 2358: 2354: 2347: 2342: 2339: 2336: 2333: 2330: 2327: 2323: 2319: 2317: 2313: 2310: 2306: 2302: 2299: 2297:(UDDI) v2 API 2296: 2293: 2291: 2290:SOAP-over-UDP 2288: 2285: 2282: 2279: 2276: 2273: 2272:WS-Addressing 2270: 2267: 2264:1.2, 1.5 and 2263: 2260: 2258: 2255: 2252: 2249: 2247:for C and C++ 2246: 2243: 2241:for C and C++ 2240: 2237: 2234: 2230: 2227: 2223: 2220: 2217: 2214: 2210: 2207: 2204:Web services 2203: 2200: 2197: 2195: 2191: 2187: 2184: 2181: 2177: 2174: 2173: 2169: 2167: 2164: 1986: 1979: 1977: 1790: 1720: 1717: 1715: 1588: 1585: 1545:<attribute 1521:<attribute 1506:"0" 1476:"1" 1470:"1" 1391: 1384: 1381: 1377: 1373: 1370: 1367: 1364: 1363: 1362: 1244: 1241: 1235: 1233: 1153: 1122:"1" 1116:"0" 1065:"1" 1059:"1" 1029:"1" 1023:"0" 969:<types> 965: 935:<SOAP:body 911:<SOAP:body 908:<input> 884:<operation 806:<operation 687: 568: 565: 362: 359: 300: 294: 292: 289: 288:bootstrapping 285: 281: 277: 273: 269: 265: 261: 256: 252: 248: 244: 240: 236: 232: 224: 222: 220: 216: 215:serialization 212: 208: 205: 201: 197: 189: 185: 182: 178: 174: 171: 169: 165: 162: 159: 157: 153: 150: 147: 145: 141: 138: 134: 131: 127: 120: 115: 97: 96: 94: 92: 88: 84: 71: 69: 65: 61: 47: 43: 40: 37: 35: 31: 19: 2581:Web services 2523: 2517: 2508: 2502: 2493: 2487: 2478: 2472: 2463: 2457: 2448: 2442: 2433: 2427: 2418: 2412: 2403: 2369: 2365: 2284:WS-Discovery 2165: 2162: 1983: 1980:XML REST API 1975: 1947:soap_destroy 1788: 1718: 1713: 1711: 1586: 1582: 1388: 1379: 1375: 1360: 1242: 1239: 1230: 1150: 963: 902:"" 794:<portType 684: 566: 562: 360: 356: 316:ns__get_rate 298: 267: 263: 259: 228: 209:and generic 207:web services 195: 194: 34:Developer(s) 2280:1.0 and 1.1 2257:WS-Security 2208:1.1 and 1.2 1488:<element 1452:<element 1098:<element 1080:<element 1041:<element 1005:<element 987:<element 899:soapAction= 848:<binding 761:<message 728:<message 2575:Categories 2348:References 2211:Streaming 1509:maxOccurs= 1503:minOccurs= 1473:maxOccurs= 1467:minOccurs= 1410:xmlns:xsd= 1395:<schema 1119:maxOccurs= 1113:minOccurs= 1062:maxOccurs= 1056:minOccurs= 1026:maxOccurs= 1020:minOccurs= 972:<schema 875:transport= 830:<output 706:xmlns:tns= 647:&& 510:&& 276:XML Schema 247:XML Schema 221:overhead. 129:Written in 91:Repository 77:2023-09-23 55:2000-12-08 2262:WS-Policy 2231:Verified 2224:Verified 1962:soap_free 1679:xml:lang= 1654:xml:lang= 1626:xml:lang= 1601:xml:lang= 1595:xmlns:ns= 1479:nillable= 1404:xmlns:ns= 1380:maxOccurs 1376:minOccurs 1308:full_name 1272:xml__lang 1152:follows: 1125:nillable= 1032:nillable= 818:<input 712:xmlns:ns= 546:soap_free 243:type-safe 219:zero-copy 2535:See also 2386:10240041 2170:Features 1935:soap_end 1896:employee 1869:employee 1839:O_RDONLY 1809:soap_new 1566:default= 1536:default= 833:message= 821:message= 782:element= 773:<part 749:element= 740:<part 605:get_rate 531:soap_end 423:soap_new 2326:WinInet 2305:OpenSSL 2286:1.0/1.1 2239:XML-RPC 1905:SOAP_OK 1716:edges. 1696:AliceOz 1643:JohnDoe 1618:JaneDoe 1350:manages 1220:SOAP_OK 674:destroy 662:lets_go 644:SOAP_OK 525:lets_go 507:SOAP_OK 280:XML-RPC 225:History 180:Website 168:License 110:/gsoap2 75: ( 53: ( 2384:  2309:GNUTLS 2140:struct 2092:struct 2044:struct 1999:struct 1926:recvfd 1857:recvfd 1821:recvfd 1794:struct 1763:struct 1733:struct 1714:id-ref 1685:ns:ID= 1660:ns:ID= 1632:ns:ID= 1607:ns:ID= 1416:xmlns= 1341:struct 1254:struct 1217:return 1181:guests 938:parts= 914:parts= 869:style= 718:xmlns= 656:100.00 519:100.00 468:action 408:struct 396:action 337:guests 173:GPL v2 2382:S2CID 2322:ISAPI 2192:with 2119:const 2104:const 2071:const 2056:const 2011:const 1923:-> 1914:close 1893:& 1854:-> 1818:-> 1775:const 1671:BobOz 1572:/> 1554:type= 1548:name= 1542:/> 1515:/> 1497:type= 1491:name= 1485:/> 1461:type= 1455:name= 1440:name= 1323:$ int 1187:float 1172:hotel 1131:/> 1107:type= 1101:name= 1083:name= 1068:/> 1050:type= 1044:name= 1038:/> 1014:type= 1008:name= 990:name= 950:/> 926:/> 905:/> 887:name= 881:/> 857:type= 851:name= 839:/> 827:/> 809:name= 797:name= 788:/> 776:name= 764:name= 755:/> 743:name= 731:name= 694:name= 668:proxy 623:& 599:proxy 581:float 575:proxy 572:Proxy 486:& 432:float 387:const 366:const 343:float 328:hotel 260:gSOAP 196:gSOAP 112:/code 102:.code 28:gSOAP 18:Gsoap 2324:and 2316:gzip 2245:JSON 2206:SOAP 2143:soap 2107:char 2095:soap 2059:char 2047:soap 2014:char 2002:soap 1827:open 1797:soap 1766:soap 1736:soap 1691:> 1666:> 1638:> 1613:> 1560:use= 1530:use= 1524:ref= 1446:> 1434:> 1326:size 1302:char 1296:9999 1266:char 1205:rate 1193:rate 1166:char 1089:> 996:> 984:> 944:use= 920:use= 893:> 863:> 815:> 803:> 770:> 737:> 726:... 724:> 653:< 650:rate 626:rate 584:rate 516:< 513:rate 489:rate 435:rate 411:soap 402:NULL 390:char 369:char 349:rate 322:char 284:JSON 274:and 272:WSDL 268:SOAP 239:SOAP 200:SOAP 156:Type 135:and 106:.net 2374:doi 2307:or 2268:1.2 2251:RSS 2131:int 2113:URL 2083:int 2065:URL 2035:int 2020:URL 1990:int 1968:ctx 1953:ctx 1941:ctx 1920:ctx 1911:... 1887:ctx 1851:ctx 1815:ctx 1812:(); 1803:ctx 1754:int 1724:int 1287:int 1211:... 1178:int 1157:int 981:... 677:(); 665:(); 638:err 593:err 590:int 552:ctx 537:ctx 528:(); 501:err 462:URL 456:ctx 444:err 441:int 426:(); 417:ctx 375:URL 334:int 313:int 262:" ( 235:XML 204:XML 137:C++ 104:.sf 100:svn 2577:: 2394:^ 2380:. 2368:. 2356:^ 2158:); 2128:); 2080:); 2032:); 1971:); 1956:); 1944:); 1929:); 1902:== 1875:if 1845:if 1842:); 1784:); 1751:); 1356:}; 1335:12 1290:ID 641:== 632:if 629:); 555:); 540:); 504:== 495:if 492:); 352:); 108:/p 2388:. 2376:: 2370:8 2311:) 2155:* 2149:, 2146:* 2137:( 2125:* 2116:, 2110:* 2101:, 2098:* 2089:( 2077:* 2068:, 2062:* 2053:, 2050:* 2041:( 2029:* 2023:, 2017:* 2008:, 2005:* 1996:( 1965:( 1950:( 1938:( 1932:} 1917:( 1908:) 1899:) 1890:, 1884:( 1878:( 1872:; 1863:{ 1860:) 1848:( 1836:, 1830:( 1824:= 1806:= 1800:* 1781:* 1772:, 1769:* 1760:( 1748:* 1742:, 1739:* 1730:( 1378:: 1353:; 1347:* 1338:; 1332:: 1329:0 1320:; 1317:1 1314:: 1311:1 1305:* 1299:; 1293:= 1284:@ 1281:; 1275:= 1269:* 1263:@ 1260:{ 1226:} 1223:; 1208:= 1202:* 1199:{ 1196:) 1190:* 1184:, 1175:, 1169:* 1163:( 671:. 659:) 635:( 620:, 617:2 614:, 608:( 602:. 596:= 587:; 578:; 549:( 534:( 522:) 498:( 483:, 480:2 477:, 471:, 465:, 459:, 453:( 447:= 438:; 420:= 414:* 405:; 399:= 393:* 384:; 378:= 372:* 346:* 340:, 331:, 325:* 319:( 264:g 202:/ 133:C 114:/ 79:) 57:) 20:)

Index

Gsoap
Developer(s)
Robert van Engelen
Stable release
Repository
svn.code.sf.net/p/gsoap2/code/
Edit this at Wikidata
C
C++
Operating system
Cross-platform
Type
Web development software
License
GPL v2
https://www.genivia.com/dev.html
https://sourceforge.net/projects/gsoap2/
SOAP
XML
web services
XML data bindings
serialization
zero-copy
Florida State University
XML
SOAP
type-safe
XML Schema
C/C++ data types
automatic programming

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.