1 /*
2 * Portions of this file Copyright 1999-2005 University of Chicago
3 * Portions of this file Copyright 1999-2005 The University of Southern California.
4 *
5 * This file or a portion of this file is licensed under the
6 * terms of the Globus Toolkit Public License, found at
7 * http://www.globus.org/toolkit/download/license.html.
8 * If you redistribute this file, with or without
9 * modifications, you must include this notice in the file.
10 */
11
12
13 /*
14 * This file is automatically generated by the Globus WSDLtoC converter
15 */
16
17 #include "xsd_QName.h"
18 #include "globus_soap_message.h"
19 #include "globus_xsd_type_info.h"
20 #include "rptest_FaultType.h"
21
22 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL
23 xsd_QName rptest_FaultType_qname =
24 {
25 RPTEST_FAULTTYPE_NS,
26 RPTEST_FAULTTYPE_LOCAL
27 };
28 #endif /* GLOBUS_DONT_DOCUMENT_INTERNAL */
29
30 globus_result_t
31 rptest_FaultType_serialize_wrapper(
32 xsd_QName * element_qname,
33 void * instance,
34 globus_soap_message_handle_t message_handle,
35 globus_xsd_element_options_t options)
36 0 {
37 0 return rptest_FaultType_serialize(
38 element_qname,
39 (rptest_FaultType *) instance,
40 message_handle, options);
41 }
42
43 globus_result_t
44 rptest_FaultType_deserialize_pointer_wrapper(
45 xsd_QName * element_qname,
46 void ** ip,
47 globus_soap_message_handle_t message_handle,
48 globus_xsd_element_options_t options)
49 0 {
50 0 return rptest_FaultType_deserialize_pointer(
51 element_qname,
52 (rptest_FaultType **) ip,
53 message_handle, options);
54 }
55
56 globus_result_t
57 rptest_FaultType_init_wrapper(void **object)
58 0 {
59 0 return rptest_FaultType_init(
60 (rptest_FaultType **) object);
61 }
62
63 void
64 rptest_FaultType_destroy_wrapper(
65 void * object)
66 0 {
67 0 rptest_FaultType_destroy(
68 (rptest_FaultType *) object);
69 }
70
71 globus_result_t
72 rptest_FaultType_copy_wrapper(
73 void ** dest_obj,
74 void * src_obj)
75 0 {
76 0 return rptest_FaultType_copy(
77 (rptest_FaultType **) dest_obj,
78 (rptest_FaultType *) src_obj);
79 }
80
81 globus_result_t
82 rptest_FaultType_init_contents_wrapper(void *object)
83 0 {
84 0 return rptest_FaultType_init_contents(
85 (rptest_FaultType *) object);
86 }
87
88 void
89 rptest_FaultType_destroy_contents_wrapper(
90 void * object)
91 0 {
92 0 rptest_FaultType_destroy_contents(
93 (rptest_FaultType *) object);
94 }
95
96 globus_result_t
97 rptest_FaultType_copy_contents_wrapper(
98 void * dest_obj,
99 void * src_obj)
100 0 {
101 0 return rptest_FaultType_copy_contents(
102 (rptest_FaultType *) dest_obj,
103 (rptest_FaultType *) src_obj);
104 }
105
106 globus_result_t
107 rptest_FaultType_serialize_contents_wrapper(
108 xsd_QName * element_qname,
109 void * instance,
110 globus_soap_message_handle_t message_handle,
111 globus_xsd_element_options_t options)
112 0 {
113 0 return rptest_FaultType_serialize_contents(
114 element_qname,
115 (rptest_FaultType *) instance,
116 message_handle, options);
117 }
118
119 globus_result_t
120 rptest_FaultType_deserialize_contents_wrapper(
121 xsd_QName * element_qname,
122 void ** instance,
123 globus_soap_message_handle_t message_handle,
124 globus_xsd_element_options_t options)
125 0 {
126 globus_result_t result;
127 GlobusFuncName(rptest_FaultType_deserialize_contents_wrapper);
128 0 GlobusSoapMessageDebugEnter();
129
130 0 if(!*instance)
131 {
132 0 result = rptest_FaultType_init(
133 (rptest_FaultType **)instance);
134 0 if(result != GLOBUS_SUCCESS)
135 {
136 0 goto error;
137 }
138 }
139
140 0 result = rptest_FaultType_deserialize_contents(
141 element_qname,
142 *(rptest_FaultType **)instance,
143 message_handle, options);
144 0 error:
145 0 GlobusSoapMessageDebugExit();
146 0 return result;
147 }
148
149 globus_result_t
150 rptest_FaultType_array_serialize_wrapper(
151 xsd_QName * element,
152 void * instance,
153 globus_soap_message_handle_t message,
154 globus_xsd_element_options_t options)
155 0 {
156 0 return rptest_FaultType_array_serialize(
157 element,
158 (rptest_FaultType_array *) instance,
159 message, options);
160 }
161
162 globus_result_t
163 rptest_FaultType_array_deserialize_wrapper(
164 xsd_QName * element_qname,
165 void ** inst,
166 globus_soap_message_handle_t message,
167 globus_xsd_element_options_t options)
168 0 {
169 0 if(!*inst)
170 {
171 globus_result_t result;
172
173 0 result = rptest_FaultType_array_init(
174 (rptest_FaultType_array **)inst);
175 0 if(result != GLOBUS_SUCCESS)
176 {
177 0 return result;
178 }
179 }
180
181 0 return rptest_FaultType_array_deserialize(
182 element_qname,
183 *(rptest_FaultType_array **) inst,
184 message, options);
185 }
186
187 globus_result_t
188 rptest_FaultType_array_init_wrapper(
189 void ** arr)
190 0 {
191 0 return rptest_FaultType_array_init(
192 (rptest_FaultType_array **) arr);
193 }
194
195 void
196 rptest_FaultType_array_destroy_wrapper(
197 void * arr)
198 0 {
199 0 rptest_FaultType_array_destroy(
200 (rptest_FaultType_array *) arr);
201 }
202
203 globus_result_t
204 rptest_FaultType_array_copy_wrapper(
205 void ** dest_arr,
206 void * src_arr)
207 0 {
208 0 return rptest_FaultType_array_copy(
209 (rptest_FaultType_array **) dest_arr,
210 (rptest_FaultType_array *) src_arr);
211 }
212
213 globus_result_t
214 rptest_FaultType_array_init_contents_wrapper(
215 void * arr)
216 0 {
217 0 return rptest_FaultType_array_init_contents(
218 (rptest_FaultType_array *) arr);
219 }
220
221 void
222 rptest_FaultType_array_destroy_contents_wrapper(
223 void * arr)
224 0 {
225 0 rptest_FaultType_array_destroy_contents(
226 (rptest_FaultType_array *) arr);
227 }
228
229 globus_result_t
230 rptest_FaultType_array_copy_contents_wrapper(
231 void * dest_arr,
232 void * src_arr)
233 0 {
234 0 return rptest_FaultType_array_copy_contents(
235 (rptest_FaultType_array *) dest_arr,
236 (rptest_FaultType_array *) src_arr);
237 }
238
239 struct globus_xsd_type_info_s rptest_FaultType_contents_info =
240 {
241 &rptest_FaultType_qname,
242 rptest_FaultType_serialize_contents_wrapper,
243 rptest_FaultType_deserialize_contents_wrapper,
244 rptest_FaultType_init_wrapper,
245 rptest_FaultType_destroy_wrapper,
246 rptest_FaultType_copy_wrapper,
247 rptest_FaultType_init_contents_wrapper,
248 rptest_FaultType_destroy_contents_wrapper,
249 rptest_FaultType_copy_contents_wrapper,
250 sizeof(rptest_FaultType),
251 NULL,
252 NULL,
253 NULL
254 };
255
256 struct globus_xsd_type_info_s rptest_FaultType_array_info =
257 {
258 &rptest_FaultType_qname,
259 rptest_FaultType_array_serialize_wrapper,
260 rptest_FaultType_array_deserialize_wrapper,
261 rptest_FaultType_array_init_wrapper,
262 rptest_FaultType_array_destroy_wrapper,
263 rptest_FaultType_array_copy_wrapper,
264 rptest_FaultType_array_init_contents_wrapper,
265 rptest_FaultType_array_destroy_contents_wrapper,
266 rptest_FaultType_array_copy_contents_wrapper,
267 sizeof(rptest_FaultType),
268 rptest_FaultType_array_push_wrapper,
269 NULL,
270 NULL
271 };
272
273 struct globus_xsd_type_info_s rptest_FaultType_info =
274 {
275 &rptest_FaultType_qname,
276 rptest_FaultType_serialize_wrapper,
277 rptest_FaultType_deserialize_pointer_wrapper,
278 rptest_FaultType_init_wrapper,
279 rptest_FaultType_destroy_wrapper,
280 rptest_FaultType_copy_wrapper,
281 rptest_FaultType_init_contents_wrapper,
282 rptest_FaultType_destroy_contents_wrapper,
283 rptest_FaultType_copy_contents_wrapper,
284 sizeof(rptest_FaultType),
285 NULL,
286 &rptest_FaultType_contents_info,
287 &rptest_FaultType_array_info
288 };
289
290 globus_result_t
291 rptest_FaultType_init_contents(
292 rptest_FaultType * instance)
293 0 {
294 0 globus_result_t result = GLOBUS_SUCCESS;
295 GlobusFuncName(rptest_FaultType_init_contents);
296 0 GlobusSoapMessageDebugEnter();
297
298 0 memset(instance, 0, sizeof(rptest_FaultType));
299
300 0 GlobusSoapMessageDebugExit();
301 0 return result;
302 }
303
304 globus_result_t
305 rptest_FaultType_init(
306 rptest_FaultType ** object)
307 0 {
308 rptest_FaultType * instance;
309 0 globus_result_t result = GLOBUS_SUCCESS;
310 GlobusFuncName(rptest_FaultType_init);
311 0 GlobusSoapMessageDebugEnter();
312
313 0 instance = globus_malloc(sizeof(rptest_FaultType));
314 0 if(!instance)
315 {
316 0 result = GlobusSoapMessageErrorOutOfMemory;
317 0 goto exit;
318 }
319
320 0 memset(instance, 0, sizeof(rptest_FaultType));
321
322 0 *object = instance;
323
324 0 exit:
325 0 GlobusSoapMessageDebugExit();
326 0 return result;
327 }
328
329 void
330 rptest_FaultType_destroy(
331 rptest_FaultType * instance)
332 0 {
333 GlobusFuncName(rptest_FaultType_destroy);
334 0 GlobusSoapMessageDebugEnter();
335
336 0 if(!instance)
337 {
338 0 goto exit;
339 }
340
341 0 rptest_FaultType_destroy_contents(instance);
342 0 globus_free(instance);
343
344 0 exit:
345
346 0 GlobusSoapMessageDebugExit();
347 }
348
349 void
350 rptest_FaultType_destroy_contents(
351 rptest_FaultType * instance)
352 64 {
353 GlobusFuncName(rptest_FaultType_destroy_contents);
354 64 GlobusSoapMessageDebugEnter();
355
356 64 if(instance)
357 {
358
359
360 64 xsd_QName_destroy_contents(
361 &instance->_Type);
362
363 }
364
365 64 GlobusSoapMessageDebugExit();
366 }
367
368 globus_result_t
369 rptest_FaultType_copy(
370 rptest_FaultType ** dest_obj,
371 const rptest_FaultType * src_obj)
372 0 {
373 0 globus_result_t result = GLOBUS_SUCCESS;
374 rptest_FaultType * instance;
375 GlobusFuncName(rptest_FaultType_copy);
376
377 0 GlobusSoapMessageDebugEnter();
378
379 0 instance = malloc(sizeof(rptest_FaultType));
380 0 if (instance == NULL)
381 {
382 0 GlobusSoapMessageDebugExit();
383 0 return GlobusSoapMessageErrorOutOfMemory;
384 }
385
386 0 result = rptest_FaultType_copy_contents(instance, src_obj);
387 0 if(result != GLOBUS_SUCCESS)
388 {
389 0 globus_free(instance);
390 0 GlobusSoapMessageDebugExit();
391 0 return GlobusSoapMessageErrorOutOfMemory;
392 }
393
394 0 *dest_obj = instance;
395 0 GlobusSoapMessageDebugExit();
396 0 return result;
397 }
398
399 globus_result_t
400 rptest_FaultType_copy_contents(
401 rptest_FaultType * instance,
402 const rptest_FaultType * src_obj)
403 0 {
404 0 globus_result_t result = GLOBUS_SUCCESS;
405 GlobusFuncName(rptest_FaultType_copy_contents);
406
407 0 GlobusSoapMessageDebugEnter();
408
409
410 0 result = xsd_QName_copy_contents(
411 &instance->_Type,
412 &src_obj->_Type);
413 0 if(result != GLOBUS_SUCCESS)
414 {
415 0 result = GlobusSoapMessageErrorCopyFailed(
416 result, NULL, &xsd_QName_qname);
417 goto _Type_destroy;
418 }
419
420 goto exit;
421
422 0 fail_deserialize:
423
424 0 _Type_destroy:
425
426 0 xsd_QName_destroy_contents(
427 &instance->_Type);
428
429
430 0 exit:
431
432 0 GlobusSoapMessageDebugExit();
433 0 return result;
434 }
435
436
437
438 globus_result_t
439 rptest_FaultType_serialize_contents(
440 xsd_QName * element_qname, /* ignored */
441 rptest_FaultType * inst,
442 globus_soap_message_handle_t message_handle,
443 globus_xsd_element_options_t options)
444 0 {
445 0 globus_result_t result = GLOBUS_SUCCESS;
446 GlobusFuncName(rptest_FaultType_serialize_contents);
447 0 GlobusSoapMessageDebugEnter();
448
449 0 result = rptest_FaultType_serialize(
450 NULL,
451 inst,
452 message_handle,
453 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
454 0 if(result != GLOBUS_SUCCESS)
455 {
456 0 result = GlobusSoapMessageErrorSerializeFailed(
457 result, NULL, element_qname);
458 goto exit;
459 }
460
461 0 exit:
462
463 0 GlobusSoapMessageDebugExit();
464 0 return result;
465 }
466
467
468
469 globus_result_t
470 rptest_FaultType_serialize(
471 xsd_QName * element_qname,
472 rptest_FaultType * instance,
473 globus_soap_message_handle_t message_handle,
474 globus_xsd_element_options_t options)
475 0 {
476 0 globus_result_t result = GLOBUS_SUCCESS;
477 xsd_QName subelement;
478 0 globus_list_t * any_attr_keys = NULL;
479 0 globus_list_t * any_attr_keys_iterator = NULL;
480 0 xsd_QName * type_attr = NULL;
481 0 char * prefix = NULL;
482 int prefix_created;
483 0 int define_prefix = 0;
484 0 int save_options = options;
485
486 GlobusFuncName(rptest_FaultType_serialize);
487 0 GlobusSoapMessageDebugEnter();
488
489
490 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
491 {
492 /* serialize rptest_FaultType element */
493
494 0 result = globus_soap_message_invoke_ns_callouts(
495 message_handle,
496 element_qname,
497 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_SET,
498 &options);
499 0 if(result != GLOBUS_SUCCESS)
500 {
501 0 result = GlobusSoapMessageErrorSerializeFailed(
502 result, NULL, element_qname);
503 0 goto exit;
504 }
505
506 0 result = globus_soap_message_element_ns_set(
507 message_handle,
508 element_qname->Namespace,
509 &options);
510 0 if(result != GLOBUS_SUCCESS)
511 {
512 0 result = GlobusSoapMessageErrorSerializeFailed(
513 result, NULL, element_qname);
514 0 goto exit;
515 }
516
517 0 result = globus_soap_message_attribute_ns_set(
518 message_handle,
519 NULL,
520 &options);
521
522 0 if(result != GLOBUS_SUCCESS)
523 {
524 xsd_QName error_qname;
525 0 error_qname.local = prefix;
526 0 error_qname.Namespace = "";
527 0 result = GlobusSoapMessageErrorSerializeFailed(result,
528 NULL,
529 &error_qname);
530 0 goto exit;
531 }
532
533
534 0 result = globus_soap_message_attribute_ns_set(
535 message_handle,
536 instance->_Type.Namespace,
537 &options);
538 0 if(result != GLOBUS_SUCCESS)
539 {
540 xsd_QName error_qname;
541 0 error_qname.local = prefix;
542 0 error_qname.Namespace = "";
543 0 result = GlobusSoapMessageErrorSerializeFailed(result,
544 NULL,
545 &error_qname);
546 0 goto exit;
547 }
548
549 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
550 !globus_soap_message_serialize_is_c14n_subset(message_handle))
551 {
552 0 result = globus_soap_message_attribute_ns_set(
553 message_handle,
554 "http://www.w3.org/2001/XMLSchema-instance",
555 &options);
556 0 if(result != GLOBUS_SUCCESS)
557 {
558 0 result = GlobusSoapMessageErrorSerializeFailed(
559 result, NULL, element_qname);
560 0 goto exit;
561 }
562
563 0 result = globus_soap_message_attribute_ns_set(
564 message_handle,
565 rptest_FaultType_qname.Namespace,
566 &options);
567 0 if(result != GLOBUS_SUCCESS)
568 {
569 0 result = GlobusSoapMessageErrorSerializeFailed(
570 result, NULL, element_qname);
571 0 goto exit;
572 }
573 }
574
575 0 result = globus_soap_message_invoke_callouts(
576 message_handle,
577 element_qname,
578 GLOBUS_SOAP_MESSAGE_CALLOUT_BEGIN);
579 0 if(result != GLOBUS_SUCCESS)
580 {
581 0 result = GlobusSoapMessageErrorSerializeFailed(
582 result, NULL, element_qname);
583 0 goto exit;
584 }
585
586 0 result = globus_soap_message_serialize_element(
587 message_handle,
588 element_qname,
589 options,
590 &rptest_FaultType_qname);
591 0 if(result != GLOBUS_SUCCESS)
592 {
593 0 result = GlobusSoapMessageErrorSerializeFailed(
594 result, NULL, element_qname);
595 0 goto exit;
596 }
597
598 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
599 !globus_soap_message_serialize_is_c14n_subset(message_handle))
600 {
601 0 xsd_QName_init(&type_attr);
602
603 0 type_attr->local = globus_libc_strdup("type");
604 0 type_attr->Namespace = globus_libc_strdup(XSI_NS);
605 }
606
607 /* serialize namespaces */
608
609 0 result = globus_soap_message_invoke_ns_callouts(
610 message_handle,
611 element_qname,
612 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_ADD,
613 &options);
614 0 if(result != GLOBUS_SUCCESS)
615 {
616 0 result = GlobusSoapMessageErrorSerializeFailed(
617 result, NULL, element_qname);
618 0 goto exit;
619 }
620
621 0 result = globus_soap_message_element_ns_add(
622 message_handle,
623 element_qname->Namespace,
624 &options);
625 0 if(result != GLOBUS_SUCCESS)
626 {
627 0 result = GlobusSoapMessageErrorSerializeFailed(
628 result, NULL, element_qname);
629 0 goto exit;
630 }
631
632 0 result = globus_soap_message_attribute_ns_add(
633 message_handle,
634 NULL,
635 &options);
636
637 0 if(result != GLOBUS_SUCCESS)
638 {
639 xsd_QName error_qname;
640 0 error_qname.local = prefix;
641 0 error_qname.Namespace = "";
642 0 result = GlobusSoapMessageErrorSerializeFailed(result,
643 NULL,
644 &error_qname);
645 0 goto exit;
646 }
647
648
649 0 result = globus_soap_message_attribute_ns_add(
650 message_handle,
651 instance->_Type.Namespace,
652 &options);
653 0 if(result != GLOBUS_SUCCESS)
654 {
655 xsd_QName error_qname;
656 0 error_qname.local = prefix;
657 0 error_qname.Namespace = "";
658 0 result = GlobusSoapMessageErrorSerializeFailed(result,
659 NULL,
660 &error_qname);
661 0 goto exit;
662 }
663
664 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
665 !globus_soap_message_serialize_is_c14n_subset(message_handle))
666 {
667 0 result = globus_soap_message_attribute_ns_add(
668 message_handle,
669 "http://www.w3.org/2001/XMLSchema-instance",
670 &options);
671 0 if(result != GLOBUS_SUCCESS)
672 {
673 0 result = GlobusSoapMessageErrorSerializeFailed(
674 result, NULL, element_qname);
675 0 goto exit;
676 }
677
678 0 result = globus_soap_message_attribute_ns_add(
679 message_handle,
680 rptest_FaultType_qname.Namespace,
681 &options);
682 0 if(result != GLOBUS_SUCCESS)
683 {
684 0 result = GlobusSoapMessageErrorSerializeFailed(
685 result, NULL, element_qname);
686 0 goto exit;
687 }
688 }
689
690 /* serialize attributes */
691
692 0 subelement.Namespace = "";
693 0 subelement.local = "Type";
694
695 0 result = xsd_QName_serialize_attribute(
696 &subelement,
697 &instance->_Type,
698 message_handle,
699 options & (~GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS));
700 0 if(result != GLOBUS_SUCCESS)
701 {
702 0 result = GlobusSoapMessageErrorSerializeFailed(result,
703 NULL,
704 element_qname);
705 0 goto exit;
706 }
707
708 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
709 !globus_soap_message_serialize_is_c14n_subset(message_handle))
710 {
711 0 result = globus_soap_message_serialize_QName_attribute(
712 message_handle,
713 type_attr,
714 &rptest_FaultType_qname);
715 0 if(result != GLOBUS_SUCCESS)
716 {
717 0 result = GlobusSoapMessageErrorSerializeFailed(
718 result, NULL, element_qname);
719 0 goto exit;
720 }
721 }
722
723
724 0 result = globus_soap_message_invoke_callouts(
725 message_handle,
726 element_qname,
727 GLOBUS_SOAP_MESSAGE_CALLOUT_ATTR);
728 0 if(result != GLOBUS_SUCCESS)
729 {
730 0 result = GlobusSoapMessageErrorSerializeFailed(
731 result, NULL, element_qname);
732 0 goto exit;
733 }
734 }
735
736 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
737 {
738 0 result = globus_soap_message_serialize_element_begin_close(
739 message_handle);
740 0 if(result != GLOBUS_SUCCESS)
741 {
742 0 result = GlobusSoapMessageErrorSerializeFailed(
743 result, NULL, element_qname);
744 0 goto exit;
745 }
746 }
747 0 options &= ~GLOBUS_XSD_ELEMENT_CONTENTS_ONLY;
748
749 /* serialize contents of type */
750
751 0 options = save_options;
752
753 0 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
754 {
755 /* add end element */
756 0 result = globus_soap_message_serialize_element_end(
757 message_handle,
758 element_qname,
759 options,
760 &rptest_FaultType_qname);
761 0 if(result != GLOBUS_SUCCESS)
762 {
763 0 result = GlobusSoapMessageErrorSerializeFailed(
764 result, NULL, element_qname);
765 0 goto exit;
766 }
767
768 0 globus_soap_message_element_ns_remove(
769 message_handle,
770 element_qname->Namespace,
771 &options);
772
773 /* remove namespace/prefix mappings for these types */
774
775 0 globus_soap_message_attribute_ns_remove(
776 message_handle,
777 NULL,
778 &options);
779
780 0 globus_soap_message_attribute_ns_remove(
781 message_handle,
782 instance->_Type.Namespace,
783 &options);
784
785 0 if((options & GLOBUS_XSD_ELEMENT_TYPE_ATTR) &&
786 !globus_soap_message_serialize_is_c14n_subset(message_handle))
787 {
788 0 globus_soap_message_attribute_ns_remove(
789 message_handle,
790 "http://www.w3.org/2001/XMLSchema-instance",
791 &options);
792
793 0 globus_soap_message_attribute_ns_remove(
794 message_handle,
795 rptest_FaultType_qname.Namespace,
796 &options);
797 }
798
799 0 result = globus_soap_message_invoke_ns_callouts(
800 message_handle,
801 element_qname,
802 GLOBUS_SOAP_MESSAGE_CALLOUT_NS_REMOVE,
803 &options);
804 0 if(result != GLOBUS_SUCCESS)
805 {
806 0 result = GlobusSoapMessageErrorSerializeFailed(
807 result, NULL, element_qname);
808 0 goto exit;
809 }
810
811 0 result = globus_soap_message_invoke_callouts(
812 message_handle,
813 element_qname,
814 GLOBUS_SOAP_MESSAGE_CALLOUT_END);
815 0 if(result != GLOBUS_SUCCESS)
816 {
817 0 result = GlobusSoapMessageErrorSerializeFailed(
818 result, NULL, element_qname);
819 goto exit;
820 }
821 }
822
823 0 exit:
824 0 if (type_attr)
825 {
826 0 xsd_QName_destroy(type_attr);
827 }
828
829 0 if(any_attr_keys)
830 {
831 0 globus_list_free(any_attr_keys);
832 }
833
834 0 GlobusSoapMessageDebugExit();
835 0 return result;
836 }
837
838
839
840 globus_result_t
841 rptest_FaultType_deserialize_contents(
842 xsd_QName * element_qname, /* ignored */
843 rptest_FaultType * inst,
844 globus_soap_message_handle_t message_handle,
845 globus_xsd_element_options_t options)
846 0 {
847 0 globus_result_t result = GLOBUS_SUCCESS;
848 GlobusFuncName(rptest_FaultType_deserialize_contents);
849 0 GlobusSoapMessageDebugEnter();
850
851 0 result = rptest_FaultType_deserialize(
852 NULL,
853 inst,
854 message_handle,
855 options | GLOBUS_XSD_ELEMENT_CONTENTS_ONLY);
856 0 if(result != GLOBUS_SUCCESS)
857 {
858 0 result = GlobusSoapMessageErrorDeserializeFailed(
859 result, element_qname);
860 goto exit;
861 }
862
863 0 exit:
864
865 0 GlobusSoapMessageDebugExit();
866 0 return result;
867 }
868
869
870
871 globus_result_t
872 rptest_FaultType_deserialize(
873 xsd_QName * element_qname,
874 rptest_FaultType * instance,
875 globus_soap_message_handle_t message_handle,
876 globus_xsd_element_options_t options)
877 64 {
878 64 globus_result_t result = GLOBUS_SUCCESS;
879 xsd_QName subelement;
880 GlobusFuncName(rptest_FaultType_deserialize);
881 64 GlobusSoapMessageDebugEnter();
882
883
884 64 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
885 {
886 64 result = globus_soap_message_deserialize_element(
887 message_handle, element_qname);
888 64 if(result != GLOBUS_SUCCESS)
889 {
890 0 result = GlobusSoapMessageErrorDeserializeFailed(
891 result, element_qname);
892 0 goto exit;
893 }
894
895 64 subelement.Namespace = "";
896 64 subelement.local = "Type";
897
898 64 result = xsd_QName_deserialize_attribute(
899 &subelement,
900 &instance->_Type,
901 message_handle,
902 0);
903 64 if(result != GLOBUS_SUCCESS)
904 {
905 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
906 0 goto _Type_destroy;
907 }
908
909
910 64 result = globus_soap_message_deserialize_element_begin_close(
911 message_handle);
912 64 if(result != GLOBUS_SUCCESS)
913 {
914 0 result = GlobusSoapMessageErrorDeserializeFailed(
915 result, element_qname);
916 0 goto fail_deserialize;
917 }
918 }
919
920 64 if(!(options & GLOBUS_XSD_ELEMENT_CONTENTS_ONLY))
921 {
922 64 result = globus_soap_message_deserialize_element_end(
923 message_handle,
924 element_qname);
925 64 if(result != GLOBUS_SUCCESS)
926 {
927 0 result = GlobusSoapMessageErrorDeserializeFailed(
928 result, element_qname);
929 goto fail_deserialize;
930 }
931 }
932
933 goto exit;
934
935 0 fail_deserialize:
936
937 0 _Type_destroy:
938
939 0 xsd_QName_destroy_contents(
940 &instance->_Type);
941
942
943 64 exit:
944
945 64 GlobusSoapMessageDebugExit();
946 64 return result;
947 }
948
949
950
951 globus_result_t
952 rptest_FaultType_deserialize_pointer(
953 xsd_QName * element_qname,
954 rptest_FaultType ** ip,
955 globus_soap_message_handle_t message_handle,
956 globus_xsd_element_options_t options)
957 0 {
958 0 rptest_FaultType * instance = NULL;
959 0 globus_result_t result = GLOBUS_SUCCESS;
960 xsd_QName subelement;
961 0 int found_attrs = 0;
962 0 int empty_element = 0;
963 GlobusFuncName(rptest_FaultType_deserialize_pointer);
964 0 GlobusSoapMessageDebugEnter();
965
966 0 *ip = NULL;
967
968 0 result = globus_soap_message_deserialize_element(
969 message_handle, element_qname);
970 0 if(result != GLOBUS_SUCCESS &&
971 (GlobusSoapMessageStatusElementNotFoundCheck(result) ||
972 GlobusSoapMessageStatusFailedElementCheck(result) ||
973 GlobusSoapMessageStatusFailedWithTextCheck(result)))
974 {
975 0 *ip = NULL;
976 0 result = GLOBUS_SUCCESS;
977 0 goto exit;
978 }
979
980 0 if(result != GLOBUS_SUCCESS)
981 {
982 0 result = GlobusSoapMessageErrorDeserializeFailed(
983 result, element_qname);
984 0 goto exit;
985 }
986
987 0 if(globus_soap_message_deserialize_element_is_empty(
988 message_handle))
989 {
990 0 empty_element = 1;
991 }
992
993
994
995 0 result = rptest_FaultType_init(&instance);
996 0 if(result != GLOBUS_SUCCESS)
997 {
998 0 result = GlobusSoapMessageErrorDeserializeFailed(
999 result, element_qname);
1000 0 goto exit;
1001 }
1002
1003
1004 0 subelement.Namespace = "";
1005 0 subelement.local = "Type";
1006
1007 0 result = xsd_QName_deserialize_attribute(
1008 &subelement,
1009 &instance->_Type,
1010 message_handle,
1011 0);
1012 0 if(result != GLOBUS_SUCCESS)
1013 {
1014 0 result = GlobusSoapMessageErrorDeserializeFailed(result, &subelement);
1015 0 goto _Type_destroy;
1016 }
1017
1018 0 found_attrs++;
1019
1020
1021 0 if(empty_element)
1022 {
1023 0 result = globus_soap_message_deserialize_element_end(
1024 message_handle,
1025 element_qname);
1026 0 if(result != GLOBUS_SUCCESS)
1027 {
1028 0 result = GlobusSoapMessageErrorDeserializeFailed(
1029 result, element_qname);
1030 0 goto fail_deserialize;
1031 }
1032
1033 0 *ip = instance;
1034 0 goto exit;
1035 }
1036
1037 0 result = globus_soap_message_deserialize_element_begin_close(
1038 message_handle);
1039 0 if(result != GLOBUS_SUCCESS)
1040 {
1041 0 result = GlobusSoapMessageErrorDeserializeFailed(
1042 result, element_qname);
1043 0 goto exit;
1044 }
1045
1046
1047
1048 0 result = globus_soap_message_deserialize_element_end(
1049 message_handle,
1050 element_qname);
1051 0 if(result != GLOBUS_SUCCESS)
1052 {
1053 0 result = GlobusSoapMessageErrorDeserializeFailed(
1054 result, element_qname);
1055 0 goto fail_deserialize;
1056 }
1057
1058 0 *ip = instance;
1059
1060 0 goto exit;
1061
1062 0 fail_deserialize:
1063
1064 0 _Type_destroy:
1065
1066 0 xsd_QName_destroy_contents(
1067 &instance->_Type);
1068
1069 0 exit:
1070
1071 0 GlobusSoapMessageDebugExit();
1072 0 return result;
1073 }
1074
1075
1076 globus_result_t
1077 rptest_FaultType_array_init_contents(
1078 rptest_FaultType_array * array)
1079 0 {
1080 GlobusFuncName(rptest_FaultType_array_init_contents);
1081 0 GlobusSoapMessageDebugEnter();
1082
1083 0 memset(array, 0, sizeof(rptest_FaultType_array));
1084
1085 0 GlobusSoapMessageDebugExit();
1086 0 return GLOBUS_SUCCESS;
1087 }
1088
1089 globus_result_t
1090 rptest_FaultType_array_init(
1091 rptest_FaultType_array ** arr)
1092 0 {
1093 rptest_FaultType_array * array;
1094 globus_result_t result;
1095 GlobusFuncName(rptest_FaultType_array_init);
1096 0 GlobusSoapMessageDebugEnter();
1097
1098 0 array = (rptest_FaultType_array *)
1099 globus_malloc(sizeof(rptest_FaultType_array));
1100 0 if(!array)
1101 {
1102 0 result = GlobusSoapMessageErrorOutOfMemory;
1103 0 goto exit;
1104 }
1105
1106 0 result = rptest_FaultType_array_init_contents(array);
1107 0 if(result != GLOBUS_SUCCESS)
1108 {
1109 0 globus_free(array);
1110 0 array = NULL;
1111
1112 }
1113
1114 0 *arr = array;
1115
1116 0 exit:
1117 0 GlobusSoapMessageDebugExit();
1118 0 return result;
1119 }
1120
1121 void
1122 rptest_FaultType_array_destroy_contents(
1123 rptest_FaultType_array * array)
1124 0 {
1125 0 int i = 0;
1126 GlobusFuncName(rptest_FaultType_array_destroy_contents);
1127 0 GlobusSoapMessageDebugEnter();
1128
1129 0 for(; i < array->length; ++i)
1130 {
1131 0 rptest_FaultType_destroy_contents(&array->elements[i]);
1132 }
1133
1134 0 if(array->elements)
1135 {
1136 0 globus_free(array->elements);
1137 0 array->elements = NULL;
1138 }
1139 0 array->length = 0;
1140
1141 0 GlobusSoapMessageDebugExit();
1142 }
1143
1144 void
1145 rptest_FaultType_array_destroy(
1146 rptest_FaultType_array * array)
1147 0 {
1148 GlobusFuncName(rptest_FaultType_array_destroy);
1149 0 GlobusSoapMessageDebugEnter();
1150
1151 0 rptest_FaultType_array_destroy_contents(array);
1152 0 globus_free(array);
1153
1154 0 GlobusSoapMessageDebugExit();
1155 }
1156
1157 globus_result_t
1158 rptest_FaultType_array_copy(
1159 rptest_FaultType_array ** dest_arr,
1160 const rptest_FaultType_array * src_arr)
1161 0 {
1162 rptest_FaultType_array * array;
1163 globus_result_t result;
1164 GlobusFuncName(rptest_FaultType_array_copy);
1165 0 GlobusSoapMessageDebugEnter();
1166
1167 0 array = (rptest_FaultType_array *) globus_malloc(
1168 sizeof(rptest_FaultType_array));
1169 0 if(!array)
1170 {
1171 0 result = GlobusSoapMessageErrorOutOfMemory;
1172 0 GlobusSoapMessageDebugExit();
1173 0 return result;
1174 }
1175
1176 0 result = rptest_FaultType_array_copy_contents(array, src_arr);
1177 0 if(result != GLOBUS_SUCCESS)
1178 {
1179 0 globus_free(array);
1180 0 GlobusSoapMessageDebugExit();
1181 0 return result;
1182 }
1183
1184 0 *dest_arr = array;
1185
1186 0 GlobusSoapMessageDebugExit();
1187 0 return GLOBUS_SUCCESS;
1188 }
1189
1190 globus_result_t
1191 rptest_FaultType_array_copy_contents(
1192 rptest_FaultType_array * dest_arr,
1193 const rptest_FaultType_array * src_arr)
1194 0 {
1195 int i;
1196 0 globus_result_t result = GLOBUS_SUCCESS;
1197 GlobusFuncName(rptest_FaultType_array_copy_contents);
1198 0 GlobusSoapMessageDebugEnter();
1199
1200 0 dest_arr->length = src_arr->length;
1201 0 if(dest_arr->length > 0)
1202 {
1203 0 dest_arr->elements = (rptest_FaultType *) malloc(
1204 sizeof(rptest_FaultType) * dest_arr->length);
1205 0 if(!dest_arr->elements)
1206 {
1207 0 result = GlobusSoapMessageErrorOutOfMemory;
1208 0 GlobusSoapMessageDebugExit();
1209 0 return result;
1210 }
1211 }
1212 else
1213 {
1214 0 dest_arr->elements = NULL;
1215 }
1216
1217 0 for(i = 0; i < dest_arr->length; i++)
1218 {
1219 0 result = rptest_FaultType_copy_contents(
1220 &dest_arr->elements[i], &src_arr->elements[i]);
1221 0 if(result != GLOBUS_SUCCESS)
1222 {
1223 0 while(i--)
1224 {
1225 0 rptest_FaultType_destroy_contents(&dest_arr->elements[i]);
1226 }
1227
1228 0 globus_free(dest_arr->elements);
1229 0 dest_arr->elements = NULL;
1230 0 dest_arr->length = 0;
1231 0 break;
1232 }
1233 }
1234
1235 0 GlobusSoapMessageDebugExit();
1236 0 return result;
1237 }
1238
1239 rptest_FaultType *
1240 rptest_FaultType_array_push(
1241 rptest_FaultType_array * array)
1242 0 {
1243 GlobusFuncName(rptest_FaultType_array_push);
1244 0 GlobusSoapMessageDebugEnter();
1245
1246 0 array->elements = realloc(array->elements,
1247 sizeof(rptest_FaultType) *
1248 (array->length + 1));
1249 0 memset(&array->elements[array->length], 0, sizeof(rptest_FaultType));
1250 0 array->length++;
1251
1252 0 GlobusSoapMessageDebugExit();
1253 0 return (&array->elements[array->length - 1]);
1254 }
1255
1256 void *
1257 rptest_FaultType_array_push_wrapper(
1258 void * array)
1259 0 {
1260 0 return (void *) rptest_FaultType_array_push((rptest_FaultType_array *) array);
1261 }
1262
1263 globus_result_t
1264 rptest_FaultType_array_serialize(
1265 xsd_QName * element_qname,
1266 rptest_FaultType_array * array,
1267 globus_soap_message_handle_t message,
1268 globus_xsd_element_options_t options)
1269 0 {
1270 0 globus_result_t result = GLOBUS_SUCCESS;
1271 0 int i = 0;
1272 GlobusFuncName(rptest_FaultType_array_serialize);
1273 0 GlobusSoapMessageDebugEnter();
1274
1275 0 for(; i < array->length; ++i)
1276 {
1277 0 result = rptest_FaultType_serialize(
1278 element_qname,
1279 &array->elements[i],
1280 message,
1281 options);
1282 0 if(result != GLOBUS_SUCCESS)
1283 {
1284 0 goto exit;
1285 }
1286 }
1287
1288 0 exit:
1289
1290 0 GlobusSoapMessageDebugExit();
1291 0 return result;
1292 }
1293
1294 globus_result_t
1295 rptest_FaultType_array_deserialize(
1296 xsd_QName * element_qname,
1297 rptest_FaultType_array * array,
1298 globus_soap_message_handle_t message,
1299 globus_xsd_element_options_t options)
1300 0 {
1301 0 globus_result_t result = GLOBUS_SUCCESS;
1302 0 int i = 0;
1303 int pre_length;
1304 GlobusFuncName(rptest_FaultType_array_deserialize);
1305 0 GlobusSoapMessageDebugEnter();
1306
1307 0 pre_length = array->length;
1308
1309 0 for(i = 0; i < pre_length; ++i)
1310 {
1311 0 result = rptest_FaultType_deserialize(
1312 element_qname,
1313 &array->elements[i],
1314 message,
1315 options);
1316 0 if(result != GLOBUS_SUCCESS)
1317 {
1318 0 if(GlobusSoapMessageStatusFailedElementCheck(result) ||
1319 GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1320 GlobusSoapMessageStatusFailedWithTextCheck(result))
1321 {
1322 0 result = GLOBUS_SUCCESS;
1323 0 break;
1324 }
1325
1326 0 result = GlobusSoapMessageErrorDeserializeFailed(
1327 result, element_qname);
1328 0 goto exit;
1329 }
1330 }
1331
1332 0 while(result == GLOBUS_SUCCESS)
1333 {
1334 rptest_FaultType next;
1335 0 memset(&next, 0, sizeof(rptest_FaultType));
1336
1337 0 result = rptest_FaultType_deserialize(
1338 element_qname,
1339 &next,
1340 message,
1341 options);
1342 0 if(result != GLOBUS_SUCCESS)
1343 {
1344 0 if(GlobusSoapMessageStatusFailedElementCheck(result) ||
1345 GlobusSoapMessageStatusElementNotFoundCheck(result) ||
1346 GlobusSoapMessageStatusFailedWithTextCheck(result))
1347 {
1348 0 result = GLOBUS_SUCCESS;
1349 0 break;
1350 }
1351
1352 0 result = GlobusSoapMessageErrorDeserializeFailed(
1353 result, element_qname);
1354 0 goto exit;
1355 }
1356
1357 0 array->elements = realloc(
1358 array->elements,
1359 (array->length + 1) * sizeof(rptest_FaultType));
1360 0 if(!array->elements)
1361 {
1362 0 result = GlobusSoapMessageErrorOutOfMemory;
1363 0 goto exit;
1364 }
1365 0 array->elements[array->length] = next;
1366 0 array->length++;
1367 0 ++i;
1368 }
1369
1370 0 exit:
1371
1372 0 if(result != GLOBUS_SUCCESS)
1373 {
1374 0 int di = 0;
1375 0 for(; di < i; ++di)
1376 {
1377 0 rptest_FaultType_destroy_contents(
1378 &array->elements[di]);
1379 0 memset(&array->elements[di], 0, sizeof(rptest_FaultType));
1380 }
1381 }
1382
1383 0 GlobusSoapMessageDebugExit();
1384 0 return result;