8.7 Compiling a gSOAP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.8 Compiling a gSOAP Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.9 Using gSOAP for Creating Web Services and Clients in Pure C . . . . . . . . . . 78
8.10 Limitations of gSOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.11 Compile Time Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.12 Run Time Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.13 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.13.1 Memory Management Policies . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.13.2 Intra-Class Memory Management . . . . . . . . . . . . . . . . . . . . . . . 85
8.14 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.15 Required Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9 The gSOAP Remote Method Specification Format 88
9.1 Remote Method Parameter Passing . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.2 Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.3 C/C++ Identifier Name to XML Name Translations . . . . . . . . . . . . . . . . 94
9.4 Namespace Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10 gSOAP Serialization and Deserialization Rules 97
10.1 SOAP RPC Encoding Versus Document/Literal and xsi:type Info . . . . . . . . . 97
10.2 Primitive Type Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.3 How to Encode and Decode Primitive Types as XSD Types . . . . . . . . . . . . 98
10.3.1 How to Use Multiple C/C++ Types for a Single Primitive XSD Type . . 105
10.3.2 How to use Wrapper Classes to Specify Polymorphic Primitive Types . . 105
10.3.3 XSD Schema Type Decoding Rules . . . . . . . . . . . . . . . . . . . . . . 107
10.3.4 Multi-Reference Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.3.5 “Smart String” Mixed-Content Decoding . . . . . . . . . . . . . . . . . . 110
10.3.6 STL Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.3.7 Changing the Encoding Precision of float and double Types . . . . . . . 111
10.3.8 INF, -INF, and NaN Values of float and double Types . . . . . . . . . . 112
10.4 Enumeration Serialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.4.1 Serialization of Symbolic Enumeration Constants . . . . . . . . . . . . . . 112
10.4.2 Encoding of Enumeration Constants . . . . . . . . . . . . . . . . . . . . . 113
10.4.3 Initialized Enumeration Constants . . . . . . . . . . . . . . . . . . . . . . 114
10.4.4 How to “Reuse” Symbolic Enumeration Constants . . . . . . . . . . . . . 114
10.4.5 Boolean Enumeration Serialization for C . . . . . . . . . . . . . . . . . . . 115
10.4.6 Bitmask Enumeration Serialization . . . . . . . . . . . . . . . . . . . . . . 115
10.5 Struct Serialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.6 Class Instance Serialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3
评论1
最新资源