0
|
1 /*
|
|
2 wsp.h
|
|
3
|
|
4 WS-Policy 1.2 and 1.5 binding schema
|
|
5
|
|
6 --------------------------------------------------------------------------------
|
|
7 gSOAP XML Web services tools
|
|
8 Copyright (C) 2001-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
|
|
9 This software is released under one of the following licenses:
|
|
10 GPL or Genivia's license for commercial use.
|
|
11 --------------------------------------------------------------------------------
|
|
12 GPL license.
|
|
13
|
|
14 This program is free software; you can redistribute it and/or modify it under
|
|
15 the terms of the GNU General Public License as published by the Free Software
|
|
16 Foundation; either version 2 of the License, or (at your option) any later
|
|
17 version.
|
|
18
|
|
19 This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
20 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
21 PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
22
|
|
23 You should have received a copy of the GNU General Public License along with
|
|
24 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
|
|
25 Place, Suite 330, Boston, MA 02111-1307 USA
|
|
26
|
|
27 Author contact information:
|
|
28 engelen@genivia.com / engelen@acm.org
|
|
29 --------------------------------------------------------------------------------
|
|
30 A commercial use license is available from Genivia, Inc., contact@genivia.com
|
|
31 --------------------------------------------------------------------------------
|
|
32
|
|
33 */
|
|
34
|
|
35 //gsoap wsp schema documentation: WS-Policy binding
|
|
36 //gsoap wsp schema namespace: http://www.w3.org/ns/ws-policy
|
|
37 // 1.2 //gsoap wsp schema namespace: http://schemas.xmlsoap.org/ws/2004/09/policy
|
|
38 //gsoap wsp schema elementForm: qualified
|
|
39 //gsoap wsp schema attributeForm: unqualified
|
|
40
|
|
41 #import "imports.h"
|
|
42 #import "wsu.h"
|
|
43
|
|
44 class wsp__Policy;
|
|
45 class wsp__Content;
|
|
46
|
|
47 extern class Service;
|
|
48 extern class Types;
|
|
49
|
|
50 class wsp__PolicyReference
|
|
51 { public:
|
|
52 @xsd__anyURI URI;
|
|
53 @xsd__string Digest;
|
|
54 @xsd__anyURI DigestAlgorithm;
|
|
55 private:
|
|
56 wsp__Policy *policyRef;
|
|
57 public:
|
|
58 int traverse(wsdl__definitions&);
|
|
59 void policyPtr(wsp__Policy*);
|
|
60 wsp__Policy *policyPtr() const;
|
|
61 };
|
|
62
|
|
63 class wsp__Assertion
|
|
64 { public:
|
|
65 @bool Optional = false;
|
|
66 @bool Ignorable = false;
|
|
67 wsp__Content *Policy;
|
|
68 };
|
|
69
|
|
70 #import "sp.h"
|
|
71 #import "wsrmp.h"
|
|
72 #import "wsam.h"
|
|
73
|
|
74 class wsp__Content
|
|
75 { public:
|
|
76 wsp__Policy *Policy;
|
|
77 wsp__PolicyReference *PolicyReference;
|
|
78 std::vector<wsp__Content*> All;
|
|
79 std::vector<wsp__Content*> ExactlyOne;
|
|
80
|
|
81 std::vector<sp__Parts> sp__SignedParts;
|
|
82 std::vector<sp__Parts> sp__EncryptedParts;
|
|
83 std::vector<sp__Parts> sp__RequiredParts;
|
|
84
|
|
85 sp__Elements *sp__SignedElements;
|
|
86 sp__Elements *sp__EncryptedElements;
|
|
87 sp__Elements *sp__ContentEncryptedElements;
|
|
88 sp__Elements *sp__RequiredElements;
|
|
89
|
|
90 sp__Token *sp__UsernameToken;
|
|
91 sp__Token *sp__IssuedToken;
|
|
92 sp__Token *sp__X509Token;
|
|
93 sp__Token *sp__KerberosToken;
|
|
94 sp__Token *sp__SpnegoContextToken;
|
|
95 sp__Token *sp__SecurityContextToken;
|
|
96 sp__Token *sp__SecureConversationToken;
|
|
97 sp__Token *sp__SamlToken;
|
|
98 sp__Token *sp__RelToken;
|
|
99 sp__Token *sp__HttpsToken;
|
|
100 sp__Token *sp__KeyValueToken;
|
|
101
|
|
102 wsp__Assertion *sp__TransportBinding;
|
|
103 wsp__Assertion *sp__TransportToken;
|
|
104 wsp__Assertion *sp__AlgorithmSuite;
|
|
105 wsp__Assertion *sp__Layout;
|
|
106 wsp__Assertion *sp__SymmetricBinding;
|
|
107 wsp__Assertion *sp__AsymmetricBinding;
|
|
108 wsp__Assertion *sp__ProtectionToken;
|
|
109 wsp__Assertion *sp__InitiatorToken;
|
|
110 wsp__Assertion *sp__InitiatorSignatureToken;
|
|
111 wsp__Assertion *sp__InitiatorEncryptionToken;
|
|
112 wsp__Assertion *sp__RecipientToken;
|
|
113
|
|
114 wsp__Assertion *sp__SupportingTokens;
|
|
115 wsp__Assertion *sp__SignedSupportingTokens;
|
|
116 wsp__Assertion *sp__EndorsingSupportingTokens;
|
|
117 wsp__Assertion *sp__SignedEndorsingSupportingTokens;
|
|
118 wsp__Assertion *sp__SignedEncryptedSupportingTokens;
|
|
119 wsp__Assertion *sp__EncryptedSupportingTokens;
|
|
120 wsp__Assertion *sp__EndorsingEncryptedSupportingTokens;
|
|
121 wsp__Assertion *sp__SignedEndorsingEncryptedSupportingTokens;
|
|
122 wsp__Assertion *sp__Wss10;
|
|
123 wsp__Assertion *sp__Wss11;
|
|
124 wsp__Assertion *sp__Trust10;
|
|
125 wsp__Assertion *sp__Trust13;
|
|
126
|
|
127 wsp__Content *sp__BootstrapPolicy;
|
|
128
|
|
129 xsd__string wsaw__UsingAddressing;
|
|
130
|
|
131 wsp__Assertion *wsam__Addressing;
|
|
132
|
|
133 wsrmp__RMAssertion *wsrmp__RMAssertion_;
|
|
134 wsrmp__RMAssertion *wsrmp__DeliveryAssurance;
|
|
135
|
|
136 xsd__string wsrmp__AtLeastOnce;
|
|
137 xsd__string wsrmp__AtMostOnce;
|
|
138 xsd__string wsrmp__ExactlyOnce;
|
|
139 xsd__string wsrmp__InOrder;
|
|
140
|
|
141 wsp__Assertion *sp__NoPassword;
|
|
142 wsp__Assertion *sp__HashPassword;
|
|
143
|
|
144 wsp__Assertion *sp__IncludeTimestamp;
|
|
145 wsp__Assertion *sp__EncryptBeforeSigning;
|
|
146 wsp__Assertion *sp__EncryptSignature;
|
|
147 wsp__Assertion *sp__ProtectTokens;
|
|
148 wsp__Assertion *sp__OnlySignEntireHeadersAndBody;
|
|
149
|
|
150 xsd__string sp__RequireDerivedKeys;
|
|
151 xsd__string sp__RequireImpliedDerivedKeys;
|
|
152 xsd__string sp__RequireExplicitDerivedKeys;
|
|
153
|
|
154 xsd__string sp__WssUsernameToken10;
|
|
155 xsd__string sp__WssUsernameToken11;
|
|
156
|
|
157 xsd__string sp__RequireExternalReference;
|
|
158 xsd__string sp__RequireInternalReference;
|
|
159
|
|
160 xsd__string sp__RequireKeyIdentifierReference;
|
|
161 xsd__string sp__RequireIssuerSerialReference;
|
|
162 xsd__string sp__RequireEmbeddedTokenReference;
|
|
163 xsd__string sp__RequireThumbprintReference;
|
|
164
|
|
165 xsd__string sp__WssX509V3Token10;
|
|
166 xsd__string sp__WssX509Pkcs7Token10;
|
|
167 xsd__string sp__WssX509PkiPathV1Token10;
|
|
168 xsd__string sp__WssX509V1Token11;
|
|
169 xsd__string sp__WssX509V3Token11;
|
|
170 xsd__string sp__WssX509Pkcs7Token11;
|
|
171 xsd__string sp__WssX509PkiPathV1Token11;
|
|
172
|
|
173 xsd__string sp__WssKerberosV5ApReqToken11;
|
|
174 xsd__string sp__WssGssKerberosV5ApReqToken11;
|
|
175
|
|
176 xsd__string sp__WssRelV10Token10;
|
|
177 xsd__string sp__WssRelV20Token10;
|
|
178 xsd__string sp__WssRelV10Token11;
|
|
179 xsd__string sp__WssRelV20Token11;
|
|
180
|
|
181 xsd__string sp__MustNotSendCancel;
|
|
182 xsd__string sp__MustNotSendAmend;
|
|
183 xsd__string sp__MustNotSendRenew;
|
|
184
|
|
185 xsd__string sp__MustSupportRefKeyIdentifier;
|
|
186 xsd__string sp__MustSupportRefIssuerSerial;
|
|
187 xsd__string sp__MustSupportRefExternalURI;
|
|
188 xsd__string sp__MustSupportRefEmbeddedToken;
|
|
189 xsd__string sp__MustSupportRefThumbprint;
|
|
190 xsd__string sp__MustSupportRefEncryptedKey;
|
|
191 xsd__string sp__RequireSignatureConfirmation;
|
|
192
|
|
193 xsd__string sp__MustSupportClientChallenge;
|
|
194 xsd__string sp__MustSupportServerChallenge;
|
|
195 xsd__string sp__RequireClientEntropy;
|
|
196 xsd__string sp__RequireServerEntropy;
|
|
197 xsd__string sp__MustSupportIssuedTokens;
|
|
198 xsd__string sp__RequireRequestSecurityTokenCollection;
|
|
199 xsd__string sp__RequireAppliesTo;
|
|
200
|
|
201 xsd__string sp__RequireExternalUriReference;
|
|
202 xsd__string sp__SC13SecurityContextToken;
|
|
203
|
|
204 xsd__string sp__Strict;
|
|
205 xsd__string sp__Lax;
|
|
206 xsd__string sp__LaxTsFirst;
|
|
207 xsd__string sp__LaxTsLast;
|
|
208
|
|
209 xsd__string sp__HttpBasicAuthentication;
|
|
210 xsd__string sp__HttpDigestAuthentication;
|
|
211 xsd__string sp__RequireClientCertificate;
|
|
212
|
|
213 xsd__string sp__Basic256;
|
|
214 xsd__string sp__Basic192;
|
|
215 xsd__string sp__Basic128;
|
|
216 xsd__string sp__TripleDes;
|
|
217 xsd__string sp__Basic256Rsa15;
|
|
218 xsd__string sp__Basic192Rsa15;
|
|
219 xsd__string sp__Basic128Rsa15;
|
|
220 xsd__string sp__TripleDesRsa15;
|
|
221 xsd__string sp__Basic256Sha256;
|
|
222 xsd__string sp__Basic192Sha256;
|
|
223 xsd__string sp__Basic128Sha256;
|
|
224 xsd__string sp__TripleDesSha256;
|
|
225 xsd__string sp__Basic256Sha256Rsa15;
|
|
226 xsd__string sp__Basic192Sha256Rsa15;
|
|
227 xsd__string sp__Basic128Sha256Rsa15;
|
|
228 xsd__string sp__TripleDesSha256Rsa15;
|
|
229
|
|
230 xsd__string sp__InclusiveC14N;
|
|
231 xsd__string sp__SOAPNormalization10;
|
|
232 xsd__string sp__STRTransform10;
|
|
233
|
|
234 xsd__string sp__Path10;
|
|
235 xsd__string sp__XPathFilter20;
|
|
236 xsd__string sp__AbsXPath;
|
|
237
|
|
238 xsd__string wsam__AnonymousResponses;
|
|
239 xsd__string wsam__NonAnonymousResponses;
|
|
240
|
|
241 std::vector<_XML> __any;
|
|
242 public:
|
|
243 int traverse(wsdl__definitions&);
|
|
244 void generate(Service& service, Types& types, int indent) const;
|
|
245 };
|
|
246
|
|
247 class wsp__Policy : public wsp__Content
|
|
248 { public:
|
|
249 @xsd__anyURI xml__base;
|
|
250 @xsd__string wsu__Id;
|
|
251 @xsd__anyURI TargetNamespace;
|
|
252 };
|
|
253
|
|
254 class wsp__Attachment
|
|
255 { public:
|
|
256 wsp__Policy *Policy;
|
|
257 wsp__PolicyReference *PolicyReference;
|
|
258 };
|
|
259
|
|
260 class wsp__AppliesTo
|
|
261 { public:
|
|
262 _XML __any;
|
|
263 };
|
|
264
|
|
265 class wsp__PolicyAttachment
|
|
266 { public:
|
|
267 wsp__AppliesTo *AppliesTo;
|
|
268 std::vector<wsp__Attachment> Attachment;
|
|
269 };
|