1 /*
2 * Copyright 1999-2006 University of Chicago
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17
18 /*
19 * This file is automatically generated by the Globus WSDLtoC converter
20 */
21
22 #include "xsd_QName.h"
23 #include "globus_soap_message.h"
24 #include "globus_xsd_type_info.h"
25 #include "wsse_SecurityTokenReferenceType.h"
26 #include "globus_xsd_generic_array.h"
27
28 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
29 xsd_QName wsse_SecurityTokenReferenceType_qname =
30 {
31 WSSE_SECURITYTOKENREFERENCETYPE_NS,
32 WSSE_SECURITYTOKENREFERENCETYPE_LOCAL
33 };
34 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
35
36 static
37 globus_result_t
38 wsse_SecurityTokenReferenceType_serialize_wrapper(
39 const xsd_QName * element_qname,
40 const void * instance,
41 globus_soap_message_handle_t message_handle,
42 globus_xsd_element_options_t options)
43 0 {
44 0 return wsse_SecurityTokenReferenceType_serialize(
45 element_qname,
46 (const wsse_SecurityTokenReferenceType *) instance,
47 message_handle, options);
48 }
49
50 static
51 globus_result_t
52 wsse_SecurityTokenReferenceType_deserialize_pointer_wrapper(
53 const xsd_QName * element_qname,
54 void ** ip,
55 globus_soap_message_handle_t message_handle,
56 globus_xsd_element_options_t options)
57 0 {
58 0 return wsse_SecurityTokenReferenceType_deserialize_pointer(
59 element_qname,
60 (wsse_SecurityTokenReferenceType **) ip,
61 message_handle, options);
62 }
63
64 static
65 globus_result_t
66 wsse_SecurityTokenReferenceType_init_wrapper(void **object)
67 0 {
68 0 return wsse_SecurityTokenReferenceType_init(
69 (wsse_SecurityTokenReferenceType **) object);
70 }
71
72 static
73 void
74 wsse_SecurityTokenReferenceType_destroy_wrapper(
75 void * object)
76 0 {
77 0 wsse_SecurityTokenReferenceType_destroy(
78 (wsse_SecurityTokenReferenceType *) object);
79 0 }
80
81 static
82 globus_result_t
83 wsse_SecurityTokenReferenceType_copy_wrapper(
84 void ** dest_obj,
85 const void * src_obj)
86 0 {
87 0 return wsse_SecurityTokenReferenceType_copy(
88 (wsse_SecurityTokenReferenceType **) dest_obj,
89 (wsse_SecurityTokenReferenceType *) src_obj);
90 }
91
92 static
93 globus_result_t
94 wsse_SecurityTokenReferenceType_init_contents_wrapper(void *object)
95 0 {
96 0 return wsse_SecurityTokenReferenceType_init_contents(
97 (wsse_SecurityTokenReferenceType *) object);
98 }
99
100 static
101 void
102 wsse_SecurityTokenReferenceType_destroy_contents_wrapper(
103 void * object)
104 0 {
105 0 wsse_SecurityTokenReferenceType_destroy_contents(
106 (wsse_SecurityTokenReferenceType *) object);
107 0 }
108
109 static
110 globus_result_t
111 wsse_SecurityTokenReferenceType_copy_contents_wrapper(
112 void * dest_obj,
113 const void * src_obj)
114 0 {
115 0 return wsse_SecurityTokenReferenceType_copy_contents(
116 (wsse_SecurityTokenReferenceType *) dest_obj,
117 (const wsse_SecurityTokenReferenceType *) src_obj);
118 }
119
120 static
121 globus_result_t
122 wsse_SecurityTokenReferenceType_serialize_contents_wrapper(
123 const xsd_QName * element_qname,
124 const void * instance,
125 globus_soap_message_handle_t message_handle,
126 globus_xsd_element_options_t options)
127 0 {
128 0 return wsse_SecurityTokenReferenceType_serialize_contents(
129 element_qname,
130 (wsse_SecurityTokenReferenceType *) instance,
131 message_handle, options);
132 }
133
134 static
135 globus_result_t
136 wsse_SecurityTokenReferenceType_deserialize_contents_wrapper(
137 const xsd_QName * element_qname,
138 void ** instance,
139 globus_soap_message_handle_t message_handle,
140 globus_xsd_element_options_t options)
141 0 {
142 globus_result_t result;
143 GlobusFuncName(wsse_SecurityTokenReferenceType_deserialize_contents_wrapper);
144 0 GlobusSoapMessageDebugEnter();
145
146 0 if(!*instance)
147 {
148 0 result = wsse_SecurityTokenReferenceType_init(
149 (wsse_SecurityTokenReferenceType **)instance);
150 0 if(result != GLOBUS_SUCCESS)
151 {
152 0 goto error;
153 }
154 }
155
156 0 result = wsse_SecurityTokenReferenceType_deserialize_contents(
157 element_qname,
158 *(wsse_SecurityTokenReferenceType **)instance,
159 message_handle, options);
160 0 error:
161 0 GlobusSoapMessageDebugExit();
162 0 return result;
163 }
164
165 static
166 globus_result_t
167 wsse_SecurityTokenReferenceType_array_serialize_wrapper(
168 const xsd_QName * element,
169 const void * instance,
170 globus_soap_message_handle_t message,
171 globus_xsd_element_options_t options)
172 0 {
173 0 return wsse_SecurityTokenReferenceType_array_serialize(
174 element,
175 (wsse_SecurityTokenReferenceType_array *) instance,
176 message, options);
177 }
178
179 static
180 globus_result_t
181 wsse_SecurityTokenReferenceType_array_deserialize_wrapper(
182 const xsd_QName * element_qname,
183 void ** inst,
184 globus_soap_message_handle_t message,
185 globus_xsd_element_options_t options)
186 0 {
187 0 if(!*inst)
188 {
189 globus_result_t result;
190
191 0 result = wsse_SecurityTokenReferenceType_array_init(
192 (wsse_SecurityTokenReferenceType_array **)inst);
193 0 if(result != GLOBUS_SUCCESS)
194 {
195 0 return result;
196 }
197 }
198
199 0 return wsse_SecurityTokenReferenceType_array_deserialize(
200 element_qname,
201 *(wsse_SecurityTokenReferenceType_array **) inst,
202 message, options);
203 }
204
205 static
206 globus_result_t
207 wsse_SecurityTokenReferenceType_array_init_wrapper(
208 void ** arr)
209 0 {
210 0 return wsse_SecurityTokenReferenceType_array_init(
211 (wsse_SecurityTokenReferenceType_array **) arr);
212 }
213
214 static
215 void
216 wsse_SecurityTokenReferenceType_array_destroy_wrapper(
217 void * arr)
218 0 {
219 0 wsse_SecurityTokenReferenceType_array_destroy(
220 (wsse_SecurityTokenReferenceType_array *) arr);
221 0 }
222
223 static
224 globus_result_t
225 wsse_SecurityTokenReferenceType_array_copy_wrapper(
226 void ** dest_arr,
227 const void * src_arr)
228 0 {
229 0 return wsse_SecurityTokenReferenceType_array_copy(
230 (wsse_SecurityTokenReferenceType_array **) dest_arr,
231 (const wsse_SecurityTokenReferenceType_array *) src_arr);
232 }
233
234 static
235 globus_result_t
236 wsse_SecurityTokenReferenceType_array_init_contents_wrapper(
237 void * arr)
238 0 {
239 0 return wsse_SecurityTokenReferenceType_array_init_contents(
240 (wsse_SecurityTokenReferenceType_array *) arr);
241 }
242
243 static
244 void
245 wsse_SecurityTokenReferenceType_array_destroy_contents_wrapper(
246 void * arr)
247 0 {
248 0 wsse_SecurityTokenReferenceType_array_destroy_contents(
249 (wsse_SecurityTokenReferenceType_array *) arr);
250 0 }
251
252 static
253 globus_result_t
254 wsse_SecurityTokenReferenceType_array_copy_contents_wrapper(
255 void * dest_arr,
256 const void * src_arr)
257 0 {
258 0 return wsse_SecurityTokenReferenceType_array_copy_contents(
259 (wsse_SecurityTokenReferenceType_array *) dest_arr,
260 (const wsse_SecurityTokenReferenceType_array *) src_arr);
261 }
262
263 static
264 void *
265 wsse_SecurityTokenReferenceType_array_push_wrapper(
266 void * array)
267 0 {
268 0 return (void *) wsse_SecurityTokenReferenceType_array_push((wsse_SecurityTokenReferenceType_array *) array);
269 }
270
271 struct globus_xsd_type_info_s wsse_SecurityTokenReferenceType_contents_info =
272 {
273 &wsse_SecurityTokenReferenceType_qname,
274 wsse_SecurityTokenReferenceType_serialize_contents_wrapper,
275 wsse_SecurityTokenReferenceType_deserialize_contents_wrapper,
276 wsse_SecurityTokenReferenceType_init_wrapper,
277 wsse_SecurityTokenReferenceType_destroy_wrapper,
278 wsse_SecurityTokenReferenceType_copy_wrapper,
279 wsse_SecurityTokenReferenceType_init_contents_wrapper,
280 wsse_SecurityTokenReferenceType_destroy_contents_wrapper,
281 wsse_SecurityTokenReferenceType_copy_contents_wrapper,
282 sizeof(wsse_SecurityTokenReferenceType),
283 NULL,
284 NULL,
285 NULL
286 };
287
288 struct globus_xsd_type_info_s wsse_SecurityTokenReferenceType_array_info =
289 {
290 &wsse_SecurityTokenReferenceType_qname,
291 wsse_SecurityTokenReferenceType_array_serialize_wrapper,
292 wsse_SecurityTokenReferenceType_array_deserialize_wrapper,
293 wsse_SecurityTokenReferenceType_array_init_wrapper,
294 wsse_SecurityTokenReferenceType_array_destroy_wrapper,
295 wsse_SecurityTokenReferenceType_array_copy_wrapper,
296 wsse_SecurityTokenReferenceType_array_init_contents_wrapper,
297 wsse_SecurityTokenReferenceType_array_destroy_contents_wrapper,
298 wsse_SecurityTokenReferenceType_array_copy_contents_wrapper,
299 sizeof(wsse_SecurityTokenReferenceType),
300 wsse_SecurityTokenReferenceType_array_push_wrapper,
301 NULL,
302 NULL
303 };
304
305 struct globus_xsd_type_info_s wsse_SecurityTokenReferenceType_info =
306 {
307 &wsse_SecurityTokenReferenceType_qname,
308 wsse_SecurityTokenReferenceType_serialize_wrapper,
309 wsse_SecurityTokenReferenceType_deserialize_pointer_wrapper,
310 wsse_SecurityTokenReferenceType_init_wrapper,
311 wsse_SecurityTokenReferenceType_destroy_wrapper,
312 wsse_SecurityTokenReferenceType_copy_wrapper,
313 wsse_SecurityTokenReferenceType_init_contents_wrapper,
314 wsse_SecurityTokenReferenceType_destroy_contents_wrapper,
315 wsse_SecurityTokenReferenceType_copy_contents_wrapper,
316 sizeof(wsse_SecurityTokenReferenceType),
317 NULL,
318 &wsse_SecurityTokenReferenceType_contents_info,
319 &wsse_SecurityTokenReferenceType_array_info
320 };
321
322 globus_result_t
323 wsse_SecurityTokenReferenceType_init_contents(
324 wsse_SecurityTokenReferenceType * instance)
325 0 {
326 0 globus_result_t result = GLOBUS_SUCCESS;
327 GlobusFuncName(wsse_SecurityTokenReferenceType_init_contents);
328 0 GlobusSoapMessageDebugEnter();
329
330 0 memset(instance, 0, sizeof(wsse_SecurityTokenReferenceType));
331
332 0 GlobusSoapMessageDebugExit();
333 0 return result;
334 }
335
336 globus_result_t
337 wsse_SecurityTokenReferenceType_init(
338 wsse_SecurityTokenReferenceType ** object)
339 0 {
340 wsse_SecurityTokenReferenceType * instance;
341 0 globus_result_t result = GLOBUS_SUCCESS;
342 GlobusFuncName(wsse_SecurityTokenReferenceType_init);
343 0 GlobusSoapMessageDebugEnter();
344
345 0 instance = globus_malloc(sizeof(wsse_SecurityTokenReferenceType));
346 0 if(!instance)
347 {
348 0 result = GlobusSoapMessageErrorOutOfMemory;
349 0 goto exit;
350 }
351
352 0 memset(instance, 0, sizeof(wsse_SecurityTokenReferenceType));
353
354 0 *object = instance;
355
356 0 exit:
357 0 GlobusSoapMessageDebugExit();
358 0 return result;
359 }
360
361 void
362 wsse_SecurityTokenReferenceType_destroy(
363 wsse_SecurityTokenReferenceType * instance)
364 0 {
365 GlobusFuncName(wsse_SecurityTokenReferenceType_destroy);
366 0 GlobusSoapMessageDebugEnter();
367
368 0 if(!instance)
369 {
370 0 goto exit;
371 }
372
373 0 wsse_SecurityTokenReferenceType_destroy_contents(instance);
374 0 globus_free(instance);
375
376 0 exit:
377
378 0 GlobusSoapMessageDebugExit();
379 0 }
380
381
382 void
383 wsse_SecurityTokenReferenceType_destroy_contents(
384 wsse_SecurityTokenReferenceType * instance)
385 0 {
386 GlobusFuncName(wsse_SecurityTokenReferenceType_destroy_contents);
387 0 GlobusSoapMessageDebugEnter();
388
389 0 if(instance)
390 {
391
392
393 0 xsd_any_destroy_contents(
394 &instance->any);
395
396 0 xsd_anyAttributes_destroy(instance->anyAttributes);
397 0 instance->anyAttributes = NULL;
398
399 0 if(instance->_Usage)
400 {
401 0 wsse_tUsage_destroy(
402 instance->_Usage);
403 0 instance->_Usage = NULL;
404 }
405
406 0 if(instance->_Id)
407 {
408 0 xsd_ID_destroy(
409 instance->_Id);
410 0 instance->_Id = NULL;
411 }
412
413 }
414
415 0 GlobusSoapMessageDebugExit();
416 0 }
417
418
419 globus_result_t
420 wsse_SecurityTokenReferenceType_copy(
421 wsse_SecurityTokenReferenceType ** dest_obj,
422 const wsse_SecurityTokenReferenceType * src_obj)
423 0 {
424 0 globus_result_t result = GLOBUS_SUCCESS;
425 wsse_SecurityTokenReferenceType * instance;
426 GlobusFuncName(wsse_SecurityTokenReferenceType_copy);
427
428 0 GlobusSoapMessageDebugEnter();
429
430 0 instance = calloc(1, sizeof(wsse_SecurityTokenReferenceType));
431 0 if (instance == NULL)
432 {
433 0 GlobusSoapMessageDebugExit();
434 0 return GlobusSoapMessageErrorOutOfMemory;
435 }
436
437 0 result = wsse_SecurityTokenReferenceType_copy_contents(instance, src_obj);
438 0 if(result != GLOBUS_SUCCESS)
439 {
440 0 globus_free(instance);
441 0 GlobusSoapMessageDebugExit();
442 0 return GlobusSoapMessageErrorOutOfMemory;
443 }
444
445 0 *dest_obj = instance;
446 0 GlobusSoapMessageDebugExit();
447 0 return result;
448 }
449
450 globus_result_t
451 wsse_SecurityTokenReferenceType_copy_contents(
452 wsse_SecurityTokenReferenceType * instance,
453 const wsse_SecurityTokenReferenceType * src_obj)
454 0 {
455 0 globus_result_t result = GLOBUS_SUCCESS;
456 GlobusFuncName(wsse_SecurityTokenReferenceType_copy_contents);
457
458 0 GlobusSoapMessageDebugEnter();
459
460 0 if(src_obj->anyAttributes)
461 {
462 0 result = xsd_anyAttributes_copy(&instance->anyAttributes,
463 src_obj->anyAttributes);
464 0 if(result != GLOBUS_SUCCESS)
465 {
466 0 result = GlobusSoapMessageErrorCopyAnyAttrsFailed(
467 result, NULL);
468 0 goto xsd_anyAttributes_after_destroy;
469 }
470 }
471 else
472 {
473 0 instance->anyAttributes = NULL;
474 }
475
476 0 if(src_obj->_Usage)
477 {
478 0 result = wsse_tUsage_copy(
479 &instance->_Usage,
480 src_obj->_Usage);
481 0 if(result != GLOBUS_SUCCESS)
482 {
483 0 result = GlobusSoapMessageErrorCopyFailed(
484 result, NULL, &wsse_tUsage_qname);
485 0 goto _Usage_destroy;
486 }
487 }
488 else
489 {
490 0 instance->_Usage = NULL;
491 }
492
493 0 if(src_obj->_Id)
494 {
495 0 result = xsd_ID_copy(
496 &instance->_Id,
497 src_obj->_Id);
498 0 if(result != GLOBUS_SUCCESS)
499 {
500 0 result = GlobusSoapMessageErrorCopyFailed(
501 result, NULL, &xsd_ID_qname);
502 0 goto _Id_destroy;
503 }
504 }
505 else
506 {
507 0 instance->_Id = NULL;
508 }
509
510 0 result = xsd_any_copy_contents(
511 &instance->any,
512 &src_obj->any);
513 0 if(result != GLOBUS_SUCCESS)
514 {
515 0 result = GlobusSoapMessageErrorCopyFailed(
516 result, NULL, &xsd_any_qname);
517 0 goto any_destroy;
518 }
519
520 0 goto exit;
521
522 fail_deserialize:
523
524 xsd_anyAttributes_destroy:
525 xsd_anyAttributes_destroy(instance->anyAttributes);
526 instance->anyAttributes = NULL;
527 0 xsd_anyAttributes_after_destroy:
528
529 0 _Usage_destroy:
530
531 0 if(instance->_Usage)
532 {
533 0 wsse_tUsage_destroy(
534 instance->_Usage);
535 0 instance->_Usage = NULL;
536 }
537
538 0 _Id_destroy:
539
540 0 if(instance->_Id)
541 {
542 0 xsd_ID_destroy(
543 instance->_Id);
544 0 instance->_Id = NULL;
545 }
546 0 xsd_any_destroy_contents(
547 &instance->any);
548
549 0 any_destroy:
550
551
552 0 exit:
553
554 0 GlobusSoapMessageDebugExit();
555 0 return result;
556 }
557
558
559
560 globus_result_t
561 wsse_SecurityTokenReferenceType_serialize_contents(
562 const xsd_QName * element_qname, /* ignored */
563 const wsse_SecurityTokenReferenceType * inst,
564 globus_soap_message_handle_t message_handle,
565 globus_xsd_element_options_t options)
566 0 {
567 0 globus_result_t result = GLOBUS_SUCCESS;
568 GlobusFuncName(wsse_SecurityTokenReferenceType_serialize_contents);
569 0 GlobusSoapMessageDebugEnter();
570
571 0 result = wsse_SecurityTokenReferenceType_serialize(
572 NULL,
573 inst,
574 message_handle,
575 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
576 0 if(result != GLOBUS_SUCCESS)
577 {
578 0 result = GlobusSoapMessageErrorSerializeFailed(
579 result, NULL, element_qname);
580 0 goto exit;
581 }
582
583 0 exit:
584
585 0 GlobusSoapMessageDebugExit();
586 0 return result;
587 }
588
589
590
591 globus_result_t
592 wsse_SecurityTokenReferenceType_serialize(
593 const xsd_QName * element_qname,
594 const wsse_SecurityTokenReferenceType * instance,
595 globus_soap_message_handle_t message_handle,
596 globus_xsd_element_options_t options)
597 0 {
598 0 globus_result_t result = GLOBUS_SUCCESS;
599 xsd_QName subelement;
600 0 globus_list_t * any_attr_keys = NULL;
601 0 globus_list_t * any_attr_keys_iterator = NULL;
602 0 xsd_QName * type_attr = NULL;
603
604 0 char * prefix = NULL;
605 int prefix_created;
606 0 int define_prefix = 0;
607 0 int save_options = options;
608
609 GlobusFuncName(wsse_SecurityTokenReferenceType_serialize);
610 0 GlobusSoapMessageDebugEnter();
611
612
613 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
614 {
615 /* serialize wsse_SecurityTokenReferenceType element */
616 0 result = globus_soap_message_element_ns_set(
617 message_handle,
618 element_qname,
619 element_qname->Namespace,
620 &options);
621 0 if(result != GLOBUS_SUCCESS)
622 {
623 0 result = GlobusSoapMessageErrorSerializeFailed(
624 result, NULL, element_qname);
625 0 goto exit;
626 }
627
628 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
629 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
630 {
631 0 result = globus_soap_message_attribute_ns_set(
632 message_handle,
633 element_qname,
634 "http://www.w3.org/2001/XMLSchema-instance",
635 &options);
636 0 if(result != GLOBUS_SUCCESS)
637 {
638 0 result = GlobusSoapMessageErrorSerializeFailed(
639 result, NULL, element_qname);
640 0 goto exit;
641 }
642 }
643
644 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
645 !globus_soap_message_serialize_is_c14n_subset(message_handle))
646 {
647
648 0 result = globus_soap_message_attribute_ns_set(
649 message_handle,
650 element_qname,
651 wsse_SecurityTokenReferenceType_qname.Namespace,
652 &options);
653 0 if(result != GLOBUS_SUCCESS)
654 {
655 0 result = GlobusSoapMessageErrorSerializeFailed(
656 result, NULL, element_qname);
657 0 goto exit;
658 }
659 }
660
661 0 result = xsd_anyAttributes_namespace_set(
662 message_handle, element_qname, instance->anyAttributes, &options);
663 0 if(result != GLOBUS_SUCCESS)
664 {
665 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
666 result, "Failed to set namespace");
667 0 goto exit;
668 }
669
670 0 if(instance->_Usage)
671 {
672
673 0 result = globus_soap_message_attribute_ns_set(
674 message_handle,
675 element_qname,
676 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
677 &options);
678
679 0 if(result != GLOBUS_SUCCESS)
680 {
681 xsd_QName error_qname;
682 0 error_qname.local = prefix;
683 0 error_qname.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
684 0 result = GlobusSoapMessageErrorSerializeFailed(result,
685 NULL,
686 &error_qname);
687 0 goto exit;
688 }
689
690
691 }
692
693 0 if(instance->_Id)
694 {
695
696 0 result = globus_soap_message_attribute_ns_set(
697 message_handle,
698 element_qname,
699 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
700 &options);
701
702 0 if(result != GLOBUS_SUCCESS)
703 {
704 xsd_QName error_qname;
705 0 error_qname.local = prefix;
706 0 error_qname.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
707 0 result = GlobusSoapMessageErrorSerializeFailed(result,
708 NULL,
709 &error_qname);
710 0 goto exit;
711 }
712
713
714 }
715
716 0 result = globus_soap_message_serialize_element(
717 message_handle,
718 element_qname,
719 options,
720 &wsse_SecurityTokenReferenceType_qname);
721 0 if(result != GLOBUS_SUCCESS)
722 {
723 0 result = GlobusSoapMessageErrorSerializeFailed(
724 result, NULL, element_qname);
725 0 goto exit;
726 }
727
728 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
729 !globus_soap_message_serialize_is_c14n_subset(message_handle))
730 {
731 0 xsd_QName_init(&type_attr);
732
733 0 type_attr->local = globus_libc_strdup("type");
734 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
735 }
736
737
738 /* serialize namespaces */
739 0 result = globus_soap_message_element_ns_add(
740 message_handle,
741 element_qname,
742 element_qname->Namespace,
743 &options);
744 0 if(result != GLOBUS_SUCCESS)
745 {
746 0 result = GlobusSoapMessageErrorSerializeFailed(
747 result, NULL, element_qname);
748 0 goto exit;
749 }
750
751 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
752 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
753 {
754 0 result = globus_soap_message_attribute_ns_add(
755 message_handle,
756 element_qname,
757 "http://www.w3.org/2001/XMLSchema-instance",
758 &options);
759 0 if(result != GLOBUS_SUCCESS)
760 {
761 0 result = GlobusSoapMessageErrorSerializeFailed(
762 result, NULL, element_qname);
763 0 goto exit;
764 }
765 }
766 0 if ((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
767 !globus_soap_message_serialize_is_c14n_subset(message_handle))
768 {
769
770 0 result = globus_soap_message_attribute_ns_add(
771 message_handle,
772 element_qname,
773 wsse_SecurityTokenReferenceType_qname.Namespace,
774 &options);
775 0 if(result != GLOBUS_SUCCESS)
776 {
777 0 result = GlobusSoapMessageErrorSerializeFailed(
778 result, NULL, element_qname);
779 0 goto exit;
780 }
781 }
782
783 0 result = xsd_anyAttributes_namespace_add(
784 message_handle, element_qname, instance->anyAttributes, &options);
785 0 if(result != GLOBUS_SUCCESS)
786 {
787 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
788 result, "Failed to add namespace");
789 0 goto exit;
790 }
791
792 0 if(instance->_Usage)
793 {
794
795 0 result = globus_soap_message_attribute_ns_add(
796 message_handle,
797 element_qname,
798 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
799 &options);
800 0 if(result != GLOBUS_SUCCESS)
801 {
802 xsd_QName error_qname;
803 0 error_qname.local = prefix;
804 0 error_qname.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
805 0 result = GlobusSoapMessageErrorSerializeFailed(result,
806 NULL,
807 &error_qname);
808 0 goto exit;
809 }
810
811 }
812
813 0 if(instance->_Id)
814 {
815
816 0 result = globus_soap_message_attribute_ns_add(
817 message_handle,
818 element_qname,
819 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
820 &options);
821 0 if(result != GLOBUS_SUCCESS)
822 {
823 xsd_QName error_qname;
824 0 error_qname.local = prefix;
825 0 error_qname.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
826 0 result = GlobusSoapMessageErrorSerializeFailed(result,
827 NULL,
828 &error_qname);
829 0 goto exit;
830 }
831
832 }
833
834 /* serialize attributes */
835
836 0 if(instance->anyAttributes)
837 {
838 0 any_attr_keys = xsd_anyAttributes_lex_sort(
839 instance->anyAttributes);
840 0 any_attr_keys_iterator = any_attr_keys;
841 }
842
843 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
844 0 subelement.local = "Usage";
845
846 0 if(any_attr_keys_iterator)
847 {
848 0 result = xsd_anyAttributes_serialize_lex_before(
849 message_handle,
850 &any_attr_keys_iterator,
851 instance->anyAttributes,
852 &subelement);
853 0 if(result != GLOBUS_SUCCESS)
854 {
855 0 result = GlobusSoapMessageErrorSerializeFailed(result,
856 NULL,
857 element_qname);
858 0 goto exit;
859 }
860 }
861
862 0 if(instance->_Usage)
863 {
864
865 0 result = wsse_tUsage_serialize_attribute(
866 &subelement,
867 instance->_Usage,
868 message_handle,
869 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
870 0 if(result != GLOBUS_SUCCESS)
871 {
872 0 result = GlobusSoapMessageErrorSerializeFailed(result,
873 NULL,
874 element_qname);
875 0 goto exit;
876 }
877
878 }
879
880 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
881 0 subelement.local = "Id";
882
883 0 if(any_attr_keys_iterator)
884 {
885 0 result = xsd_anyAttributes_serialize_lex_before(
886 message_handle,
887 &any_attr_keys_iterator,
888 instance->anyAttributes,
889 &subelement);
890 0 if(result != GLOBUS_SUCCESS)
891 {
892 0 result = GlobusSoapMessageErrorSerializeFailed(result,
893 NULL,
894 element_qname);
895 0 goto exit;
896 }
897 }
898
899 0 if(instance->_Id)
900 {
901
902 0 result = xsd_ID_serialize_attribute(
903 &subelement,
904 instance->_Id,
905 message_handle,
906 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
907 0 if(result != GLOBUS_SUCCESS)
908 {
909 0 result = GlobusSoapMessageErrorSerializeFailed(result,
910 NULL,
911 element_qname);
912 0 goto exit;
913 }
914
915 }
916
917 0 if(any_attr_keys_iterator)
918 {
919 0 result = xsd_anyAttributes_serialize_lex_before(
920 message_handle,
921 &any_attr_keys_iterator,
922 instance->anyAttributes,
923 type_attr);
924 0 if(result != GLOBUS_SUCCESS)
925 {
926 0 result = GlobusSoapMessageErrorSerializeFailed(result,
927 NULL,
928 element_qname);
929 0 goto exit;
930 }
931 }
932
933 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
934 !globus_soap_message_serialize_is_c14n_subset(message_handle))
935 {
936 0 result = globus_soap_message_serialize_QName_attribute(
937 message_handle,
938 type_attr,
939 &wsse_SecurityTokenReferenceType_qname);
940 0 if(result != GLOBUS_SUCCESS)
941 {
942 0 result = GlobusSoapMessageErrorSerializeFailed(
943 result, NULL, element_qname);
944 0 goto exit;
945 }
946 }
947
948
949 }
950
951 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
952 {
953 0 result = globus_soap_message_serialize_element_begin_close(
954 message_handle, element_qname);
955 0 if(result != GLOBUS_SUCCESS)
956 {
957 0 result = GlobusSoapMessageErrorSerializeFailed(
958 result, NULL, element_qname);
959 0 goto exit;
960 }
961 }
962 0 options &= ~GLOBUS_XSD_ELEMENT_CONTENTS_ONLY;
963
964
965 /* serialize contents of type */
966
967 0 subelement.local = "any";
968 0 subelement.Namespace = "http://www.w3.org/2001/XMLSchema";
969
970 0 result = xsd_any_serialize(
971 &subelement,
972 &instance->any,
973 message_handle,
974 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
975 0 if(result != GLOBUS_SUCCESS)
976 {
977 0 result = GlobusSoapMessageErrorSerializeFailed(
978 result, NULL, &xsd_any_qname);
979 0 goto exit;
980 }
981
982 0 options = save_options;
983
984 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
985 {
986 /* add end element */
987 0 result = globus_soap_message_serialize_element_end(
988 message_handle,
989 element_qname,
990 options,
991 &wsse_SecurityTokenReferenceType_qname);
992 0 if(result != GLOBUS_SUCCESS)
993 {
994 0 result = GlobusSoapMessageErrorSerializeFailed(
995 result, NULL, element_qname);
996 0 goto exit;
997 }
998
999 0 globus_soap_message_element_ns_remove(
1000 message_handle,
1001 element_qname->Namespace,
1002 &options);
1003
1004 /* remove namespace/prefix mappings for these types */
1005
1006 0 if(((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
1007 !globus_soap_message_serialize_is_c14n_subset(message_handle)))
1008 {
1009 0 globus_soap_message_attribute_ns_remove(
1010 message_handle,
1011 "http://www.w3.org/2001/XMLSchema-instance",
1012 &options);
1013 }
1014 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
1015 !globus_soap_message_serialize_is_c14n_subset(message_handle))
1016 {
1017 0 globus_soap_message_attribute_ns_remove(
1018 message_handle,
1019 wsse_SecurityTokenReferenceType_qname.Namespace,
1020 &options);
1021 }
1022
1023 0 result = xsd_anyAttributes_namespace_remove(
1024 message_handle, instance->anyAttributes, &options);
1025 0 if(result != GLOBUS_SUCCESS)
1026 {
1027 0 result = GlobusSoapMessageErrorSerializeAnyAttrsFailed(
1028 result, "Failed to remove namespace");
1029 0 goto exit;
1030 }
1031
1032 0 if(instance->_Usage)
1033 {
1034
1035 0 globus_soap_message_attribute_ns_remove(
1036 message_handle,
1037 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
1038 &options);
1039
1040 }
1041
1042 0 if(instance->_Id)
1043 {
1044
1045 0 globus_soap_message_attribute_ns_remove(
1046 message_handle,
1047 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd",
1048 &options);
1049
1050 }
1051
1052 }
1053
1054 0 exit:
1055 0 if (type_attr)
1056 {
1057 0 xsd_QName_destroy(type_attr);
1058 }
1059
1060
1061 0 if(any_attr_keys)
1062 {
1063 0 globus_list_free(any_attr_keys);
1064 }
1065
1066 0 GlobusSoapMessageDebugExit();
1067 0 return result;
1068 }
1069
1070
1071
1072 globus_result_t
1073 wsse_SecurityTokenReferenceType_deserialize_contents(
1074 const xsd_QName * element_qname, /* ignored */
1075 wsse_SecurityTokenReferenceType * inst,
1076 globus_soap_message_handle_t message_handle,
1077 globus_xsd_element_options_t options)
1078 0 {
1079 0 globus_result_t result = GLOBUS_SUCCESS;
1080 GlobusFuncName(wsse_SecurityTokenReferenceType_deserialize_contents);
1081 0 GlobusSoapMessageDebugEnter();
1082
1083 0 result = wsse_SecurityTokenReferenceType_deserialize(
1084 NULL,
1085 inst,
1086 message_handle,
1087 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1088 0 if(result != GLOBUS_SUCCESS)
1089 {
1090 0 result = GlobusSoapMessageErrorDeserializeFailed(
1091 result, element_qname);
1092 0 goto exit;
1093 }
1094
1095 0 exit:
1096
1097 0 GlobusSoapMessageDebugExit();
1098 0 return result;
1099 }
1100
1101
1102
1103 globus_result_t
1104 wsse_SecurityTokenReferenceType_deserialize(
1105 const xsd_QName * element_qname,
1106 wsse_SecurityTokenReferenceType * instance,
1107 globus_soap_message_handle_t message_handle,
1108 globus_xsd_element_options_t options)
1109 0 {
1110 0 globus_result_t result = GLOBUS_SUCCESS;
1111 xsd_QName subelement;
1112 GlobusFuncName(wsse_SecurityTokenReferenceType_deserialize);
1113 0 GlobusSoapMessageDebugEnter();
1114
1115
1116 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1117 {
1118 0 result = globus_soap_message_deserialize_element(
1119 message_handle, element_qname);
1120 0 if(result != GLOBUS_SUCCESS)
1121 {
1122 0 result = GlobusSoapMessageErrorDeserializeFailed(
1123 result, element_qname);
1124 0 goto exit;
1125 }
1126
1127 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
1128 0 if(result != GLOBUS_SUCCESS)
1129 {
1130 0 result = GlobusSoapMessageErrorDeserializeFailed(
1131 result, element_qname);
1132 0 goto xsd_anyAttributes_after_destroy;
1133 }
1134 0 subelement.Namespace = "##any";
1135 0 subelement.local = "anyAttributes";
1136
1137 0 result = xsd_anyAttributes_deserialize(
1138 message_handle,
1139 instance->anyAttributes,
1140 &subelement);
1141 0 if(result != GLOBUS_SUCCESS)
1142 {
1143 0 result = GlobusSoapMessageErrorDeserializeFailed(
1144 result, element_qname);
1145 0 goto xsd_anyAttributes_destroy;
1146 }
1147
1148 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
1149 0 subelement.local = "Usage";
1150
1151 0 result = wsse_tUsage_deserialize_attribute_pointer(
1152 &subelement,
1153 &instance->_Usage,
1154 message_handle,
1155 0);
1156 0 if(result != GLOBUS_SUCCESS)
1157 {
1158 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1159 0 goto _Usage_destroy;
1160 }
1161
1162
1163 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
1164 0 subelement.local = "Id";
1165
1166 0 result = xsd_ID_deserialize_attribute_pointer(
1167 &subelement,
1168 &instance->_Id,
1169 message_handle,
1170 0);
1171 0 if(result != GLOBUS_SUCCESS)
1172 {
1173 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1174 0 goto _Id_destroy;
1175 }
1176
1177
1178
1179 0 result = globus_soap_message_deserialize_element_begin_close(
1180 message_handle);
1181 0 if(result != GLOBUS_SUCCESS)
1182 {
1183 0 result = GlobusSoapMessageErrorDeserializeFailed(
1184 result, element_qname);
1185 0 goto fail_deserialize;
1186 }
1187 }
1188
1189 0 subelement.local = "any";
1190
1191 0 subelement.Namespace = "##any";
1192
1193 0 result = xsd_any_deserialize(
1194 &subelement,
1195 &instance->any,
1196 message_handle,
1197 0);
1198 0 if(result != GLOBUS_SUCCESS)
1199 {
1200 0 result = GlobusSoapMessageErrorDeserializeFailed(
1201 result,
1202 &xsd_any_qname);
1203 0 goto any_destroy;
1204 }
1205
1206 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
1207 {
1208 0 result = globus_soap_message_deserialize_element_end(
1209 message_handle,
1210 element_qname);
1211 0 if(result != GLOBUS_SUCCESS)
1212 {
1213 0 result = GlobusSoapMessageErrorDeserializeFailed(
1214 result, element_qname);
1215 0 goto fail_deserialize;
1216 }
1217 }
1218
1219 0 goto exit;
1220
1221 0 fail_deserialize:
1222
1223 0 xsd_anyAttributes_destroy:
1224 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1225 0 instance->anyAttributes = NULL;
1226 0 xsd_anyAttributes_after_destroy:
1227
1228 0 _Usage_destroy:
1229 /* output_fail_destroy_attribute() */
1230
1231 0 if(instance->_Usage)
1232 {
1233 0 wsse_tUsage_destroy(
1234 instance->_Usage);
1235 0 instance->_Usage = NULL;
1236 }
1237
1238 0 _Id_destroy:
1239 /* output_fail_destroy_attribute() */
1240
1241 0 if(instance->_Id)
1242 {
1243 0 xsd_ID_destroy(
1244 instance->_Id);
1245 0 instance->_Id = NULL;
1246 }
1247 0 xsd_any_destroy_contents(
1248 &instance->any);
1249
1250 0 any_destroy:
1251
1252
1253 0 exit:
1254
1255 0 GlobusSoapMessageDebugExit();
1256 0 return result;
1257 }
1258
1259
1260
1261 globus_result_t
1262 wsse_SecurityTokenReferenceType_deserialize_pointer(
1263 const xsd_QName * element_qname,
1264 wsse_SecurityTokenReferenceType ** ip,
1265 globus_soap_message_handle_t message_handle,
1266 globus_xsd_element_options_t options)
1267 0 {
1268 0 wsse_SecurityTokenReferenceType * instance = NULL;
1269 0 globus_result_t result = GLOBUS_SUCCESS;
1270 xsd_QName subelement;
1271 0 int found_attrs = 0;
1272 0 int empty_element = 0;
1273 GlobusFuncName(wsse_SecurityTokenReferenceType_deserialize_pointer);
1274 0 GlobusSoapMessageDebugEnter();
1275
1276 0 *ip = NULL;
1277
1278 0 result = globus_soap_message_deserialize_element(
1279 message_handle, element_qname);
1280 0 if(result != GLOBUS_SUCCESS &&
1281 (GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1282 GlobusSoapMessageStatusFailedElementCheck(result) ||
1283 GlobusSoapMessageStatusFailedWithTextCheck(result)))
1284 {
1285 0 result = GLOBUS_SUCCESS;
1286 0 goto exit;
1287 }
1288
1289 0 if(result != GLOBUS_SUCCESS)
1290 {
1291 0 result = GlobusSoapMessageErrorDeserializeFailed(
1292 result, element_qname);
1293 0 goto exit;
1294 }
1295
1296 0 if(globus_soap_message_deserialize_element_is_empty(
1297 message_handle))
1298 {
1299 0 empty_element = 1;
1300 }
1301
1302 0 result = wsse_SecurityTokenReferenceType_init(&instance);
1303 0 if(result != GLOBUS_SUCCESS)
1304 {
1305 0 result = GlobusSoapMessageErrorDeserializeFailed(
1306 result, element_qname);
1307 0 goto exit;
1308 }
1309
1310
1311 0 result = xsd_anyAttributes_init(&instance->anyAttributes);
1312 0 if(result != GLOBUS_SUCCESS)
1313 {
1314 0 result = GlobusSoapMessageErrorDeserializeFailed(
1315 result, element_qname);
1316 0 goto xsd_anyAttributes_after_destroy;
1317 }
1318 0 subelement.Namespace = "##any";
1319 0 subelement.local = "anyAttributes";
1320
1321 0 result = xsd_anyAttributes_deserialize(
1322 message_handle,
1323 instance->anyAttributes,
1324 &subelement);
1325 0 if(result != GLOBUS_SUCCESS)
1326 {
1327 0 result = GlobusSoapMessageErrorDeserializeFailed(
1328 result, element_qname);
1329 0 goto xsd_anyAttributes_destroy;
1330 }
1331
1332 0 if(instance->anyAttributes &&
1333 xsd_anyAttributes_size(instance->anyAttributes) > 0)
1334 {
1335 0 found_attrs++;
1336 }
1337
1338 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
1339 0 subelement.local = "Usage";
1340
1341 0 result = wsse_tUsage_deserialize_attribute_pointer(
1342 &subelement,
1343 &instance->_Usage,
1344 message_handle,
1345 0);
1346 0 if(result != GLOBUS_SUCCESS)
1347 {
1348 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1349 0 goto _Usage_destroy;
1350 }
1351
1352
1353 0 if(instance->_Usage)
1354 {
1355 0 found_attrs++;
1356 }
1357
1358 0 subelement.Namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
1359 0 subelement.local = "Id";
1360
1361 0 result = xsd_ID_deserialize_attribute_pointer(
1362 &subelement,
1363 &instance->_Id,
1364 message_handle,
1365 0);
1366 0 if(result != GLOBUS_SUCCESS)
1367 {
1368 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1369 0 goto _Id_destroy;
1370 }
1371
1372
1373 0 if(instance->_Id)
1374 {
1375 0 found_attrs++;
1376 }
1377
1378 0 if(found_attrs == 0 &&
1379 globus_soap_message_deserialize_element_is_nil(message_handle))
1380 {
1381 0 wsse_SecurityTokenReferenceType_destroy(instance);
1382
1383 0 result = globus_soap_message_deserialize_element_end(
1384 message_handle,
1385 element_qname);
1386 0 if(result != GLOBUS_SUCCESS)
1387 {
1388 0 result = GlobusSoapMessageErrorDeserializeFailed(
1389 result, element_qname);
1390 0 goto exit;
1391 }
1392
1393 0 *ip = NULL;
1394 0 globus_object_free(globus_error_get(result));
1395 0 result = GLOBUS_SUCCESS;
1396 0 goto exit;
1397 }
1398
1399 0 if(empty_element)
1400 {
1401 0 result = globus_soap_message_deserialize_element_end(
1402 message_handle,
1403 element_qname);
1404 0 if(result != GLOBUS_SUCCESS)
1405 {
1406 0 result = GlobusSoapMessageErrorDeserializeFailed(
1407 result, element_qname);
1408 0 goto fail_deserialize;
1409 }
1410
1411 0 *ip = instance;
1412 0 goto exit;
1413 }
1414
1415 0 result = globus_soap_message_deserialize_element_begin_close(
1416 message_handle);
1417 0 if(result != GLOBUS_SUCCESS)
1418 {
1419 0 result = GlobusSoapMessageErrorDeserializeFailed(
1420 result, element_qname);
1421 0 goto exit;
1422 }
1423
1424 0 result = wsse_SecurityTokenReferenceType_deserialize(
1425 element_qname,
1426 instance,
1427 message_handle,
1428 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
1429 0 if(result != GLOBUS_SUCCESS)
1430 {
1431 0 result = GlobusSoapMessageErrorDeserializeFailed(
1432 result, element_qname);
1433 0 goto exit;
1434 }
1435
1436 0 result = globus_soap_message_deserialize_element_end(
1437 message_handle,
1438 element_qname);
1439 0 if(result != GLOBUS_SUCCESS)
1440 {
1441 0 result = GlobusSoapMessageErrorDeserializeFailed(
1442 result, element_qname);
1443 0 goto fail_deserialize;
1444 }
1445
1446 0 *ip = instance;
1447
1448 0 goto exit;
1449
1450 0 fail_deserialize:
1451
1452 0 xsd_anyAttributes_destroy:
1453 0 xsd_anyAttributes_destroy(instance->anyAttributes);
1454 0 instance->anyAttributes = NULL;
1455 0 xsd_anyAttributes_after_destroy:
1456
1457 0 _Usage_destroy:
1458 /* output_fail_destroy_attribute() */
1459
1460 0 if(instance->_Usage)
1461 {
1462 0 wsse_tUsage_destroy(
1463 instance->_Usage);
1464 0 instance->_Usage = NULL;
1465 }
1466
1467 0 _Id_destroy:
1468 /* output_fail_destroy_attribute() */
1469
1470 0 if(instance->_Id)
1471 {
1472 0 xsd_ID_destroy(
1473 instance->_Id);
1474 0 instance->_Id = NULL;
1475 }
1476 0 xsd_any_destroy_contents(
1477 &instance->any);
1478
1479 0 any_destroy:
1480
1481 0 exit:
1482
1483 0 GlobusSoapMessageDebugExit();
1484 0 return result;
1485 }
1486
1487
1488 globus_result_t
1489 wsse_SecurityTokenReferenceType_array_init_contents(
1490 wsse_SecurityTokenReferenceType_array * array)
1491 0 {
1492 0 return globus_xsd_generic_array_init_contents(
1493 (globus_xsd_generic_array_t *) array,
1494 &wsse_SecurityTokenReferenceType_info);
1495 }
1496 /* wsse_SecurityTokenReferenceType_array_init_contents() */
1497
1498 globus_result_t
1499 wsse_SecurityTokenReferenceType_array_init(
1500 wsse_SecurityTokenReferenceType_array ** arr)
1501 0 {
1502 0 return globus_xsd_generic_array_init(
1503 (globus_xsd_generic_array_t **) arr,
1504 &wsse_SecurityTokenReferenceType_info);
1505 }
1506 /* wsse_SecurityTokenReferenceType_array_init() */
1507
1508 void
1509 wsse_SecurityTokenReferenceType_array_destroy_contents(
1510 wsse_SecurityTokenReferenceType_array * array)
1511 0 {
1512 0 globus_xsd_generic_array_destroy_contents(
1513 (globus_xsd_generic_array_t *) array);
1514 0 }
1515 /* wsse_SecurityTokenReferenceType_array_destroy_contents() */
1516
1517 void
1518 wsse_SecurityTokenReferenceType_array_destroy(
1519 wsse_SecurityTokenReferenceType_array * array)
1520 0 {
1521 0 globus_xsd_generic_array_destroy(
1522 (globus_xsd_generic_array_t *) array);
1523 0 }
1524 /* wsse_SecurityTokenReferenceType_array_destroy() */
1525
1526 globus_result_t
1527 wsse_SecurityTokenReferenceType_array_copy(
1528 wsse_SecurityTokenReferenceType_array ** dest_arr,
1529 const wsse_SecurityTokenReferenceType_array * src_arr)
1530 0 {
1531 0 return globus_xsd_generic_array_copy(
1532 (globus_xsd_generic_array_t **) dest_arr,
1533 (globus_xsd_generic_array_t *) src_arr);
1534 }
1535 /* wsse_SecurityTokenReferenceType_array_copy() */
1536
1537 globus_result_t
1538 wsse_SecurityTokenReferenceType_array_copy_contents(
1539 wsse_SecurityTokenReferenceType_array * dest_arr,
1540 const wsse_SecurityTokenReferenceType_array * src_arr)
1541 0 {
1542 0 return globus_xsd_generic_array_copy_contents(
1543 (globus_xsd_generic_array_t *) dest_arr,
1544 (globus_xsd_generic_array_t *) src_arr);
1545 }
1546 /* wsse_SecurityTokenReferenceType_array_copy_contents() */
1547
1548 wsse_SecurityTokenReferenceType *
1549 wsse_SecurityTokenReferenceType_array_push(
1550 wsse_SecurityTokenReferenceType_array * array)
1551 0 {
1552 /* Some contents initializers don't initialize subelments but to set their
1553 * values to be NULL
1554 */
1555 0 if (array->type_info == NULL)
1556 {
1557 0 array->type_info = &wsse_SecurityTokenReferenceType_info;
1558 }
1559
1560 0 return globus_xsd_generic_array_push(
1561 (globus_xsd_generic_array_t *) array);
1562 }
1563 /* wsse_SecurityTokenReferenceType_array_push() */
1564
1565 globus_result_t
1566 wsse_SecurityTokenReferenceType_array_serialize(
1567 const xsd_QName * element_qname,
1568 const wsse_SecurityTokenReferenceType_array * array,
1569 globus_soap_message_handle_t message,
1570 globus_xsd_element_options_t options)
1571 0 {
1572 0 return globus_xsd_generic_array_serialize(
1573 element_qname,
1574 (const globus_xsd_generic_array_t *) array,
1575 message,
1576 options);
1577 }
1578 /* wsse_SecurityTokenReferenceType_array_serialize() */
1579
1580 globus_result_t
1581 wsse_SecurityTokenReferenceType_array_deserialize(
1582 const xsd_QName * element_qname,
1583 wsse_SecurityTokenReferenceType_array * array,
1584 globus_soap_message_handle_t message,
1585 globus_xsd_element_options_t options)
1586 0 {
1587 /* Some initializers set the array's contents to NULL */
1588 0 if (array->type_info == NULL)
1589 {
1590 0 array->type_info = &wsse_SecurityTokenReferenceType_info;
1591 }
1592 0 return globus_xsd_generic_array_deserialize(
1593 element_qname,
1594 (globus_xsd_generic_array_t *) array,
1595 message,
1596 options);