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 "globus_soap_message.h"
18 #include "ResourcePropertiesTestService.h"
19 #include "ResourcePropertiesTestService_skeleton.h"
20 #include "ResourcePropertiesTestService_internal_skeleton.h"
21 #include "version.h"
22 #include "globus_soap_message_fault.h"
23 #include "globus_ws_addressing.h"
24 #include "globus_wsrf_resource.h"
25
26 static
27 int
28 ResourcePropertiesTestService_module_activate();
29
30 static
31 int
32 ResourcePropertiesTestService_module_deactivate();
33
34 globus_module_descriptor_t ResourcePropertiesTestService_module =
35 {
36 "ResourcePropertiesTestService_module",
37 ResourcePropertiesTestService_module_activate,
38 ResourcePropertiesTestService_module_deactivate,
39 NULL,
40 NULL,
41 &local_version
42 };
43
44 0 GlobusDebugDefine(RESOURCEPROPERTIESTESTSERVICE);
45
46 static
47 int
48 ResourcePropertiesTestService_module_activate()
49 22 {
50 22 int rc = 0;
51
52 22 rc = globus_module_activate(GLOBUS_COMMON_MODULE);
53 22 if(rc != GLOBUS_SUCCESS)
54 {
55 0 return rc;
56 }
57
58 22 GlobusDebugInit(RESOURCEPROPERTIESTESTSERVICE, INFO DEBUG TRACE WARN ERROR);
59
60 22 rc = globus_module_activate(GLOBUS_SOAP_MESSAGE_MODULE);
61 22 if(rc != GLOBUS_SUCCESS)
62 {
63 0 return rc;
64 }
65
66 22 return rc;
67 }
68
69 static
70 int
71 ResourcePropertiesTestService_module_deactivate()
72 0 {
73 0 int rc = 0;
74
75 0 rc = globus_module_deactivate(GLOBUS_SOAP_MESSAGE_MODULE);
76 0 if(rc != GLOBUS_SUCCESS)
77 {
78 0 return rc;
79 }
80
81 0 GlobusDebugDestroy(RESOURCEPROPERTIESTESTSERVICE);
82
83 0 rc = globus_module_deactivate(GLOBUS_COMMON_MODULE);
84 0 if(rc != GLOBUS_SUCCESS)
85 {
86 0 return rc;
87 }
88
89 0 return rc;
90 }
91
92 GlobusExtensionDeclareModule(ResourcePropertiesTestService);
93
94 xsd_QName ResourcePropertiesTestService_service_qname =
95 {
96 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/service",
97 "ResourcePropertiesTestService"
98 };
99
100 globus_service_descriptor_t ResourcePropertiesTestService_descriptor =
101 {
102 &ResourcePropertiesTestService_service_qname,
103 GLOBUS_SERVICE_ENGINE_MODULE_PATH_PREFIX "/" RESOURCEPROPERTIESTESTSERVICE_BASE_PATH,
104 NULL,
105 NULL,
106 NULL,
107 NULL,
108 globus_resource_id_get_as_string,
109 NULL
110 };
111
112 static
113 int
114 ResourcePropertiesTestService_activate();
115
116 static
117 int
118 ResourcePropertiesTestService_deactivate();
119
120 GlobusExtensionDefineModule(ResourcePropertiesTestService) =
121 {
122 "ResourcePropertiesTestService",
123 ResourcePropertiesTestService_activate,
124 ResourcePropertiesTestService_deactivate,
125 NULL,
126 NULL,
127 &local_version
128 };
129
130
131 xsd_QName ResourcePropertiesTestPortType_SetTerminationTime_op_qname =
132 {
133 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
134 "SetTerminationTime"
135 };
136
137 xsd_QName ResourcePropertiesTestPortType_SetTerminationTime_input_qname =
138 {
139 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd",
140 "SetTerminationTime"
141 };
142
143 typedef globus_result_t (* SetTerminationTime_init_func_t) (
144 globus_service_engine_t engine,
145 globus_soap_message_handle_t message,
146 wsrl_SetTerminationTimeType * SetTerminationTime);
147
148 typedef globus_result_t (* SetTerminationTime_invoke_func_t) (
149 globus_service_engine_t engine,
150 globus_soap_message_handle_t message,
151 globus_service_descriptor_t * descriptor,
152 wsrl_SetTerminationTimeType * SetTerminationTime,
153 wsrl_SetTerminationTimeResponseType * SetTerminationTimeResponse,
154 const char ** fault_type_name,
155 void ** fault);
156
157 typedef struct SetTerminationTime_callback_handle_s
158 {
159 globus_service_engine_t engine;
160 globus_soap_message_handle_t message;
161 globus_operation_invoke_callback_func_t callback;
162 void * args;
163 } SetTerminationTime_callback_handle_t;
164
165
166 const char * ResourcePropertiesTestPortType_SetTerminationTime_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_RESOURCEUNKNOWNFAULT] =
167 {
168 "Unknown",
169 "TerminationTimeChangeRejectedFault",
170 "UnableToSetTerminationTimeFault",
171 "ResourceUnknownFault"
172 };
173
174 static
175 ResourcePropertiesTestPortType_SetTerminationTime_fault_t
176 SetTerminationTime_lookup_fault_type(
177 const char * fault_name)
178 0 {
179 ResourcePropertiesTestPortType_SetTerminationTime_fault_t fault_type;
180 GlobusFuncName(SetTerminationTime_lookup_fault_type);
181 0 ResourcePropertiesTestServiceDebugEnter();
182
183 0 globus_assert(fault_name);
184
185 0 if(!strcmp(fault_name, "TerminationTimeChangeRejectedFault"))
186 {
187 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_TERMINATIONTIMECHANGEREJECTEDFAULT;
188 }
189 0 else if(!strcmp(fault_name, "UnableToSetTerminationTimeFault"))
190 {
191 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_UNABLETOSETTERMINATIONTIMEFAULT;
192 }
193 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
194 {
195 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_RESOURCEUNKNOWNFAULT;
196 }
197 else
198 {
199 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_UNKNOWN_FAULT;
200 }
201
202 0 ResourcePropertiesTestServiceDebugExit();
203 0 return fault_type;
204 }
205
206
207
208 static
209 void
210 SetTerminationTime_deserialize_callback(
211 void * handle)
212 0 {
213 SetTerminationTime_callback_handle_t * callback_handle;
214 0 globus_result_t result = GLOBUS_SUCCESS;
215 struct globus_soap_message_fault_s soap_fault;
216 SetTerminationTime_init_func_t init_function;
217 SetTerminationTime_invoke_func_t invoke_function;
218 wsrl_SetTerminationTimeType * SetTerminationTime;
219 GlobusFuncName(SetTerminationTime_deserialize_callback);
220 0 ResourcePropertiesTestServiceDebugEnter();
221
222 0 callback_handle = (SetTerminationTime_callback_handle_t *) handle;
223
224 0 result = globus_operation_table_get_operation(
225 ResourcePropertiesTestService_descriptor.operations,
226 "SetTerminationTime",
227 (void **)&init_function,
228 (void **)&invoke_function);
229 0 if(result != GLOBUS_SUCCESS)
230 {
231 0 goto exit;
232 }
233
234 0 if(ResourcePropertiesTestService_descriptor.registry)
235 {
236 0 globus_soap_message_handle_set_registry(
237 callback_handle->message,
238 ResourcePropertiesTestService_descriptor.registry);
239 }
240
241 0 result = wsrl_SetTerminationTimeType_init(
242 &SetTerminationTime);
243 0 if(result != GLOBUS_SUCCESS)
244 {
245 0 goto exit;
246 }
247
248 0 if(init_function)
249 {
250 /* do service specific initialization stuff */
251 0 result = init_function(
252 callback_handle->engine,
253 callback_handle->message,
254 SetTerminationTime);
255 0 if(result != GLOBUS_SUCCESS)
256 {
257 0 goto free_exit;
258 }
259 }
260
261 0 result = wsrl_SetTerminationTimeType_deserialize(
262 &ResourcePropertiesTestPortType_SetTerminationTime_input_qname,
263 SetTerminationTime,
264 callback_handle->message,
265 0);
266 0 if(result != GLOBUS_SUCCESS)
267 {
268 0 goto free_exit;
269 }
270
271 0 result = globus_soap_message_handle_set_attr(
272 callback_handle->message,
273 "SetTerminationTimeOperationInputParameter",
274 wsrl_SetTerminationTimeType_copy_wrapper,
275 wsrl_SetTerminationTimeType_destroy_wrapper,
276 (void *)SetTerminationTime);
277 if(result != GLOBUS_SUCCESS)
278 {
279 goto free_exit;
280 }
281
282 0 free_exit:
283 0 wsrl_SetTerminationTimeType_destroy(SetTerminationTime);
284
285 0 exit:
286
287 0 callback_handle->callback(
288 result,
289 callback_handle->args);
290 0 free(callback_handle);
291 0 ResourcePropertiesTestServiceDebugExit();
292 }
293 /* SetTerminationTime_deserialize_callback() */
294
295 static
296 globus_result_t
297 SetTerminationTime_deserialize(
298 globus_service_engine_t engine,
299 globus_soap_message_handle_t message,
300 globus_operation_invoke_callback_func_t invoke_callback,
301 void * args)
302 0 {
303 SetTerminationTime_callback_handle_t * callback_handle;
304 0 globus_result_t result = GLOBUS_SUCCESS;
305 GlobusFuncName(SetTerminationTime_deserialize);
306 0 ResourcePropertiesTestServiceDebugEnter();
307
308 0 callback_handle = malloc(sizeof(SetTerminationTime_callback_handle_t));
309 0 globus_assert_string(callback_handle,
310 "Memory allocation failed "
311 "for SetTerminationTime callback handle");
312 0 memset(callback_handle, 0, sizeof(SetTerminationTime_callback_handle_t));
313
314 0 callback_handle->engine = engine;
315 0 callback_handle->message = message;
316 0 callback_handle->callback = invoke_callback;
317 0 callback_handle->args = args;
318
319 0 result = globus_callback_register_oneshot(
320 NULL,
321 &globus_i_reltime_zero,
322 SetTerminationTime_deserialize_callback,
323 callback_handle);
324
325 0 ResourcePropertiesTestServiceDebugExit();
326 0 return result;
327 }
328
329 static
330 void
331 SetTerminationTime_invoke_callback(
332 void * handle)
333 0 {
334 SetTerminationTime_callback_handle_t * callback_handle;
335 0 globus_result_t result = GLOBUS_SUCCESS;
336 struct globus_soap_message_fault_s soap_fault;
337 SetTerminationTime_init_func_t init_function;
338 SetTerminationTime_invoke_func_t invoke_function;
339 wsrl_SetTerminationTimeType * SetTerminationTime;
340 wsrl_SetTerminationTimeResponseType SetTerminationTimeResponse;
341 xsd_QName element_qname;
342 0 const char * fault_type_name = NULL;
343 0 ResourcePropertiesTestPortType_SetTerminationTime_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_NOFAULT;
344 0 void * fault = NULL;
345
346 GlobusFuncName(SetTerminationTime_invoke_callback);
347 0 ResourcePropertiesTestServiceDebugEnter();
348
349 0 callback_handle = (SetTerminationTime_callback_handle_t *) handle;
350
351 0 SetTerminationTime = globus_soap_message_handle_get_attr(
352 callback_handle->message,
353 "SetTerminationTimeOperationInputParameter");
354 0 globus_assert(SetTerminationTime);
355
356 0 result = globus_operation_table_get_operation(
357 ResourcePropertiesTestService_descriptor.operations,
358 "SetTerminationTime",
359 (void **)&init_function,
360 (void **)&invoke_function);
361 0 if(result != GLOBUS_SUCCESS)
362 {
363 0 goto fault_exit;
364 }
365
366
367 0 result = wsrl_SetTerminationTimeResponseType_init_contents(
368 &SetTerminationTimeResponse);
369 0 if(result != GLOBUS_SUCCESS)
370 {
371 0 goto fault_exit;
372 }
373
374 0 result = invoke_function(
375 callback_handle->engine,
376 callback_handle->message,
377 &ResourcePropertiesTestService_descriptor,
378 SetTerminationTime,
379 &SetTerminationTimeResponse,
380 &fault_type_name,
381 &fault);
382
383 0 fault_exit:
384
385 0 if(fault && fault_type_name)
386 {
387 0 fault_type = SetTerminationTime_lookup_fault_type(fault_type_name);
388
389 0 result = globus_service_session_begin_response(
390 callback_handle->message);
391 0 if(result != GLOBUS_SUCCESS)
392 {
393 0 goto exit;
394 }
395
396 0 soap_fault.faultcode = "Server";
397 0 soap_fault.faultstring =
398 "An error occurred while processing the message";
399 0 soap_fault.faultactor = NULL;
400
401 0 switch(fault_type)
402 {
403
404 case RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_TERMINATIONTIMECHANGEREJECTEDFAULT:
405
406 0 xsd_any_init(&soap_fault.detail);
407 0 soap_fault.detail->any_info = &wsrl_TerminationTimeChangeRejectedFaultType_info;
408 0 xsd_QName_init(&soap_fault.detail->element);
409 0 soap_fault.detail->element->local = "TerminationTimeChangeRejectedFault";
410 0 soap_fault.detail->element->Namespace =
411 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
412 0 soap_fault.detail->value = fault;
413 0 break;
414
415 case RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_UNABLETOSETTERMINATIONTIMEFAULT:
416
417 0 xsd_any_init(&soap_fault.detail);
418 0 soap_fault.detail->any_info = &wsrl_UnableToSetTerminationTimeFaultType_info;
419 0 xsd_QName_init(&soap_fault.detail->element);
420 0 soap_fault.detail->element->local = "UnableToSetTerminationTimeFault";
421 0 soap_fault.detail->element->Namespace =
422 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
423 0 soap_fault.detail->value = fault;
424 0 break;
425
426 case RESOURCEPROPERTIESTESTPORTTYPE_SETTERMINATIONTIME_RESOURCEUNKNOWNFAULT:
427
428 0 xsd_any_init(&soap_fault.detail);
429 0 soap_fault.detail->any_info = &wsrl_ResourceUnknownFaultType_info;
430 0 xsd_QName_init(&soap_fault.detail->element);
431 0 soap_fault.detail->element->local = "ResourceUnknownFault";
432 0 soap_fault.detail->element->Namespace =
433 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
434 0 soap_fault.detail->value = fault;
435 0 break;
436
437 default:
438 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("SetTerminationTime");
439 0 goto exit;
440 }
441
442 0 result = globus_service_session_serialize_fault_response(
443 callback_handle->message, &soap_fault);
444 0 if(result != GLOBUS_SUCCESS)
445 {
446 0 goto exit;
447 }
448
449 0 soap_fault.detail->element->local = NULL;
450 0 soap_fault.detail->element->Namespace = NULL;
451 0 soap_fault.detail->any_info = NULL;
452 0 xsd_any_destroy(soap_fault.detail);
453
454 0 globus_soap_message_handle_set_attr(
455 callback_handle->message,
456 WSADDR_ACTION_RESPONSE_KEY,
457 globus_soap_message_attr_copy_string,
458 globus_libc_free,
459 WSADDRESSING_FAULT_NS);
460 }
461 0 else if(result != GLOBUS_SUCCESS)
462 {
463 globus_result_t local_result;
464 0 local_result = globus_service_session_begin_response(
465 callback_handle->message);
466 0 if(local_result != GLOBUS_SUCCESS)
467 {
468 0 result = local_result;
469 0 goto exit;
470 }
471
472 0 soap_fault.faultcode = "Server";
473 0 soap_fault.faultstring = globus_error_print_friendly(
474 globus_error_get(result));
475 0 result = GLOBUS_SUCCESS;
476 0 soap_fault.faultactor = NULL;
477 0 soap_fault.detail = NULL;
478 0 result = globus_service_session_serialize_fault_response(
479 callback_handle->message, &soap_fault);
480 0 if(result != GLOBUS_SUCCESS)
481 {
482 0 goto exit;
483 }
484
485 0 globus_soap_message_handle_set_attr(
486 callback_handle->message,
487 WSADDR_ACTION_RESPONSE_KEY,
488 globus_soap_message_attr_copy_string,
489 globus_libc_free,
490 WSADDRESSING_FAULT_NS);
491 }
492 else
493 {
494 0 result = globus_service_session_begin_response(
495 callback_handle->message);
496 0 if(result != GLOBUS_SUCCESS)
497 {
498 0 goto exit;
499 }
500
501 0 element_qname.local = "SetTerminationTimeResponse";
502 0 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
503
504 0 result = wsrl_SetTerminationTimeResponseType_serialize(
505 &element_qname,
506 &SetTerminationTimeResponse,
507 callback_handle->message,
508 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
509 0 if(result != GLOBUS_SUCCESS)
510 {
511 0 goto exit;
512 }
513
514 0 result = globus_service_session_end_response(
515 callback_handle->message);
516 0 if(result != GLOBUS_SUCCESS)
517 {
518 0 goto exit;
519 }
520
521 0 wsrl_SetTerminationTimeResponseType_destroy_contents(
522 &SetTerminationTimeResponse);
523
524 0 globus_soap_message_handle_set_attr(
525 callback_handle->message,
526 WSADDR_ACTION_RESPONSE_KEY,
527 globus_soap_message_attr_copy_string,
528 globus_libc_free,
529 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/SetTerminationTimeResponse");
530 }
531
532 0 exit:
533
534 0 callback_handle->callback(
535 result,
536 callback_handle->args);
537
538 0 globus_libc_free(callback_handle);
539
540 0 ResourcePropertiesTestServiceDebugExit();
541 }
542
543 static
544 globus_result_t
545 SetTerminationTime_invoke(
546 globus_service_engine_t engine,
547 globus_soap_message_handle_t message,
548 globus_service_response_t * response,
549 globus_operation_invoke_callback_func_t invoke_callback,
550 void * args)
551 0 {
552 SetTerminationTime_callback_handle_t * callback_handle;
553 0 globus_result_t result = GLOBUS_SUCCESS;
554 GlobusFuncName(ResourcePropertiesTestPortType_SetTerminationTime);
555 0 ResourcePropertiesTestServiceDebugEnter();
556
557 0 callback_handle = malloc(sizeof(SetTerminationTime_callback_handle_t));
558 0 if(!callback_handle)
559 {
560 0 result = GlobusSoapMessageErrorOutOfMemory;
561 0 goto exit;
562 }
563 0 memset(callback_handle, 0, sizeof(SetTerminationTime_callback_handle_t));
564
565 0 callback_handle->engine = engine;
566 0 callback_handle->message = message;
567 0 callback_handle->callback = invoke_callback;
568 0 callback_handle->args = args;
569
570 0 result = globus_callback_register_oneshot(
571 NULL,
572 &globus_i_reltime_zero,
573 SetTerminationTime_invoke_callback,
574 callback_handle);
575
576 0 exit:
577 0 ResourcePropertiesTestServiceDebugExit();
578 0 return result;
579 }
580
581 static
582 globus_service_operation_descriptor_t
583 SetTerminationTime_operation_descriptor =
584 {
585 SetTerminationTime_deserialize,
586 SetTerminationTime_invoke
587 };
588
589 static
590 globus_operation_provider_descriptor_t SetTerminationTime_descriptor =
591 {
592 &ResourcePropertiesTestPortType_SetTerminationTime_op_qname,
593 "SetTerminationTime",
594 (void *)ResourcePropertiesTestPortType_SetTerminationTime_init,
595 (void *)ResourcePropertiesTestPortType_SetTerminationTime_impl,
596 NULL
597 };
598
599
600 xsd_QName ResourcePropertiesTestPortType_Destroy_op_qname =
601 {
602 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
603 "Destroy"
604 };
605
606 xsd_QName ResourcePropertiesTestPortType_Destroy_input_qname =
607 {
608 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd",
609 "Destroy"
610 };
611
612 typedef globus_result_t (* Destroy_init_func_t) (
613 globus_service_engine_t engine,
614 globus_soap_message_handle_t message,
615 wsrl_DestroyType * Destroy);
616
617 typedef globus_result_t (* Destroy_invoke_func_t) (
618 globus_service_engine_t engine,
619 globus_soap_message_handle_t message,
620 globus_service_descriptor_t * descriptor,
621 wsrl_DestroyType * Destroy,
622 wsrl_DestroyResponseType * DestroyResponse,
623 const char ** fault_type_name,
624 void ** fault);
625
626 typedef struct Destroy_callback_handle_s
627 {
628 globus_service_engine_t engine;
629 globus_soap_message_handle_t message;
630 globus_operation_invoke_callback_func_t callback;
631 void * args;
632 } Destroy_callback_handle_t;
633
634
635 const char * ResourcePropertiesTestPortType_Destroy_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_RESOURCEUNKNOWNFAULT] =
636 {
637 "Unknown",
638 "ResourceNotDestroyedFault",
639 "ResourceUnknownFault"
640 };
641
642 static
643 ResourcePropertiesTestPortType_Destroy_fault_t
644 Destroy_lookup_fault_type(
645 const char * fault_name)
646 0 {
647 ResourcePropertiesTestPortType_Destroy_fault_t fault_type;
648 GlobusFuncName(Destroy_lookup_fault_type);
649 0 ResourcePropertiesTestServiceDebugEnter();
650
651 0 globus_assert(fault_name);
652
653 0 if(!strcmp(fault_name, "ResourceNotDestroyedFault"))
654 {
655 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_RESOURCENOTDESTROYEDFAULT;
656 }
657 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
658 {
659 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_RESOURCEUNKNOWNFAULT;
660 }
661 else
662 {
663 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_UNKNOWN_FAULT;
664 }
665
666 0 ResourcePropertiesTestServiceDebugExit();
667 0 return fault_type;
668 }
669
670
671
672 static
673 void
674 Destroy_deserialize_callback(
675 void * handle)
676 22 {
677 Destroy_callback_handle_t * callback_handle;
678 22 globus_result_t result = GLOBUS_SUCCESS;
679 struct globus_soap_message_fault_s soap_fault;
680 Destroy_init_func_t init_function;
681 Destroy_invoke_func_t invoke_function;
682 wsrl_DestroyType * Destroy;
683 GlobusFuncName(Destroy_deserialize_callback);
684 22 ResourcePropertiesTestServiceDebugEnter();
685
686 22 callback_handle = (Destroy_callback_handle_t *) handle;
687
688 22 result = globus_operation_table_get_operation(
689 ResourcePropertiesTestService_descriptor.operations,
690 "Destroy",
691 (void **)&init_function,
692 (void **)&invoke_function);
693 22 if(result != GLOBUS_SUCCESS)
694 {
695 22 goto exit;
696 }
697
698 22 if(ResourcePropertiesTestService_descriptor.registry)
699 {
700 22 globus_soap_message_handle_set_registry(
701 callback_handle->message,
702 ResourcePropertiesTestService_descriptor.registry);
703 }
704
705 22 result = wsrl_DestroyType_init(
706 &Destroy);
707 22 if(result != GLOBUS_SUCCESS)
708 {
709 22 goto exit;
710 }
711
712 22 if(init_function)
713 {
714 /* do service specific initialization stuff */
715 22 result = init_function(
716 callback_handle->engine,
717 callback_handle->message,
718 Destroy);
719 22 if(result != GLOBUS_SUCCESS)
720 {
721 22 goto free_exit;
722 }
723 }
724
725 22 result = wsrl_DestroyType_deserialize(
726 &ResourcePropertiesTestPortType_Destroy_input_qname,
727 Destroy,
728 callback_handle->message,
729 0);
730 22 if(result != GLOBUS_SUCCESS)
731 {
732 22 goto free_exit;
733 }
734
735 22 result = globus_soap_message_handle_set_attr(
736 callback_handle->message,
737 "DestroyOperationInputParameter",
738 wsrl_DestroyType_copy_wrapper,
739 wsrl_DestroyType_destroy_wrapper,
740 (void *)Destroy);
741 if(result != GLOBUS_SUCCESS)
742 {
743 goto free_exit;
744 }
745
746 22 free_exit:
747 22 wsrl_DestroyType_destroy(Destroy);
748
749 22 exit:
750
751 22 callback_handle->callback(
752 result,
753 callback_handle->args);
754 22 free(callback_handle);
755 22 ResourcePropertiesTestServiceDebugExit();
756 }
757 /* Destroy_deserialize_callback() */
758
759 static
760 globus_result_t
761 Destroy_deserialize(
762 globus_service_engine_t engine,
763 globus_soap_message_handle_t message,
764 globus_operation_invoke_callback_func_t invoke_callback,
765 void * args)
766 22 {
767 Destroy_callback_handle_t * callback_handle;
768 22 globus_result_t result = GLOBUS_SUCCESS;
769 GlobusFuncName(Destroy_deserialize);
770 22 ResourcePropertiesTestServiceDebugEnter();
771
772 22 callback_handle = malloc(sizeof(Destroy_callback_handle_t));
773 22 globus_assert_string(callback_handle,
774 "Memory allocation failed "
775 "for Destroy callback handle");
776 22 memset(callback_handle, 0, sizeof(Destroy_callback_handle_t));
777
778 22 callback_handle->engine = engine;
779 22 callback_handle->message = message;
780 22 callback_handle->callback = invoke_callback;
781 22 callback_handle->args = args;
782
783 22 result = globus_callback_register_oneshot(
784 NULL,
785 &globus_i_reltime_zero,
786 Destroy_deserialize_callback,
787 callback_handle);
788
789 22 ResourcePropertiesTestServiceDebugExit();
790 22 return result;
791 }
792
793 static
794 void
795 Destroy_invoke_callback(
796 void * handle)
797 22 {
798 Destroy_callback_handle_t * callback_handle;
799 22 globus_result_t result = GLOBUS_SUCCESS;
800 struct globus_soap_message_fault_s soap_fault;
801 Destroy_init_func_t init_function;
802 Destroy_invoke_func_t invoke_function;
803 wsrl_DestroyType * Destroy;
804 wsrl_DestroyResponseType DestroyResponse;
805 xsd_QName element_qname;
806 22 const char * fault_type_name = NULL;
807 22 ResourcePropertiesTestPortType_Destroy_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_NOFAULT;
808 22 void * fault = NULL;
809
810 GlobusFuncName(Destroy_invoke_callback);
811 22 ResourcePropertiesTestServiceDebugEnter();
812
813 22 callback_handle = (Destroy_callback_handle_t *) handle;
814
815 22 Destroy = globus_soap_message_handle_get_attr(
816 callback_handle->message,
817 "DestroyOperationInputParameter");
818 22 globus_assert(Destroy);
819
820 22 result = globus_operation_table_get_operation(
821 ResourcePropertiesTestService_descriptor.operations,
822 "Destroy",
823 (void **)&init_function,
824 (void **)&invoke_function);
825 22 if(result != GLOBUS_SUCCESS)
826 {
827 22 goto fault_exit;
828 }
829
830
831 22 result = wsrl_DestroyResponseType_init_contents(
832 &DestroyResponse);
833 22 if(result != GLOBUS_SUCCESS)
834 {
835 22 goto fault_exit;
836 }
837
838 22 result = invoke_function(
839 callback_handle->engine,
840 callback_handle->message,
841 &ResourcePropertiesTestService_descriptor,
842 Destroy,
843 &DestroyResponse,
844 &fault_type_name,
845 &fault);
846
847 22 fault_exit:
848
849 22 if(fault && fault_type_name)
850 {
851 0 fault_type = Destroy_lookup_fault_type(fault_type_name);
852
853 0 result = globus_service_session_begin_response(
854 callback_handle->message);
855 0 if(result != GLOBUS_SUCCESS)
856 {
857 0 goto exit;
858 }
859
860 0 soap_fault.faultcode = "Server";
861 0 soap_fault.faultstring =
862 "An error occurred while processing the message";
863 0 soap_fault.faultactor = NULL;
864
865 0 switch(fault_type)
866 {
867
868 case RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_RESOURCENOTDESTROYEDFAULT:
869
870 0 xsd_any_init(&soap_fault.detail);
871 0 soap_fault.detail->any_info = &wsrl_ResourceNotDestroyedFaultType_info;
872 0 xsd_QName_init(&soap_fault.detail->element);
873 0 soap_fault.detail->element->local = "ResourceNotDestroyedFault";
874 0 soap_fault.detail->element->Namespace =
875 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
876 0 soap_fault.detail->value = fault;
877 0 break;
878
879 case RESOURCEPROPERTIESTESTPORTTYPE_DESTROY_RESOURCEUNKNOWNFAULT:
880
881 0 xsd_any_init(&soap_fault.detail);
882 0 soap_fault.detail->any_info = &wsrl_ResourceUnknownFaultType_info;
883 0 xsd_QName_init(&soap_fault.detail->element);
884 0 soap_fault.detail->element->local = "ResourceUnknownFault";
885 0 soap_fault.detail->element->Namespace =
886 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
887 0 soap_fault.detail->value = fault;
888 0 break;
889
890 default:
891 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("Destroy");
892 0 goto exit;
893 }
894
895 0 result = globus_service_session_serialize_fault_response(
896 callback_handle->message, &soap_fault);
897 0 if(result != GLOBUS_SUCCESS)
898 {
899 0 goto exit;
900 }
901
902 0 soap_fault.detail->element->local = NULL;
903 0 soap_fault.detail->element->Namespace = NULL;
904 0 soap_fault.detail->any_info = NULL;
905 0 xsd_any_destroy(soap_fault.detail);
906
907 0 globus_soap_message_handle_set_attr(
908 callback_handle->message,
909 WSADDR_ACTION_RESPONSE_KEY,
910 globus_soap_message_attr_copy_string,
911 globus_libc_free,
912 WSADDRESSING_FAULT_NS);
913 }
914 22 else if(result != GLOBUS_SUCCESS)
915 {
916 globus_result_t local_result;
917 0 local_result = globus_service_session_begin_response(
918 callback_handle->message);
919 0 if(local_result != GLOBUS_SUCCESS)
920 {
921 0 result = local_result;
922 0 goto exit;
923 }
924
925 0 soap_fault.faultcode = "Server";
926 0 soap_fault.faultstring = globus_error_print_friendly(
927 globus_error_get(result));
928 0 result = GLOBUS_SUCCESS;
929 0 soap_fault.faultactor = NULL;
930 0 soap_fault.detail = NULL;
931 0 result = globus_service_session_serialize_fault_response(
932 callback_handle->message, &soap_fault);
933 0 if(result != GLOBUS_SUCCESS)
934 {
935 0 goto exit;
936 }
937
938 0 globus_soap_message_handle_set_attr(
939 callback_handle->message,
940 WSADDR_ACTION_RESPONSE_KEY,
941 globus_soap_message_attr_copy_string,
942 globus_libc_free,
943 WSADDRESSING_FAULT_NS);
944 }
945 else
946 {
947 22 result = globus_service_session_begin_response(
948 callback_handle->message);
949 22 if(result != GLOBUS_SUCCESS)
950 {
951 22 goto exit;
952 }
953
954 22 element_qname.local = "DestroyResponse";
955 22 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd";
956
957 22 result = wsrl_DestroyResponseType_serialize(
958 &element_qname,
959 &DestroyResponse,
960 callback_handle->message,
961 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
962 22 if(result != GLOBUS_SUCCESS)
963 {
964 22 goto exit;
965 }
966
967 22 result = globus_service_session_end_response(
968 callback_handle->message);
969 22 if(result != GLOBUS_SUCCESS)
970 {
971 22 goto exit;
972 }
973
974 22 wsrl_DestroyResponseType_destroy_contents(
975 &DestroyResponse);
976
977 22 globus_soap_message_handle_set_attr(
978 callback_handle->message,
979 WSADDR_ACTION_RESPONSE_KEY,
980 globus_soap_message_attr_copy_string,
981 globus_libc_free,
982 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/DestroyResponse");
983 }
984
985 22 exit:
986
987 22 callback_handle->callback(
988 result,
989 callback_handle->args);
990
991 22 globus_libc_free(callback_handle);
992
993 22 ResourcePropertiesTestServiceDebugExit();
994 }
995
996 static
997 globus_result_t
998 Destroy_invoke(
999 globus_service_engine_t engine,
1000 globus_soap_message_handle_t message,
1001 globus_service_response_t * response,
1002 globus_operation_invoke_callback_func_t invoke_callback,
1003 void * args)
1004 22 {
1005 Destroy_callback_handle_t * callback_handle;
1006 22 globus_result_t result = GLOBUS_SUCCESS;
1007 GlobusFuncName(ResourcePropertiesTestPortType_Destroy);
1008 22 ResourcePropertiesTestServiceDebugEnter();
1009
1010 22 callback_handle = malloc(sizeof(Destroy_callback_handle_t));
1011 22 if(!callback_handle)
1012 {
1013 0 result = GlobusSoapMessageErrorOutOfMemory;
1014 0 goto exit;
1015 }
1016 22 memset(callback_handle, 0, sizeof(Destroy_callback_handle_t));
1017
1018 22 callback_handle->engine = engine;
1019 22 callback_handle->message = message;
1020 22 callback_handle->callback = invoke_callback;
1021 22 callback_handle->args = args;
1022
1023 22 result = globus_callback_register_oneshot(
1024 NULL,
1025 &globus_i_reltime_zero,
1026 Destroy_invoke_callback,
1027 callback_handle);
1028
1029 22 exit:
1030 22 ResourcePropertiesTestServiceDebugExit();
1031 22 return result;
1032 }
1033
1034 static
1035 globus_service_operation_descriptor_t
1036 Destroy_operation_descriptor =
1037 {
1038 Destroy_deserialize,
1039 Destroy_invoke
1040 };
1041
1042 static
1043 globus_operation_provider_descriptor_t Destroy_descriptor =
1044 {
1045 &ResourcePropertiesTestPortType_Destroy_op_qname,
1046 "Destroy",
1047 (void *)ResourcePropertiesTestPortType_Destroy_init,
1048 (void *)ResourcePropertiesTestPortType_Destroy_impl,
1049 NULL
1050 };
1051
1052
1053 xsd_QName ResourcePropertiesTestPortType_QueryResourceProperties_op_qname =
1054 {
1055 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
1056 "QueryResourceProperties"
1057 };
1058
1059 xsd_QName ResourcePropertiesTestPortType_QueryResourceProperties_input_qname =
1060 {
1061 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd",
1062 "QueryResourceProperties"
1063 };
1064
1065 typedef globus_result_t (* QueryResourceProperties_init_func_t) (
1066 globus_service_engine_t engine,
1067 globus_soap_message_handle_t message,
1068 wsrp_QueryResourcePropertiesType * QueryResourceProperties);
1069
1070 typedef globus_result_t (* QueryResourceProperties_invoke_func_t) (
1071 globus_service_engine_t engine,
1072 globus_soap_message_handle_t message,
1073 globus_service_descriptor_t * descriptor,
1074 wsrp_QueryResourcePropertiesType * QueryResourceProperties,
1075 wsrp_QueryResourcePropertiesResponseType * QueryResourcePropertiesResponse,
1076 const char ** fault_type_name,
1077 void ** fault);
1078
1079 typedef struct QueryResourceProperties_callback_handle_s
1080 {
1081 globus_service_engine_t engine;
1082 globus_soap_message_handle_t message;
1083 globus_operation_invoke_callback_func_t callback;
1084 void * args;
1085 } QueryResourceProperties_callback_handle_t;
1086
1087
1088 const char * ResourcePropertiesTestPortType_QueryResourceProperties_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT] =
1089 {
1090 "Unknown",
1091 "QueryEvaluationErrorFault",
1092 "InvalidQueryExpressionFault",
1093 "UnknownQueryExpressionDialectFault",
1094 "InvalidResourcePropertyQNameFault",
1095 "ResourceUnknownFault"
1096 };
1097
1098 static
1099 ResourcePropertiesTestPortType_QueryResourceProperties_fault_t
1100 QueryResourceProperties_lookup_fault_type(
1101 const char * fault_name)
1102 0 {
1103 ResourcePropertiesTestPortType_QueryResourceProperties_fault_t fault_type;
1104 GlobusFuncName(QueryResourceProperties_lookup_fault_type);
1105 0 ResourcePropertiesTestServiceDebugEnter();
1106
1107 0 globus_assert(fault_name);
1108
1109 0 if(!strcmp(fault_name, "QueryEvaluationErrorFault"))
1110 {
1111 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_QUERYEVALUATIONERRORFAULT;
1112 }
1113 0 else if(!strcmp(fault_name, "InvalidQueryExpressionFault"))
1114 {
1115 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_INVALIDQUERYEXPRESSIONFAULT;
1116 }
1117 0 else if(!strcmp(fault_name, "UnknownQueryExpressionDialectFault"))
1118 {
1119 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_UNKNOWNQUERYEXPRESSIONDIALECTFAULT;
1120 }
1121 0 else if(!strcmp(fault_name, "InvalidResourcePropertyQNameFault"))
1122 {
1123 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT;
1124 }
1125 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
1126 {
1127 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT;
1128 }
1129 else
1130 {
1131 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_UNKNOWN_FAULT;
1132 }
1133
1134 0 ResourcePropertiesTestServiceDebugExit();
1135 0 return fault_type;
1136 }
1137
1138
1139
1140 static
1141 void
1142 QueryResourceProperties_deserialize_callback(
1143 void * handle)
1144 0 {
1145 QueryResourceProperties_callback_handle_t * callback_handle;
1146 0 globus_result_t result = GLOBUS_SUCCESS;
1147 struct globus_soap_message_fault_s soap_fault;
1148 QueryResourceProperties_init_func_t init_function;
1149 QueryResourceProperties_invoke_func_t invoke_function;
1150 wsrp_QueryResourcePropertiesType * QueryResourceProperties;
1151 GlobusFuncName(QueryResourceProperties_deserialize_callback);
1152 0 ResourcePropertiesTestServiceDebugEnter();
1153
1154 0 callback_handle = (QueryResourceProperties_callback_handle_t *) handle;
1155
1156 0 result = globus_operation_table_get_operation(
1157 ResourcePropertiesTestService_descriptor.operations,
1158 "QueryResourceProperties",
1159 (void **)&init_function,
1160 (void **)&invoke_function);
1161 0 if(result != GLOBUS_SUCCESS)
1162 {
1163 0 goto exit;
1164 }
1165
1166 0 if(ResourcePropertiesTestService_descriptor.registry)
1167 {
1168 0 globus_soap_message_handle_set_registry(
1169 callback_handle->message,
1170 ResourcePropertiesTestService_descriptor.registry);
1171 }
1172
1173 0 result = wsrp_QueryResourcePropertiesType_init(
1174 &QueryResourceProperties);
1175 0 if(result != GLOBUS_SUCCESS)
1176 {
1177 0 goto exit;
1178 }
1179
1180 0 if(init_function)
1181 {
1182 /* do service specific initialization stuff */
1183 0 result = init_function(
1184 callback_handle->engine,
1185 callback_handle->message,
1186 QueryResourceProperties);
1187 0 if(result != GLOBUS_SUCCESS)
1188 {
1189 0 goto free_exit;
1190 }
1191 }
1192
1193 0 result = wsrp_QueryResourcePropertiesType_deserialize(
1194 &ResourcePropertiesTestPortType_QueryResourceProperties_input_qname,
1195 QueryResourceProperties,
1196 callback_handle->message,
1197 0);
1198 0 if(result != GLOBUS_SUCCESS)
1199 {
1200 0 goto free_exit;
1201 }
1202
1203 0 result = globus_soap_message_handle_set_attr(
1204 callback_handle->message,
1205 "QueryResourcePropertiesOperationInputParameter",
1206 wsrp_QueryResourcePropertiesType_copy_wrapper,
1207 wsrp_QueryResourcePropertiesType_destroy_wrapper,
1208 (void *)QueryResourceProperties);
1209 if(result != GLOBUS_SUCCESS)
1210 {
1211 goto free_exit;
1212 }
1213
1214 0 free_exit:
1215 0 wsrp_QueryResourcePropertiesType_destroy(QueryResourceProperties);
1216
1217 0 exit:
1218
1219 0 callback_handle->callback(
1220 result,
1221 callback_handle->args);
1222 0 free(callback_handle);
1223 0 ResourcePropertiesTestServiceDebugExit();
1224 }
1225 /* QueryResourceProperties_deserialize_callback() */
1226
1227 static
1228 globus_result_t
1229 QueryResourceProperties_deserialize(
1230 globus_service_engine_t engine,
1231 globus_soap_message_handle_t message,
1232 globus_operation_invoke_callback_func_t invoke_callback,
1233 void * args)
1234 0 {
1235 QueryResourceProperties_callback_handle_t * callback_handle;
1236 0 globus_result_t result = GLOBUS_SUCCESS;
1237 GlobusFuncName(QueryResourceProperties_deserialize);
1238 0 ResourcePropertiesTestServiceDebugEnter();
1239
1240 0 callback_handle = malloc(sizeof(QueryResourceProperties_callback_handle_t));
1241 0 globus_assert_string(callback_handle,
1242 "Memory allocation failed "
1243 "for QueryResourceProperties callback handle");
1244 0 memset(callback_handle, 0, sizeof(QueryResourceProperties_callback_handle_t));
1245
1246 0 callback_handle->engine = engine;
1247 0 callback_handle->message = message;
1248 0 callback_handle->callback = invoke_callback;
1249 0 callback_handle->args = args;
1250
1251 0 result = globus_callback_register_oneshot(
1252 NULL,
1253 &globus_i_reltime_zero,
1254 QueryResourceProperties_deserialize_callback,
1255 callback_handle);
1256
1257 0 ResourcePropertiesTestServiceDebugExit();
1258 0 return result;
1259 }
1260
1261 static
1262 void
1263 QueryResourceProperties_invoke_callback(
1264 void * handle)
1265 0 {
1266 QueryResourceProperties_callback_handle_t * callback_handle;
1267 0 globus_result_t result = GLOBUS_SUCCESS;
1268 struct globus_soap_message_fault_s soap_fault;
1269 QueryResourceProperties_init_func_t init_function;
1270 QueryResourceProperties_invoke_func_t invoke_function;
1271 wsrp_QueryResourcePropertiesType * QueryResourceProperties;
1272 wsrp_QueryResourcePropertiesResponseType QueryResourcePropertiesResponse;
1273 xsd_QName element_qname;
1274 0 const char * fault_type_name = NULL;
1275 0 ResourcePropertiesTestPortType_QueryResourceProperties_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_NOFAULT;
1276 0 void * fault = NULL;
1277
1278 GlobusFuncName(QueryResourceProperties_invoke_callback);
1279 0 ResourcePropertiesTestServiceDebugEnter();
1280
1281 0 callback_handle = (QueryResourceProperties_callback_handle_t *) handle;
1282
1283 0 QueryResourceProperties = globus_soap_message_handle_get_attr(
1284 callback_handle->message,
1285 "QueryResourcePropertiesOperationInputParameter");
1286 0 globus_assert(QueryResourceProperties);
1287
1288 0 result = globus_operation_table_get_operation(
1289 ResourcePropertiesTestService_descriptor.operations,
1290 "QueryResourceProperties",
1291 (void **)&init_function,
1292 (void **)&invoke_function);
1293 0 if(result != GLOBUS_SUCCESS)
1294 {
1295 0 goto fault_exit;
1296 }
1297
1298
1299 0 result = wsrp_QueryResourcePropertiesResponseType_init_contents(
1300 &QueryResourcePropertiesResponse);
1301 0 if(result != GLOBUS_SUCCESS)
1302 {
1303 0 goto fault_exit;
1304 }
1305
1306 0 result = invoke_function(
1307 callback_handle->engine,
1308 callback_handle->message,
1309 &ResourcePropertiesTestService_descriptor,
1310 QueryResourceProperties,
1311 &QueryResourcePropertiesResponse,
1312 &fault_type_name,
1313 &fault);
1314
1315 0 fault_exit:
1316
1317 0 if(fault && fault_type_name)
1318 {
1319 0 fault_type = QueryResourceProperties_lookup_fault_type(fault_type_name);
1320
1321 0 result = globus_service_session_begin_response(
1322 callback_handle->message);
1323 0 if(result != GLOBUS_SUCCESS)
1324 {
1325 0 goto exit;
1326 }
1327
1328 0 soap_fault.faultcode = "Server";
1329 0 soap_fault.faultstring =
1330 "An error occurred while processing the message";
1331 0 soap_fault.faultactor = NULL;
1332
1333 0 switch(fault_type)
1334 {
1335
1336 case RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_QUERYEVALUATIONERRORFAULT:
1337
1338 0 xsd_any_init(&soap_fault.detail);
1339 0 soap_fault.detail->any_info = &wsrp_QueryEvaluationErrorFaultType_info;
1340 0 xsd_QName_init(&soap_fault.detail->element);
1341 0 soap_fault.detail->element->local = "QueryEvaluationErrorFault";
1342 0 soap_fault.detail->element->Namespace =
1343 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1344 0 soap_fault.detail->value = fault;
1345 0 break;
1346
1347 case RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_INVALIDQUERYEXPRESSIONFAULT:
1348
1349 0 xsd_any_init(&soap_fault.detail);
1350 0 soap_fault.detail->any_info = &wsrp_InvalidQueryExpressionFaultType_info;
1351 0 xsd_QName_init(&soap_fault.detail->element);
1352 0 soap_fault.detail->element->local = "InvalidQueryExpressionFault";
1353 0 soap_fault.detail->element->Namespace =
1354 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1355 0 soap_fault.detail->value = fault;
1356 0 break;
1357
1358 case RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_UNKNOWNQUERYEXPRESSIONDIALECTFAULT:
1359
1360 0 xsd_any_init(&soap_fault.detail);
1361 0 soap_fault.detail->any_info = &wsrp_UnknownQueryExpressionDialectFaultType_info;
1362 0 xsd_QName_init(&soap_fault.detail->element);
1363 0 soap_fault.detail->element->local = "UnknownQueryExpressionDialectFault";
1364 0 soap_fault.detail->element->Namespace =
1365 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1366 0 soap_fault.detail->value = fault;
1367 0 break;
1368
1369 case RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT:
1370
1371 0 xsd_any_init(&soap_fault.detail);
1372 0 soap_fault.detail->any_info = &wsrp_InvalidResourcePropertyQNameFaultType_info;
1373 0 xsd_QName_init(&soap_fault.detail->element);
1374 0 soap_fault.detail->element->local = "InvalidResourcePropertyQNameFault";
1375 0 soap_fault.detail->element->Namespace =
1376 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1377 0 soap_fault.detail->value = fault;
1378 0 break;
1379
1380 case RESOURCEPROPERTIESTESTPORTTYPE_QUERYRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT:
1381
1382 0 xsd_any_init(&soap_fault.detail);
1383 0 soap_fault.detail->any_info = &wsrp_ResourceUnknownFaultType_info;
1384 0 xsd_QName_init(&soap_fault.detail->element);
1385 0 soap_fault.detail->element->local = "ResourceUnknownFault";
1386 0 soap_fault.detail->element->Namespace =
1387 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1388 0 soap_fault.detail->value = fault;
1389 0 break;
1390
1391 default:
1392 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("QueryResourceProperties");
1393 0 goto exit;
1394 }
1395
1396 0 result = globus_service_session_serialize_fault_response(
1397 callback_handle->message, &soap_fault);
1398 0 if(result != GLOBUS_SUCCESS)
1399 {
1400 0 goto exit;
1401 }
1402
1403 0 soap_fault.detail->element->local = NULL;
1404 0 soap_fault.detail->element->Namespace = NULL;
1405 0 soap_fault.detail->any_info = NULL;
1406 0 xsd_any_destroy(soap_fault.detail);
1407
1408 0 globus_soap_message_handle_set_attr(
1409 callback_handle->message,
1410 WSADDR_ACTION_RESPONSE_KEY,
1411 globus_soap_message_attr_copy_string,
1412 globus_libc_free,
1413 WSADDRESSING_FAULT_NS);
1414 }
1415 0 else if(result != GLOBUS_SUCCESS)
1416 {
1417 globus_result_t local_result;
1418 0 local_result = globus_service_session_begin_response(
1419 callback_handle->message);
1420 0 if(local_result != GLOBUS_SUCCESS)
1421 {
1422 0 result = local_result;
1423 0 goto exit;
1424 }
1425
1426 0 soap_fault.faultcode = "Server";
1427 0 soap_fault.faultstring = globus_error_print_friendly(
1428 globus_error_get(result));
1429 0 result = GLOBUS_SUCCESS;
1430 0 soap_fault.faultactor = NULL;
1431 0 soap_fault.detail = NULL;
1432 0 result = globus_service_session_serialize_fault_response(
1433 callback_handle->message, &soap_fault);
1434 0 if(result != GLOBUS_SUCCESS)
1435 {
1436 0 goto exit;
1437 }
1438
1439 0 globus_soap_message_handle_set_attr(
1440 callback_handle->message,
1441 WSADDR_ACTION_RESPONSE_KEY,
1442 globus_soap_message_attr_copy_string,
1443 globus_libc_free,
1444 WSADDRESSING_FAULT_NS);
1445 }
1446 else
1447 {
1448 0 result = globus_service_session_begin_response(
1449 callback_handle->message);
1450 0 if(result != GLOBUS_SUCCESS)
1451 {
1452 0 goto exit;
1453 }
1454
1455 0 element_qname.local = "QueryResourcePropertiesResponse";
1456 0 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1457
1458 0 result = wsrp_QueryResourcePropertiesResponseType_serialize(
1459 &element_qname,
1460 &QueryResourcePropertiesResponse,
1461 callback_handle->message,
1462 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
1463 0 if(result != GLOBUS_SUCCESS)
1464 {
1465 0 goto exit;
1466 }
1467
1468 0 result = globus_service_session_end_response(
1469 callback_handle->message);
1470 0 if(result != GLOBUS_SUCCESS)
1471 {
1472 0 goto exit;
1473 }
1474
1475 0 wsrp_QueryResourcePropertiesResponseType_destroy_contents(
1476 &QueryResourcePropertiesResponse);
1477
1478 0 globus_soap_message_handle_set_attr(
1479 callback_handle->message,
1480 WSADDR_ACTION_RESPONSE_KEY,
1481 globus_soap_message_attr_copy_string,
1482 globus_libc_free,
1483 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/QueryResourcePropertiesResponse");
1484 }
1485
1486 0 exit:
1487
1488 0 callback_handle->callback(
1489 result,
1490 callback_handle->args);
1491
1492 0 globus_libc_free(callback_handle);
1493
1494 0 ResourcePropertiesTestServiceDebugExit();
1495 }
1496
1497 static
1498 globus_result_t
1499 QueryResourceProperties_invoke(
1500 globus_service_engine_t engine,
1501 globus_soap_message_handle_t message,
1502 globus_service_response_t * response,
1503 globus_operation_invoke_callback_func_t invoke_callback,
1504 void * args)
1505 0 {
1506 QueryResourceProperties_callback_handle_t * callback_handle;
1507 0 globus_result_t result = GLOBUS_SUCCESS;
1508 GlobusFuncName(ResourcePropertiesTestPortType_QueryResourceProperties);
1509 0 ResourcePropertiesTestServiceDebugEnter();
1510
1511 0 callback_handle = malloc(sizeof(QueryResourceProperties_callback_handle_t));
1512 0 if(!callback_handle)
1513 {
1514 0 result = GlobusSoapMessageErrorOutOfMemory;
1515 0 goto exit;
1516 }
1517 0 memset(callback_handle, 0, sizeof(QueryResourceProperties_callback_handle_t));
1518
1519 0 callback_handle->engine = engine;
1520 0 callback_handle->message = message;
1521 0 callback_handle->callback = invoke_callback;
1522 0 callback_handle->args = args;
1523
1524 0 result = globus_callback_register_oneshot(
1525 NULL,
1526 &globus_i_reltime_zero,
1527 QueryResourceProperties_invoke_callback,
1528 callback_handle);
1529
1530 0 exit:
1531 0 ResourcePropertiesTestServiceDebugExit();
1532 0 return result;
1533 }
1534
1535 static
1536 globus_service_operation_descriptor_t
1537 QueryResourceProperties_operation_descriptor =
1538 {
1539 QueryResourceProperties_deserialize,
1540 QueryResourceProperties_invoke
1541 };
1542
1543 static
1544 globus_operation_provider_descriptor_t QueryResourceProperties_descriptor =
1545 {
1546 &ResourcePropertiesTestPortType_QueryResourceProperties_op_qname,
1547 "QueryResourceProperties",
1548 (void *)ResourcePropertiesTestPortType_QueryResourceProperties_init,
1549 (void *)ResourcePropertiesTestPortType_QueryResourceProperties_impl,
1550 NULL
1551 };
1552
1553
1554 xsd_QName ResourcePropertiesTestPortType_SetResourceProperties_op_qname =
1555 {
1556 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
1557 "SetResourceProperties"
1558 };
1559
1560 xsd_QName ResourcePropertiesTestPortType_SetResourceProperties_input_qname =
1561 {
1562 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd",
1563 "SetResourceProperties"
1564 };
1565
1566 typedef globus_result_t (* SetResourceProperties_init_func_t) (
1567 globus_service_engine_t engine,
1568 globus_soap_message_handle_t message,
1569 wsrp_SetResourcePropertiesType * SetResourceProperties);
1570
1571 typedef globus_result_t (* SetResourceProperties_invoke_func_t) (
1572 globus_service_engine_t engine,
1573 globus_soap_message_handle_t message,
1574 globus_service_descriptor_t * descriptor,
1575 wsrp_SetResourcePropertiesType * SetResourceProperties,
1576 wsrp_SetResourcePropertiesResponseType * SetResourcePropertiesResponse,
1577 const char ** fault_type_name,
1578 void ** fault);
1579
1580 typedef struct SetResourceProperties_callback_handle_s
1581 {
1582 globus_service_engine_t engine;
1583 globus_soap_message_handle_t message;
1584 globus_operation_invoke_callback_func_t callback;
1585 void * args;
1586 } SetResourceProperties_callback_handle_t;
1587
1588
1589 const char * ResourcePropertiesTestPortType_SetResourceProperties_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT] =
1590 {
1591 "Unknown",
1592 "SetResourcePropertyRequestFailedFault",
1593 "InvalidResourcePropertyQNameFault",
1594 "UnableToModifyResourcePropertyFault",
1595 "InvalidSetResourcePropertiesRequestContentFault",
1596 "ResourceUnknownFault"
1597 };
1598
1599 static
1600 ResourcePropertiesTestPortType_SetResourceProperties_fault_t
1601 SetResourceProperties_lookup_fault_type(
1602 const char * fault_name)
1603 52 {
1604 ResourcePropertiesTestPortType_SetResourceProperties_fault_t fault_type;
1605 GlobusFuncName(SetResourceProperties_lookup_fault_type);
1606 52 ResourcePropertiesTestServiceDebugEnter();
1607
1608 52 globus_assert(fault_name);
1609
1610 52 if(!strcmp(fault_name, "SetResourcePropertyRequestFailedFault"))
1611 {
1612 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_SETRESOURCEPROPERTYREQUESTFAILEDFAULT;
1613 }
1614 52 else if(!strcmp(fault_name, "InvalidResourcePropertyQNameFault"))
1615 {
1616 16 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT;
1617 }
1618 36 else if(!strcmp(fault_name, "UnableToModifyResourcePropertyFault"))
1619 {
1620 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_UNABLETOMODIFYRESOURCEPROPERTYFAULT;
1621 }
1622 36 else if(!strcmp(fault_name, "InvalidSetResourcePropertiesRequestContentFault"))
1623 {
1624 36 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_INVALIDSETRESOURCEPROPERTIESREQUESTCONTENTFAULT;
1625 }
1626 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
1627 {
1628 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT;
1629 }
1630 else
1631 {
1632 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_UNKNOWN_FAULT;
1633 }
1634
1635 52 ResourcePropertiesTestServiceDebugExit();
1636 52 return fault_type;
1637 }
1638
1639
1640
1641 static
1642 void
1643 SetResourceProperties_deserialize_callback(
1644 void * handle)
1645 126 {
1646 SetResourceProperties_callback_handle_t * callback_handle;
1647 126 globus_result_t result = GLOBUS_SUCCESS;
1648 struct globus_soap_message_fault_s soap_fault;
1649 SetResourceProperties_init_func_t init_function;
1650 SetResourceProperties_invoke_func_t invoke_function;
1651 wsrp_SetResourcePropertiesType * SetResourceProperties;
1652 GlobusFuncName(SetResourceProperties_deserialize_callback);
1653 126 ResourcePropertiesTestServiceDebugEnter();
1654
1655 126 callback_handle = (SetResourceProperties_callback_handle_t *) handle;
1656
1657 126 result = globus_operation_table_get_operation(
1658 ResourcePropertiesTestService_descriptor.operations,
1659 "SetResourceProperties",
1660 (void **)&init_function,
1661 (void **)&invoke_function);
1662 126 if(result != GLOBUS_SUCCESS)
1663 {
1664 126 goto exit;
1665 }
1666
1667 126 if(ResourcePropertiesTestService_descriptor.registry)
1668 {
1669 126 globus_soap_message_handle_set_registry(
1670 callback_handle->message,
1671 ResourcePropertiesTestService_descriptor.registry);
1672 }
1673
1674 126 result = wsrp_SetResourcePropertiesType_init(
1675 &SetResourceProperties);
1676 126 if(result != GLOBUS_SUCCESS)
1677 {
1678 126 goto exit;
1679 }
1680
1681 126 if(init_function)
1682 {
1683 /* do service specific initialization stuff */
1684 126 result = init_function(
1685 callback_handle->engine,
1686 callback_handle->message,
1687 SetResourceProperties);
1688 126 if(result != GLOBUS_SUCCESS)
1689 {
1690 126 goto free_exit;
1691 }
1692 }
1693
1694 126 result = wsrp_SetResourcePropertiesType_deserialize(
1695 &ResourcePropertiesTestPortType_SetResourceProperties_input_qname,
1696 SetResourceProperties,
1697 callback_handle->message,
1698 0);
1699 126 if(result != GLOBUS_SUCCESS)
1700 {
1701 126 goto free_exit;
1702 }
1703
1704 126 result = globus_soap_message_handle_set_attr(
1705 callback_handle->message,
1706 "SetResourcePropertiesOperationInputParameter",
1707 wsrp_SetResourcePropertiesType_copy_wrapper,
1708 wsrp_SetResourcePropertiesType_destroy_wrapper,
1709 (void *)SetResourceProperties);
1710 if(result != GLOBUS_SUCCESS)
1711 {
1712 goto free_exit;
1713 }
1714
1715 126 free_exit:
1716 126 wsrp_SetResourcePropertiesType_destroy(SetResourceProperties);
1717
1718 126 exit:
1719
1720 126 callback_handle->callback(
1721 result,
1722 callback_handle->args);
1723 126 free(callback_handle);
1724 126 ResourcePropertiesTestServiceDebugExit();
1725 }
1726 /* SetResourceProperties_deserialize_callback() */
1727
1728 static
1729 globus_result_t
1730 SetResourceProperties_deserialize(
1731 globus_service_engine_t engine,
1732 globus_soap_message_handle_t message,
1733 globus_operation_invoke_callback_func_t invoke_callback,
1734 void * args)
1735 126 {
1736 SetResourceProperties_callback_handle_t * callback_handle;
1737 126 globus_result_t result = GLOBUS_SUCCESS;
1738 GlobusFuncName(SetResourceProperties_deserialize);
1739 126 ResourcePropertiesTestServiceDebugEnter();
1740
1741 126 callback_handle = malloc(sizeof(SetResourceProperties_callback_handle_t));
1742 126 globus_assert_string(callback_handle,
1743 "Memory allocation failed "
1744 "for SetResourceProperties callback handle");
1745 126 memset(callback_handle, 0, sizeof(SetResourceProperties_callback_handle_t));
1746
1747 126 callback_handle->engine = engine;
1748 126 callback_handle->message = message;
1749 126 callback_handle->callback = invoke_callback;
1750 126 callback_handle->args = args;
1751
1752 126 result = globus_callback_register_oneshot(
1753 NULL,
1754 &globus_i_reltime_zero,
1755 SetResourceProperties_deserialize_callback,
1756 callback_handle);
1757
1758 126 ResourcePropertiesTestServiceDebugExit();
1759 126 return result;
1760 }
1761
1762 static
1763 void
1764 SetResourceProperties_invoke_callback(
1765 void * handle)
1766 126 {
1767 SetResourceProperties_callback_handle_t * callback_handle;
1768 126 globus_result_t result = GLOBUS_SUCCESS;
1769 struct globus_soap_message_fault_s soap_fault;
1770 SetResourceProperties_init_func_t init_function;
1771 SetResourceProperties_invoke_func_t invoke_function;
1772 wsrp_SetResourcePropertiesType * SetResourceProperties;
1773 wsrp_SetResourcePropertiesResponseType SetResourcePropertiesResponse;
1774 xsd_QName element_qname;
1775 126 const char * fault_type_name = NULL;
1776 126 ResourcePropertiesTestPortType_SetResourceProperties_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_NOFAULT;
1777 126 void * fault = NULL;
1778
1779 GlobusFuncName(SetResourceProperties_invoke_callback);
1780 126 ResourcePropertiesTestServiceDebugEnter();
1781
1782 126 callback_handle = (SetResourceProperties_callback_handle_t *) handle;
1783
1784 126 SetResourceProperties = globus_soap_message_handle_get_attr(
1785 callback_handle->message,
1786 "SetResourcePropertiesOperationInputParameter");
1787 126 globus_assert(SetResourceProperties);
1788
1789 126 result = globus_operation_table_get_operation(
1790 ResourcePropertiesTestService_descriptor.operations,
1791 "SetResourceProperties",
1792 (void **)&init_function,
1793 (void **)&invoke_function);
1794 126 if(result != GLOBUS_SUCCESS)
1795 {
1796 126 goto fault_exit;
1797 }
1798
1799
1800 126 result = wsrp_SetResourcePropertiesResponseType_init_contents(
1801 &SetResourcePropertiesResponse);
1802 126 if(result != GLOBUS_SUCCESS)
1803 {
1804 126 goto fault_exit;
1805 }
1806
1807 126 result = invoke_function(
1808 callback_handle->engine,
1809 callback_handle->message,
1810 &ResourcePropertiesTestService_descriptor,
1811 SetResourceProperties,
1812 &SetResourcePropertiesResponse,
1813 &fault_type_name,
1814 &fault);
1815
1816 126 fault_exit:
1817
1818 178 if(fault && fault_type_name)
1819 {
1820 52 fault_type = SetResourceProperties_lookup_fault_type(fault_type_name);
1821
1822 52 result = globus_service_session_begin_response(
1823 callback_handle->message);
1824 52 if(result != GLOBUS_SUCCESS)
1825 {
1826 52 goto exit;
1827 }
1828
1829 52 soap_fault.faultcode = "Server";
1830 52 soap_fault.faultstring =
1831 "An error occurred while processing the message";
1832 52 soap_fault.faultactor = NULL;
1833
1834 52 switch(fault_type)
1835 {
1836
1837 case RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_SETRESOURCEPROPERTYREQUESTFAILEDFAULT:
1838
1839 0 xsd_any_init(&soap_fault.detail);
1840 0 soap_fault.detail->any_info = &wsrp_SetResourcePropertyRequestFailedFaultType_info;
1841 0 xsd_QName_init(&soap_fault.detail->element);
1842 0 soap_fault.detail->element->local = "SetResourcePropertyRequestFailedFault";
1843 0 soap_fault.detail->element->Namespace =
1844 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1845 0 soap_fault.detail->value = fault;
1846 0 break;
1847
1848 case RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT:
1849
1850 16 xsd_any_init(&soap_fault.detail);
1851 16 soap_fault.detail->any_info = &wsrp_InvalidResourcePropertyQNameFaultType_info;
1852 16 xsd_QName_init(&soap_fault.detail->element);
1853 16 soap_fault.detail->element->local = "InvalidResourcePropertyQNameFault";
1854 16 soap_fault.detail->element->Namespace =
1855 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1856 16 soap_fault.detail->value = fault;
1857 16 break;
1858
1859 case RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_UNABLETOMODIFYRESOURCEPROPERTYFAULT:
1860
1861 0 xsd_any_init(&soap_fault.detail);
1862 0 soap_fault.detail->any_info = &wsrp_UnableToModifyResourcePropertyFaultType_info;
1863 0 xsd_QName_init(&soap_fault.detail->element);
1864 0 soap_fault.detail->element->local = "UnableToModifyResourcePropertyFault";
1865 0 soap_fault.detail->element->Namespace =
1866 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1867 0 soap_fault.detail->value = fault;
1868 0 break;
1869
1870 case RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_INVALIDSETRESOURCEPROPERTIESREQUESTCONTENTFAULT:
1871
1872 36 xsd_any_init(&soap_fault.detail);
1873 36 soap_fault.detail->any_info = &wsrp_InvalidSetResourcePropertiesRequestContentFaultType_info;
1874 36 xsd_QName_init(&soap_fault.detail->element);
1875 36 soap_fault.detail->element->local = "InvalidSetResourcePropertiesRequestContentFault";
1876 36 soap_fault.detail->element->Namespace =
1877 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1878 36 soap_fault.detail->value = fault;
1879 36 break;
1880
1881 case RESOURCEPROPERTIESTESTPORTTYPE_SETRESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT:
1882
1883 0 xsd_any_init(&soap_fault.detail);
1884 0 soap_fault.detail->any_info = &wsrp_ResourceUnknownFaultType_info;
1885 0 xsd_QName_init(&soap_fault.detail->element);
1886 0 soap_fault.detail->element->local = "ResourceUnknownFault";
1887 0 soap_fault.detail->element->Namespace =
1888 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1889 0 soap_fault.detail->value = fault;
1890 0 break;
1891
1892 default:
1893 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("SetResourceProperties");
1894 0 goto exit;
1895 }
1896
1897 52 result = globus_service_session_serialize_fault_response(
1898 callback_handle->message, &soap_fault);
1899 52 if(result != GLOBUS_SUCCESS)
1900 {
1901 52 goto exit;
1902 }
1903
1904 52 soap_fault.detail->element->local = NULL;
1905 52 soap_fault.detail->element->Namespace = NULL;
1906 52 soap_fault.detail->any_info = NULL;
1907 52 xsd_any_destroy(soap_fault.detail);
1908
1909 52 globus_soap_message_handle_set_attr(
1910 callback_handle->message,
1911 WSADDR_ACTION_RESPONSE_KEY,
1912 globus_soap_message_attr_copy_string,
1913 globus_libc_free,
1914 WSADDRESSING_FAULT_NS);
1915 }
1916 74 else if(result != GLOBUS_SUCCESS)
1917 {
1918 globus_result_t local_result;
1919 0 local_result = globus_service_session_begin_response(
1920 callback_handle->message);
1921 0 if(local_result != GLOBUS_SUCCESS)
1922 {
1923 0 result = local_result;
1924 0 goto exit;
1925 }
1926
1927 0 soap_fault.faultcode = "Server";
1928 0 soap_fault.faultstring = globus_error_print_friendly(
1929 globus_error_get(result));
1930 0 result = GLOBUS_SUCCESS;
1931 0 soap_fault.faultactor = NULL;
1932 0 soap_fault.detail = NULL;
1933 0 result = globus_service_session_serialize_fault_response(
1934 callback_handle->message, &soap_fault);
1935 0 if(result != GLOBUS_SUCCESS)
1936 {
1937 0 goto exit;
1938 }
1939
1940 0 globus_soap_message_handle_set_attr(
1941 callback_handle->message,
1942 WSADDR_ACTION_RESPONSE_KEY,
1943 globus_soap_message_attr_copy_string,
1944 globus_libc_free,
1945 WSADDRESSING_FAULT_NS);
1946 }
1947 else
1948 {
1949 74 result = globus_service_session_begin_response(
1950 callback_handle->message);
1951 74 if(result != GLOBUS_SUCCESS)
1952 {
1953 74 goto exit;
1954 }
1955
1956 74 element_qname.local = "SetResourcePropertiesResponse";
1957 74 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
1958
1959 74 result = wsrp_SetResourcePropertiesResponseType_serialize(
1960 &element_qname,
1961 &SetResourcePropertiesResponse,
1962 callback_handle->message,
1963 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
1964 74 if(result != GLOBUS_SUCCESS)
1965 {
1966 74 goto exit;
1967 }
1968
1969 74 result = globus_service_session_end_response(
1970 callback_handle->message);
1971 74 if(result != GLOBUS_SUCCESS)
1972 {
1973 74 goto exit;
1974 }
1975
1976 74 wsrp_SetResourcePropertiesResponseType_destroy_contents(
1977 &SetResourcePropertiesResponse);
1978
1979 74 globus_soap_message_handle_set_attr(
1980 callback_handle->message,
1981 WSADDR_ACTION_RESPONSE_KEY,
1982 globus_soap_message_attr_copy_string,
1983 globus_libc_free,
1984 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/SetResourcePropertiesResponse");
1985 }
1986
1987 126 exit:
1988
1989 126 callback_handle->callback(
1990 result,
1991 callback_handle->args);
1992
1993 126 globus_libc_free(callback_handle);
1994
1995 126 ResourcePropertiesTestServiceDebugExit();
1996 }
1997
1998 static
1999 globus_result_t
2000 SetResourceProperties_invoke(
2001 globus_service_engine_t engine,
2002 globus_soap_message_handle_t message,
2003 globus_service_response_t * response,
2004 globus_operation_invoke_callback_func_t invoke_callback,
2005 void * args)
2006 126 {
2007 SetResourceProperties_callback_handle_t * callback_handle;
2008 126 globus_result_t result = GLOBUS_SUCCESS;
2009 GlobusFuncName(ResourcePropertiesTestPortType_SetResourceProperties);
2010 126 ResourcePropertiesTestServiceDebugEnter();
2011
2012 126 callback_handle = malloc(sizeof(SetResourceProperties_callback_handle_t));
2013 126 if(!callback_handle)
2014 {
2015 0 result = GlobusSoapMessageErrorOutOfMemory;
2016 0 goto exit;
2017 }
2018 126 memset(callback_handle, 0, sizeof(SetResourceProperties_callback_handle_t));
2019
2020 126 callback_handle->engine = engine;
2021 126 callback_handle->message = message;
2022 126 callback_handle->callback = invoke_callback;
2023 126 callback_handle->args = args;
2024
2025 126 result = globus_callback_register_oneshot(
2026 NULL,
2027 &globus_i_reltime_zero,
2028 SetResourceProperties_invoke_callback,
2029 callback_handle);
2030
2031 126 exit:
2032 126 ResourcePropertiesTestServiceDebugExit();
2033 126 return result;
2034 }
2035
2036 static
2037 globus_service_operation_descriptor_t
2038 SetResourceProperties_operation_descriptor =
2039 {
2040 SetResourceProperties_deserialize,
2041 SetResourceProperties_invoke
2042 };
2043
2044 static
2045 globus_operation_provider_descriptor_t SetResourceProperties_descriptor =
2046 {
2047 &ResourcePropertiesTestPortType_SetResourceProperties_op_qname,
2048 "SetResourceProperties",
2049 (void *)ResourcePropertiesTestPortType_SetResourceProperties_init,
2050 (void *)ResourcePropertiesTestPortType_SetResourceProperties_impl,
2051 NULL
2052 };
2053
2054
2055 xsd_QName ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname =
2056 {
2057 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
2058 "GetMultipleResourceProperties"
2059 };
2060
2061 xsd_QName ResourcePropertiesTestPortType_GetMultipleResourceProperties_input_qname =
2062 {
2063 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd",
2064 "GetMultipleResourceProperties"
2065 };
2066
2067 typedef globus_result_t (* GetMultipleResourceProperties_init_func_t) (
2068 globus_service_engine_t engine,
2069 globus_soap_message_handle_t message,
2070 wsrp_GetMultipleResourcePropertiesType * GetMultipleResourceProperties);
2071
2072 typedef globus_result_t (* GetMultipleResourceProperties_invoke_func_t) (
2073 globus_service_engine_t engine,
2074 globus_soap_message_handle_t message,
2075 globus_service_descriptor_t * descriptor,
2076 wsrp_GetMultipleResourcePropertiesType * GetMultipleResourceProperties,
2077 wsrp_GetMultipleResourcePropertiesResponseType * GetMultipleResourcePropertiesResponse,
2078 const char ** fault_type_name,
2079 void ** fault);
2080
2081 typedef struct GetMultipleResourceProperties_callback_handle_s
2082 {
2083 globus_service_engine_t engine;
2084 globus_soap_message_handle_t message;
2085 globus_operation_invoke_callback_func_t callback;
2086 void * args;
2087 } GetMultipleResourceProperties_callback_handle_t;
2088
2089
2090 const char * ResourcePropertiesTestPortType_GetMultipleResourceProperties_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT] =
2091 {
2092 "Unknown",
2093 "InvalidResourcePropertyQNameFault",
2094 "ResourceUnknownFault"
2095 };
2096
2097 static
2098 ResourcePropertiesTestPortType_GetMultipleResourceProperties_fault_t
2099 GetMultipleResourceProperties_lookup_fault_type(
2100 const char * fault_name)
2101 0 {
2102 ResourcePropertiesTestPortType_GetMultipleResourceProperties_fault_t fault_type;
2103 GlobusFuncName(GetMultipleResourceProperties_lookup_fault_type);
2104 0 ResourcePropertiesTestServiceDebugEnter();
2105
2106 0 globus_assert(fault_name);
2107
2108 0 if(!strcmp(fault_name, "InvalidResourcePropertyQNameFault"))
2109 {
2110 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT;
2111 }
2112 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
2113 {
2114 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT;
2115 }
2116 else
2117 {
2118 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_UNKNOWN_FAULT;
2119 }
2120
2121 0 ResourcePropertiesTestServiceDebugExit();
2122 0 return fault_type;
2123 }
2124
2125
2126
2127 static
2128 void
2129 GetMultipleResourceProperties_deserialize_callback(
2130 void * handle)
2131 8 {
2132 GetMultipleResourceProperties_callback_handle_t * callback_handle;
2133 8 globus_result_t result = GLOBUS_SUCCESS;
2134 struct globus_soap_message_fault_s soap_fault;
2135 GetMultipleResourceProperties_init_func_t init_function;
2136 GetMultipleResourceProperties_invoke_func_t invoke_function;
2137 wsrp_GetMultipleResourcePropertiesType * GetMultipleResourceProperties;
2138 GlobusFuncName(GetMultipleResourceProperties_deserialize_callback);
2139 8 ResourcePropertiesTestServiceDebugEnter();
2140
2141 8 callback_handle = (GetMultipleResourceProperties_callback_handle_t *) handle;
2142
2143 8 result = globus_operation_table_get_operation(
2144 ResourcePropertiesTestService_descriptor.operations,
2145 "GetMultipleResourceProperties",
2146 (void **)&init_function,
2147 (void **)&invoke_function);
2148 8 if(result != GLOBUS_SUCCESS)
2149 {
2150 8 goto exit;
2151 }
2152
2153 8 if(ResourcePropertiesTestService_descriptor.registry)
2154 {
2155 8 globus_soap_message_handle_set_registry(
2156 callback_handle->message,
2157 ResourcePropertiesTestService_descriptor.registry);
2158 }
2159
2160 8 result = wsrp_GetMultipleResourcePropertiesType_init(
2161 &GetMultipleResourceProperties);
2162 8 if(result != GLOBUS_SUCCESS)
2163 {
2164 8 goto exit;
2165 }
2166
2167 8 if(init_function)
2168 {
2169 /* do service specific initialization stuff */
2170 8 result = init_function(
2171 callback_handle->engine,
2172 callback_handle->message,
2173 GetMultipleResourceProperties);
2174 8 if(result != GLOBUS_SUCCESS)
2175 {
2176 8 goto free_exit;
2177 }
2178 }
2179
2180 8 result = wsrp_GetMultipleResourcePropertiesType_deserialize(
2181 &ResourcePropertiesTestPortType_GetMultipleResourceProperties_input_qname,
2182 GetMultipleResourceProperties,
2183 callback_handle->message,
2184 0);
2185 8 if(result != GLOBUS_SUCCESS)
2186 {
2187 8 goto free_exit;
2188 }
2189
2190 8 result = globus_soap_message_handle_set_attr(
2191 callback_handle->message,
2192 "GetMultipleResourcePropertiesOperationInputParameter",
2193 wsrp_GetMultipleResourcePropertiesType_copy_wrapper,
2194 wsrp_GetMultipleResourcePropertiesType_destroy_wrapper,
2195 (void *)GetMultipleResourceProperties);
2196 if(result != GLOBUS_SUCCESS)
2197 {
2198 goto free_exit;
2199 }
2200
2201 8 free_exit:
2202 8 wsrp_GetMultipleResourcePropertiesType_destroy(GetMultipleResourceProperties);
2203
2204 8 exit:
2205
2206 8 callback_handle->callback(
2207 result,
2208 callback_handle->args);
2209 8 free(callback_handle);
2210 8 ResourcePropertiesTestServiceDebugExit();
2211 }
2212 /* GetMultipleResourceProperties_deserialize_callback() */
2213
2214 static
2215 globus_result_t
2216 GetMultipleResourceProperties_deserialize(
2217 globus_service_engine_t engine,
2218 globus_soap_message_handle_t message,
2219 globus_operation_invoke_callback_func_t invoke_callback,
2220 void * args)
2221 8 {
2222 GetMultipleResourceProperties_callback_handle_t * callback_handle;
2223 8 globus_result_t result = GLOBUS_SUCCESS;
2224 GlobusFuncName(GetMultipleResourceProperties_deserialize);
2225 8 ResourcePropertiesTestServiceDebugEnter();
2226
2227 8 callback_handle = malloc(sizeof(GetMultipleResourceProperties_callback_handle_t));
2228 8 globus_assert_string(callback_handle,
2229 "Memory allocation failed "
2230 "for GetMultipleResourceProperties callback handle");
2231 8 memset(callback_handle, 0, sizeof(GetMultipleResourceProperties_callback_handle_t));
2232
2233 8 callback_handle->engine = engine;
2234 8 callback_handle->message = message;
2235 8 callback_handle->callback = invoke_callback;
2236 8 callback_handle->args = args;
2237
2238 8 result = globus_callback_register_oneshot(
2239 NULL,
2240 &globus_i_reltime_zero,
2241 GetMultipleResourceProperties_deserialize_callback,
2242 callback_handle);
2243
2244 8 ResourcePropertiesTestServiceDebugExit();
2245 8 return result;
2246 }
2247
2248 static
2249 void
2250 GetMultipleResourceProperties_invoke_callback(
2251 void * handle)
2252 8 {
2253 GetMultipleResourceProperties_callback_handle_t * callback_handle;
2254 8 globus_result_t result = GLOBUS_SUCCESS;
2255 struct globus_soap_message_fault_s soap_fault;
2256 GetMultipleResourceProperties_init_func_t init_function;
2257 GetMultipleResourceProperties_invoke_func_t invoke_function;
2258 wsrp_GetMultipleResourcePropertiesType * GetMultipleResourceProperties;
2259 wsrp_GetMultipleResourcePropertiesResponseType GetMultipleResourcePropertiesResponse;
2260 xsd_QName element_qname;
2261 8 const char * fault_type_name = NULL;
2262 8 ResourcePropertiesTestPortType_GetMultipleResourceProperties_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_NOFAULT;
2263 8 void * fault = NULL;
2264
2265 GlobusFuncName(GetMultipleResourceProperties_invoke_callback);
2266 8 ResourcePropertiesTestServiceDebugEnter();
2267
2268 8 callback_handle = (GetMultipleResourceProperties_callback_handle_t *) handle;
2269
2270 8 GetMultipleResourceProperties = globus_soap_message_handle_get_attr(
2271 callback_handle->message,
2272 "GetMultipleResourcePropertiesOperationInputParameter");
2273 8 globus_assert(GetMultipleResourceProperties);
2274
2275 8 result = globus_operation_table_get_operation(
2276 ResourcePropertiesTestService_descriptor.operations,
2277 "GetMultipleResourceProperties",
2278 (void **)&init_function,
2279 (void **)&invoke_function);
2280 8 if(result != GLOBUS_SUCCESS)
2281 {
2282 8 goto fault_exit;
2283 }
2284
2285
2286 8 result = wsrp_GetMultipleResourcePropertiesResponseType_init_contents(
2287 &GetMultipleResourcePropertiesResponse);
2288 8 if(result != GLOBUS_SUCCESS)
2289 {
2290 8 goto fault_exit;
2291 }
2292
2293 8 result = invoke_function(
2294 callback_handle->engine,
2295 callback_handle->message,
2296 &ResourcePropertiesTestService_descriptor,
2297 GetMultipleResourceProperties,
2298 &GetMultipleResourcePropertiesResponse,
2299 &fault_type_name,
2300 &fault);
2301
2302 8 fault_exit:
2303
2304 8 if(fault && fault_type_name)
2305 {
2306 0 fault_type = GetMultipleResourceProperties_lookup_fault_type(fault_type_name);
2307
2308 0 result = globus_service_session_begin_response(
2309 callback_handle->message);
2310 0 if(result != GLOBUS_SUCCESS)
2311 {
2312 0 goto exit;
2313 }
2314
2315 0 soap_fault.faultcode = "Server";
2316 0 soap_fault.faultstring =
2317 "An error occurred while processing the message";
2318 0 soap_fault.faultactor = NULL;
2319
2320 0 switch(fault_type)
2321 {
2322
2323 case RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_INVALIDRESOURCEPROPERTYQNAMEFAULT:
2324
2325 0 xsd_any_init(&soap_fault.detail);
2326 0 soap_fault.detail->any_info = &wsrp_InvalidResourcePropertyQNameFaultType_info;
2327 0 xsd_QName_init(&soap_fault.detail->element);
2328 0 soap_fault.detail->element->local = "InvalidResourcePropertyQNameFault";
2329 0 soap_fault.detail->element->Namespace =
2330 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2331 0 soap_fault.detail->value = fault;
2332 0 break;
2333
2334 case RESOURCEPROPERTIESTESTPORTTYPE_GETMULTIPLERESOURCEPROPERTIES_RESOURCEUNKNOWNFAULT:
2335
2336 0 xsd_any_init(&soap_fault.detail);
2337 0 soap_fault.detail->any_info = &wsrp_ResourceUnknownFaultType_info;
2338 0 xsd_QName_init(&soap_fault.detail->element);
2339 0 soap_fault.detail->element->local = "ResourceUnknownFault";
2340 0 soap_fault.detail->element->Namespace =
2341 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2342 0 soap_fault.detail->value = fault;
2343 0 break;
2344
2345 default:
2346 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("GetMultipleResourceProperties");
2347 0 goto exit;
2348 }
2349
2350 0 result = globus_service_session_serialize_fault_response(
2351 callback_handle->message, &soap_fault);
2352 0 if(result != GLOBUS_SUCCESS)
2353 {
2354 0 goto exit;
2355 }
2356
2357 0 soap_fault.detail->element->local = NULL;
2358 0 soap_fault.detail->element->Namespace = NULL;
2359 0 soap_fault.detail->any_info = NULL;
2360 0 xsd_any_destroy(soap_fault.detail);
2361
2362 0 globus_soap_message_handle_set_attr(
2363 callback_handle->message,
2364 WSADDR_ACTION_RESPONSE_KEY,
2365 globus_soap_message_attr_copy_string,
2366 globus_libc_free,
2367 WSADDRESSING_FAULT_NS);
2368 }
2369 8 else if(result != GLOBUS_SUCCESS)
2370 {
2371 globus_result_t local_result;
2372 0 local_result = globus_service_session_begin_response(
2373 callback_handle->message);
2374 0 if(local_result != GLOBUS_SUCCESS)
2375 {
2376 0 result = local_result;
2377 0 goto exit;
2378 }
2379
2380 0 soap_fault.faultcode = "Server";
2381 0 soap_fault.faultstring = globus_error_print_friendly(
2382 globus_error_get(result));
2383 0 result = GLOBUS_SUCCESS;
2384 0 soap_fault.faultactor = NULL;
2385 0 soap_fault.detail = NULL;
2386 0 result = globus_service_session_serialize_fault_response(
2387 callback_handle->message, &soap_fault);
2388 0 if(result != GLOBUS_SUCCESS)
2389 {
2390 0 goto exit;
2391 }
2392
2393 0 globus_soap_message_handle_set_attr(
2394 callback_handle->message,
2395 WSADDR_ACTION_RESPONSE_KEY,
2396 globus_soap_message_attr_copy_string,
2397 globus_libc_free,
2398 WSADDRESSING_FAULT_NS);
2399 }
2400 else
2401 {
2402 8 result = globus_service_session_begin_response(
2403 callback_handle->message);
2404 8 if(result != GLOBUS_SUCCESS)
2405 {
2406 8 goto exit;
2407 }
2408
2409 8 element_qname.local = "GetMultipleResourcePropertiesResponse";
2410 8 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2411
2412 8 result = wsrp_GetMultipleResourcePropertiesResponseType_serialize(
2413 &element_qname,
2414 &GetMultipleResourcePropertiesResponse,
2415 callback_handle->message,
2416 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
2417 8 if(result != GLOBUS_SUCCESS)
2418 {
2419 8 goto exit;
2420 }
2421
2422 8 result = globus_service_session_end_response(
2423 callback_handle->message);
2424 8 if(result != GLOBUS_SUCCESS)
2425 {
2426 8 goto exit;
2427 }
2428
2429 8 wsrp_GetMultipleResourcePropertiesResponseType_destroy_contents(
2430 &GetMultipleResourcePropertiesResponse);
2431
2432 8 globus_soap_message_handle_set_attr(
2433 callback_handle->message,
2434 WSADDR_ACTION_RESPONSE_KEY,
2435 globus_soap_message_attr_copy_string,
2436 globus_libc_free,
2437 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/GetMultipleResourcePropertiesResponse");
2438 }
2439
2440 8 exit:
2441
2442 8 callback_handle->callback(
2443 result,
2444 callback_handle->args);
2445
2446 8 globus_libc_free(callback_handle);
2447
2448 8 ResourcePropertiesTestServiceDebugExit();
2449 }
2450
2451 static
2452 globus_result_t
2453 GetMultipleResourceProperties_invoke(
2454 globus_service_engine_t engine,
2455 globus_soap_message_handle_t message,
2456 globus_service_response_t * response,
2457 globus_operation_invoke_callback_func_t invoke_callback,
2458 void * args)
2459 8 {
2460 GetMultipleResourceProperties_callback_handle_t * callback_handle;
2461 8 globus_result_t result = GLOBUS_SUCCESS;
2462 GlobusFuncName(ResourcePropertiesTestPortType_GetMultipleResourceProperties);
2463 8 ResourcePropertiesTestServiceDebugEnter();
2464
2465 8 callback_handle = malloc(sizeof(GetMultipleResourceProperties_callback_handle_t));
2466 8 if(!callback_handle)
2467 {
2468 0 result = GlobusSoapMessageErrorOutOfMemory;
2469 0 goto exit;
2470 }
2471 8 memset(callback_handle, 0, sizeof(GetMultipleResourceProperties_callback_handle_t));
2472
2473 8 callback_handle->engine = engine;
2474 8 callback_handle->message = message;
2475 8 callback_handle->callback = invoke_callback;
2476 8 callback_handle->args = args;
2477
2478 8 result = globus_callback_register_oneshot(
2479 NULL,
2480 &globus_i_reltime_zero,
2481 GetMultipleResourceProperties_invoke_callback,
2482 callback_handle);
2483
2484 8 exit:
2485 8 ResourcePropertiesTestServiceDebugExit();
2486 8 return result;
2487 }
2488
2489 static
2490 globus_service_operation_descriptor_t
2491 GetMultipleResourceProperties_operation_descriptor =
2492 {
2493 GetMultipleResourceProperties_deserialize,
2494 GetMultipleResourceProperties_invoke
2495 };
2496
2497 static
2498 globus_operation_provider_descriptor_t GetMultipleResourceProperties_descriptor =
2499 {
2500 &ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname,
2501 "GetMultipleResourceProperties",
2502 (void *)ResourcePropertiesTestPortType_GetMultipleResourceProperties_init,
2503 (void *)ResourcePropertiesTestPortType_GetMultipleResourceProperties_impl,
2504 NULL
2505 };
2506
2507
2508 xsd_QName ResourcePropertiesTestPortType_GetResourceProperty_op_qname =
2509 {
2510 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
2511 "GetResourceProperty"
2512 };
2513
2514 xsd_QName ResourcePropertiesTestPortType_GetResourceProperty_input_qname =
2515 {
2516 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd",
2517 "GetResourceProperty"
2518 };
2519
2520 typedef globus_result_t (* GetResourceProperty_init_func_t) (
2521 globus_service_engine_t engine,
2522 globus_soap_message_handle_t message,
2523 xsd_QName * GetResourceProperty);
2524
2525 typedef globus_result_t (* GetResourceProperty_invoke_func_t) (
2526 globus_service_engine_t engine,
2527 globus_soap_message_handle_t message,
2528 globus_service_descriptor_t * descriptor,
2529 xsd_QName * GetResourceProperty,
2530 wsrp_GetResourcePropertyResponseType * GetResourcePropertyResponse,
2531 const char ** fault_type_name,
2532 void ** fault);
2533
2534 typedef struct GetResourceProperty_callback_handle_s
2535 {
2536 globus_service_engine_t engine;
2537 globus_soap_message_handle_t message;
2538 globus_operation_invoke_callback_func_t callback;
2539 void * args;
2540 } GetResourceProperty_callback_handle_t;
2541
2542
2543 const char * ResourcePropertiesTestPortType_GetResourceProperty_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_RESOURCEUNKNOWNFAULT] =
2544 {
2545 "Unknown",
2546 "InvalidResourcePropertyQNameFault",
2547 "ResourceUnknownFault"
2548 };
2549
2550 static
2551 ResourcePropertiesTestPortType_GetResourceProperty_fault_t
2552 GetResourceProperty_lookup_fault_type(
2553 const char * fault_name)
2554 12 {
2555 ResourcePropertiesTestPortType_GetResourceProperty_fault_t fault_type;
2556 GlobusFuncName(GetResourceProperty_lookup_fault_type);
2557 12 ResourcePropertiesTestServiceDebugEnter();
2558
2559 12 globus_assert(fault_name);
2560
2561 12 if(!strcmp(fault_name, "InvalidResourcePropertyQNameFault"))
2562 {
2563 12 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_INVALIDRESOURCEPROPERTYQNAMEFAULT;
2564 }
2565 0 else if(!strcmp(fault_name, "ResourceUnknownFault"))
2566 {
2567 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_RESOURCEUNKNOWNFAULT;
2568 }
2569 else
2570 {
2571 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_UNKNOWN_FAULT;
2572 }
2573
2574 12 ResourcePropertiesTestServiceDebugExit();
2575 12 return fault_type;
2576 }
2577
2578
2579
2580 static
2581 void
2582 GetResourceProperty_deserialize_callback(
2583 void * handle)
2584 78 {
2585 GetResourceProperty_callback_handle_t * callback_handle;
2586 78 globus_result_t result = GLOBUS_SUCCESS;
2587 struct globus_soap_message_fault_s soap_fault;
2588 GetResourceProperty_init_func_t init_function;
2589 GetResourceProperty_invoke_func_t invoke_function;
2590 xsd_QName * GetResourceProperty;
2591 GlobusFuncName(GetResourceProperty_deserialize_callback);
2592 78 ResourcePropertiesTestServiceDebugEnter();
2593
2594 78 callback_handle = (GetResourceProperty_callback_handle_t *) handle;
2595
2596 78 result = globus_operation_table_get_operation(
2597 ResourcePropertiesTestService_descriptor.operations,
2598 "GetResourceProperty",
2599 (void **)&init_function,
2600 (void **)&invoke_function);
2601 78 if(result != GLOBUS_SUCCESS)
2602 {
2603 78 goto exit;
2604 }
2605
2606 78 if(ResourcePropertiesTestService_descriptor.registry)
2607 {
2608 78 globus_soap_message_handle_set_registry(
2609 callback_handle->message,
2610 ResourcePropertiesTestService_descriptor.registry);
2611 }
2612
2613 78 result = xsd_QName_init(
2614 &GetResourceProperty);
2615 78 if(result != GLOBUS_SUCCESS)
2616 {
2617 78 goto exit;
2618 }
2619
2620 78 if(init_function)
2621 {
2622 /* do service specific initialization stuff */
2623 78 result = init_function(
2624 callback_handle->engine,
2625 callback_handle->message,
2626 GetResourceProperty);
2627 78 if(result != GLOBUS_SUCCESS)
2628 {
2629 78 goto free_exit;
2630 }
2631 }
2632
2633 78 result = xsd_QName_deserialize(
2634 &ResourcePropertiesTestPortType_GetResourceProperty_input_qname,
2635 GetResourceProperty,
2636 callback_handle->message,
2637 0);
2638 78 if(result != GLOBUS_SUCCESS)
2639 {
2640 78 goto free_exit;
2641 }
2642
2643 78 result = globus_soap_message_handle_set_attr(
2644 callback_handle->message,
2645 "GetResourcePropertyOperationInputParameter",
2646 xsd_QName_copy_wrapper,
2647 xsd_QName_destroy_wrapper,
2648 (void *)GetResourceProperty);
2649 if(result != GLOBUS_SUCCESS)
2650 {
2651 goto free_exit;
2652 }
2653
2654 78 free_exit:
2655 78 xsd_QName_destroy(GetResourceProperty);
2656
2657 78 exit:
2658
2659 78 callback_handle->callback(
2660 result,
2661 callback_handle->args);
2662 78 free(callback_handle);
2663 78 ResourcePropertiesTestServiceDebugExit();
2664 }
2665 /* GetResourceProperty_deserialize_callback() */
2666
2667 static
2668 globus_result_t
2669 GetResourceProperty_deserialize(
2670 globus_service_engine_t engine,
2671 globus_soap_message_handle_t message,
2672 globus_operation_invoke_callback_func_t invoke_callback,
2673 void * args)
2674 78 {
2675 GetResourceProperty_callback_handle_t * callback_handle;
2676 78 globus_result_t result = GLOBUS_SUCCESS;
2677 GlobusFuncName(GetResourceProperty_deserialize);
2678 78 ResourcePropertiesTestServiceDebugEnter();
2679
2680 78 callback_handle = malloc(sizeof(GetResourceProperty_callback_handle_t));
2681 78 globus_assert_string(callback_handle,
2682 "Memory allocation failed "
2683 "for GetResourceProperty callback handle");
2684 78 memset(callback_handle, 0, sizeof(GetResourceProperty_callback_handle_t));
2685
2686 78 callback_handle->engine = engine;
2687 78 callback_handle->message = message;
2688 78 callback_handle->callback = invoke_callback;
2689 78 callback_handle->args = args;
2690
2691 78 result = globus_callback_register_oneshot(
2692 NULL,
2693 &globus_i_reltime_zero,
2694 GetResourceProperty_deserialize_callback,
2695 callback_handle);
2696
2697 78 ResourcePropertiesTestServiceDebugExit();
2698 78 return result;
2699 }
2700
2701 static
2702 void
2703 GetResourceProperty_invoke_callback(
2704 void * handle)
2705 78 {
2706 GetResourceProperty_callback_handle_t * callback_handle;
2707 78 globus_result_t result = GLOBUS_SUCCESS;
2708 struct globus_soap_message_fault_s soap_fault;
2709 GetResourceProperty_init_func_t init_function;
2710 GetResourceProperty_invoke_func_t invoke_function;
2711 xsd_QName * GetResourceProperty;
2712 wsrp_GetResourcePropertyResponseType GetResourcePropertyResponse;
2713 xsd_QName element_qname;
2714 78 const char * fault_type_name = NULL;
2715 78 ResourcePropertiesTestPortType_GetResourceProperty_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_NOFAULT;
2716 78 void * fault = NULL;
2717
2718 GlobusFuncName(GetResourceProperty_invoke_callback);
2719 78 ResourcePropertiesTestServiceDebugEnter();
2720
2721 78 callback_handle = (GetResourceProperty_callback_handle_t *) handle;
2722
2723 78 GetResourceProperty = globus_soap_message_handle_get_attr(
2724 callback_handle->message,
2725 "GetResourcePropertyOperationInputParameter");
2726 78 globus_assert(GetResourceProperty);
2727
2728 78 result = globus_operation_table_get_operation(
2729 ResourcePropertiesTestService_descriptor.operations,
2730 "GetResourceProperty",
2731 (void **)&init_function,
2732 (void **)&invoke_function);
2733 78 if(result != GLOBUS_SUCCESS)
2734 {
2735 78 goto fault_exit;
2736 }
2737
2738
2739 78 result = wsrp_GetResourcePropertyResponseType_init_contents(
2740 &GetResourcePropertyResponse);
2741 78 if(result != GLOBUS_SUCCESS)
2742 {
2743 78 goto fault_exit;
2744 }
2745
2746 78 result = invoke_function(
2747 callback_handle->engine,
2748 callback_handle->message,
2749 &ResourcePropertiesTestService_descriptor,
2750 GetResourceProperty,
2751 &GetResourcePropertyResponse,
2752 &fault_type_name,
2753 &fault);
2754
2755 78 fault_exit:
2756
2757 90 if(fault && fault_type_name)
2758 {
2759 12 fault_type = GetResourceProperty_lookup_fault_type(fault_type_name);
2760
2761 12 result = globus_service_session_begin_response(
2762 callback_handle->message);
2763 12 if(result != GLOBUS_SUCCESS)
2764 {
2765 12 goto exit;
2766 }
2767
2768 12 soap_fault.faultcode = "Server";
2769 12 soap_fault.faultstring =
2770 "An error occurred while processing the message";
2771 12 soap_fault.faultactor = NULL;
2772
2773 12 switch(fault_type)
2774 {
2775
2776 case RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_INVALIDRESOURCEPROPERTYQNAMEFAULT:
2777
2778 12 xsd_any_init(&soap_fault.detail);
2779 12 soap_fault.detail->any_info = &wsrp_InvalidResourcePropertyQNameFaultType_info;
2780 12 xsd_QName_init(&soap_fault.detail->element);
2781 12 soap_fault.detail->element->local = "InvalidResourcePropertyQNameFault";
2782 12 soap_fault.detail->element->Namespace =
2783 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2784 12 soap_fault.detail->value = fault;
2785 12 break;
2786
2787 case RESOURCEPROPERTIESTESTPORTTYPE_GETRESOURCEPROPERTY_RESOURCEUNKNOWNFAULT:
2788
2789 0 xsd_any_init(&soap_fault.detail);
2790 0 soap_fault.detail->any_info = &wsrp_ResourceUnknownFaultType_info;
2791 0 xsd_QName_init(&soap_fault.detail->element);
2792 0 soap_fault.detail->element->local = "ResourceUnknownFault";
2793 0 soap_fault.detail->element->Namespace =
2794 "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2795 0 soap_fault.detail->value = fault;
2796 0 break;
2797
2798 default:
2799 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("GetResourceProperty");
2800 0 goto exit;
2801 }
2802
2803 12 result = globus_service_session_serialize_fault_response(
2804 callback_handle->message, &soap_fault);
2805 12 if(result != GLOBUS_SUCCESS)
2806 {
2807 12 goto exit;
2808 }
2809
2810 12 soap_fault.detail->element->local = NULL;
2811 12 soap_fault.detail->element->Namespace = NULL;
2812 12 soap_fault.detail->any_info = NULL;
2813 12 xsd_any_destroy(soap_fault.detail);
2814
2815 12 globus_soap_message_handle_set_attr(
2816 callback_handle->message,
2817 WSADDR_ACTION_RESPONSE_KEY,
2818 globus_soap_message_attr_copy_string,
2819 globus_libc_free,
2820 WSADDRESSING_FAULT_NS);
2821 }
2822 66 else if(result != GLOBUS_SUCCESS)
2823 {
2824 globus_result_t local_result;
2825 0 local_result = globus_service_session_begin_response(
2826 callback_handle->message);
2827 0 if(local_result != GLOBUS_SUCCESS)
2828 {
2829 0 result = local_result;
2830 0 goto exit;
2831 }
2832
2833 0 soap_fault.faultcode = "Server";
2834 0 soap_fault.faultstring = globus_error_print_friendly(
2835 globus_error_get(result));
2836 0 result = GLOBUS_SUCCESS;
2837 0 soap_fault.faultactor = NULL;
2838 0 soap_fault.detail = NULL;
2839 0 result = globus_service_session_serialize_fault_response(
2840 callback_handle->message, &soap_fault);
2841 0 if(result != GLOBUS_SUCCESS)
2842 {
2843 0 goto exit;
2844 }
2845
2846 0 globus_soap_message_handle_set_attr(
2847 callback_handle->message,
2848 WSADDR_ACTION_RESPONSE_KEY,
2849 globus_soap_message_attr_copy_string,
2850 globus_libc_free,
2851 WSADDRESSING_FAULT_NS);
2852 }
2853 else
2854 {
2855 66 result = globus_service_session_begin_response(
2856 callback_handle->message);
2857 66 if(result != GLOBUS_SUCCESS)
2858 {
2859 66 goto exit;
2860 }
2861
2862 66 element_qname.local = "GetResourcePropertyResponse";
2863 66 element_qname.Namespace = "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd";
2864
2865 66 result = wsrp_GetResourcePropertyResponseType_serialize(
2866 &element_qname,
2867 &GetResourcePropertyResponse,
2868 callback_handle->message,
2869 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
2870 66 if(result != GLOBUS_SUCCESS)
2871 {
2872 66 goto exit;
2873 }
2874
2875 66 result = globus_service_session_end_response(
2876 callback_handle->message);
2877 66 if(result != GLOBUS_SUCCESS)
2878 {
2879 66 goto exit;
2880 }
2881
2882 66 wsrp_GetResourcePropertyResponseType_destroy_contents(
2883 &GetResourcePropertyResponse);
2884
2885 66 globus_soap_message_handle_set_attr(
2886 callback_handle->message,
2887 WSADDR_ACTION_RESPONSE_KEY,
2888 globus_soap_message_attr_copy_string,
2889 globus_libc_free,
2890 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/GetResourcePropertyResponse");
2891 }
2892
2893 78 exit:
2894
2895 78 callback_handle->callback(
2896 result,
2897 callback_handle->args);
2898
2899 78 globus_libc_free(callback_handle);
2900
2901 78 ResourcePropertiesTestServiceDebugExit();
2902 }
2903
2904 static
2905 globus_result_t
2906 GetResourceProperty_invoke(
2907 globus_service_engine_t engine,
2908 globus_soap_message_handle_t message,
2909 globus_service_response_t * response,
2910 globus_operation_invoke_callback_func_t invoke_callback,
2911 void * args)
2912 78 {
2913 GetResourceProperty_callback_handle_t * callback_handle;
2914 78 globus_result_t result = GLOBUS_SUCCESS;
2915 GlobusFuncName(ResourcePropertiesTestPortType_GetResourceProperty);
2916 78 ResourcePropertiesTestServiceDebugEnter();
2917
2918 78 callback_handle = malloc(sizeof(GetResourceProperty_callback_handle_t));
2919 78 if(!callback_handle)
2920 {
2921 0 result = GlobusSoapMessageErrorOutOfMemory;
2922 0 goto exit;
2923 }
2924 78 memset(callback_handle, 0, sizeof(GetResourceProperty_callback_handle_t));
2925
2926 78 callback_handle->engine = engine;
2927 78 callback_handle->message = message;
2928 78 callback_handle->callback = invoke_callback;
2929 78 callback_handle->args = args;
2930
2931 78 result = globus_callback_register_oneshot(
2932 NULL,
2933 &globus_i_reltime_zero,
2934 GetResourceProperty_invoke_callback,
2935 callback_handle);
2936
2937 78 exit:
2938 78 ResourcePropertiesTestServiceDebugExit();
2939 78 return result;
2940 }
2941
2942 static
2943 globus_service_operation_descriptor_t
2944 GetResourceProperty_operation_descriptor =
2945 {
2946 GetResourceProperty_deserialize,
2947 GetResourceProperty_invoke
2948 };
2949
2950 static
2951 globus_operation_provider_descriptor_t GetResourceProperty_descriptor =
2952 {
2953 &ResourcePropertiesTestPortType_GetResourceProperty_op_qname,
2954 "GetResourceProperty",
2955 (void *)ResourcePropertiesTestPortType_GetResourceProperty_init,
2956 (void *)ResourcePropertiesTestPortType_GetResourceProperty_impl,
2957 NULL
2958 };
2959
2960
2961 xsd_QName ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname =
2962 {
2963 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
2964 "CreateResourcePropertiesTest"
2965 };
2966
2967 xsd_QName ResourcePropertiesTestPortType_CreateResourcePropertiesTest_input_qname =
2968 {
2969 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest",
2970 "CreateResourcePropertiesTest"
2971 };
2972
2973 typedef globus_result_t (* CreateResourcePropertiesTest_init_func_t) (
2974 globus_service_engine_t engine,
2975 globus_soap_message_handle_t message,
2976 rptest_CreateResourcePropertiesTestType * CreateResourcePropertiesTest);
2977
2978 typedef globus_result_t (* CreateResourcePropertiesTest_invoke_func_t) (
2979 globus_service_engine_t engine,
2980 globus_soap_message_handle_t message,
2981 globus_service_descriptor_t * descriptor,
2982 rptest_CreateResourcePropertiesTestType * CreateResourcePropertiesTest,
2983 rptest_CreateResourcePropertiesTestResponseType * CreateResourcePropertiesTestResponse,
2984 const char ** fault_type_name,
2985 void ** fault);
2986
2987 typedef struct CreateResourcePropertiesTest_callback_handle_s
2988 {
2989 globus_service_engine_t engine;
2990 globus_soap_message_handle_t message;
2991 globus_operation_invoke_callback_func_t callback;
2992 void * args;
2993 } CreateResourcePropertiesTest_callback_handle_t;
2994
2995
2996 const char * ResourcePropertiesTestPortType_CreateResourcePropertiesTest_fault_strings[RESOURCEPROPERTIESTESTPORTTYPE_CREATERESOURCEPROPERTIESTEST_UNKNOWN_FAULT] =
2997 {
2998 "Unknown"
2999
3000 };
3001
3002 static
3003 ResourcePropertiesTestPortType_CreateResourcePropertiesTest_fault_t
3004 CreateResourcePropertiesTest_lookup_fault_type(
3005 const char * fault_name)
3006 0 {
3007 ResourcePropertiesTestPortType_CreateResourcePropertiesTest_fault_t fault_type;
3008 GlobusFuncName(CreateResourcePropertiesTest_lookup_fault_type);
3009 0 ResourcePropertiesTestServiceDebugEnter();
3010
3011 0 globus_assert(fault_name);
3012
3013
3014 {
3015 0 fault_type = RESOURCEPROPERTIESTESTPORTTYPE_CREATERESOURCEPROPERTIESTEST_UNKNOWN_FAULT;
3016 }
3017
3018 0 ResourcePropertiesTestServiceDebugExit();
3019 0 return fault_type;
3020 }
3021
3022
3023
3024 static
3025 void
3026 CreateResourcePropertiesTest_deserialize_callback(
3027 void * handle)
3028 22 {
3029 CreateResourcePropertiesTest_callback_handle_t * callback_handle;
3030 22 globus_result_t result = GLOBUS_SUCCESS;
3031 struct globus_soap_message_fault_s soap_fault;
3032 CreateResourcePropertiesTest_init_func_t init_function;
3033 CreateResourcePropertiesTest_invoke_func_t invoke_function;
3034 rptest_CreateResourcePropertiesTestType * CreateResourcePropertiesTest;
3035 GlobusFuncName(CreateResourcePropertiesTest_deserialize_callback);
3036 22 ResourcePropertiesTestServiceDebugEnter();
3037
3038 22 callback_handle = (CreateResourcePropertiesTest_callback_handle_t *) handle;
3039
3040 22 result = globus_operation_table_get_operation(
3041 ResourcePropertiesTestService_descriptor.operations,
3042 "CreateResourcePropertiesTest",
3043 (void **)&init_function,
3044 (void **)&invoke_function);
3045 22 if(result != GLOBUS_SUCCESS)
3046 {
3047 22 goto exit;
3048 }
3049
3050 22 if(ResourcePropertiesTestService_descriptor.registry)
3051 {
3052 22 globus_soap_message_handle_set_registry(
3053 callback_handle->message,
3054 ResourcePropertiesTestService_descriptor.registry);
3055 }
3056
3057 22 result = rptest_CreateResourcePropertiesTestType_init(
3058 &CreateResourcePropertiesTest);
3059 22 if(result != GLOBUS_SUCCESS)
3060 {
3061 22 goto exit;
3062 }
3063
3064 22 if(init_function)
3065 {
3066 /* do service specific initialization stuff */
3067 22 result = init_function(
3068 callback_handle->engine,
3069 callback_handle->message,
3070 CreateResourcePropertiesTest);
3071 22 if(result != GLOBUS_SUCCESS)
3072 {
3073 22 goto free_exit;
3074 }
3075 }
3076
3077 22 result = rptest_CreateResourcePropertiesTestType_deserialize(
3078 &ResourcePropertiesTestPortType_CreateResourcePropertiesTest_input_qname,
3079 CreateResourcePropertiesTest,
3080 callback_handle->message,
3081 0);
3082 22 if(result != GLOBUS_SUCCESS)
3083 {
3084 22 goto free_exit;
3085 }
3086
3087 22 result = globus_soap_message_handle_set_attr(
3088 callback_handle->message,
3089 "CreateResourcePropertiesTestOperationInputParameter",
3090 rptest_CreateResourcePropertiesTestType_copy_wrapper,
3091 rptest_CreateResourcePropertiesTestType_destroy_wrapper,
3092 (void *)CreateResourcePropertiesTest);
3093 if(result != GLOBUS_SUCCESS)
3094 {
3095 goto free_exit;
3096 }
3097
3098 22 free_exit:
3099 22 rptest_CreateResourcePropertiesTestType_destroy(CreateResourcePropertiesTest);
3100
3101 22 exit:
3102
3103 22 callback_handle->callback(
3104 result,
3105 callback_handle->args);
3106 22 free(callback_handle);
3107 22 ResourcePropertiesTestServiceDebugExit();
3108 }
3109 /* CreateResourcePropertiesTest_deserialize_callback() */
3110
3111 static
3112 globus_result_t
3113 CreateResourcePropertiesTest_deserialize(
3114 globus_service_engine_t engine,
3115 globus_soap_message_handle_t message,
3116 globus_operation_invoke_callback_func_t invoke_callback,
3117 void * args)
3118 22 {
3119 CreateResourcePropertiesTest_callback_handle_t * callback_handle;
3120 22 globus_result_t result = GLOBUS_SUCCESS;
3121 GlobusFuncName(CreateResourcePropertiesTest_deserialize);
3122 22 ResourcePropertiesTestServiceDebugEnter();
3123
3124 22 callback_handle = malloc(sizeof(CreateResourcePropertiesTest_callback_handle_t));
3125 22 globus_assert_string(callback_handle,
3126 "Memory allocation failed "
3127 "for CreateResourcePropertiesTest callback handle");
3128 22 memset(callback_handle, 0, sizeof(CreateResourcePropertiesTest_callback_handle_t));
3129
3130 22 callback_handle->engine = engine;
3131 22 callback_handle->message = message;
3132 22 callback_handle->callback = invoke_callback;
3133 22 callback_handle->args = args;
3134
3135 22 result = globus_callback_register_oneshot(
3136 NULL,
3137 &globus_i_reltime_zero,
3138 CreateResourcePropertiesTest_deserialize_callback,
3139 callback_handle);
3140
3141 22 ResourcePropertiesTestServiceDebugExit();
3142 22 return result;
3143 }
3144
3145 static
3146 void
3147 CreateResourcePropertiesTest_invoke_callback(
3148 void * handle)
3149 22 {
3150 CreateResourcePropertiesTest_callback_handle_t * callback_handle;
3151 22 globus_result_t result = GLOBUS_SUCCESS;
3152 struct globus_soap_message_fault_s soap_fault;
3153 CreateResourcePropertiesTest_init_func_t init_function;
3154 CreateResourcePropertiesTest_invoke_func_t invoke_function;
3155 rptest_CreateResourcePropertiesTestType * CreateResourcePropertiesTest;
3156 rptest_CreateResourcePropertiesTestResponseType CreateResourcePropertiesTestResponse;
3157 xsd_QName element_qname;
3158 22 const char * fault_type_name = NULL;
3159 22 ResourcePropertiesTestPortType_CreateResourcePropertiesTest_fault_t fault_type = RESOURCEPROPERTIESTESTPORTTYPE_CREATERESOURCEPROPERTIESTEST_NOFAULT;
3160 22 void * fault = NULL;
3161
3162 GlobusFuncName(CreateResourcePropertiesTest_invoke_callback);
3163 22 ResourcePropertiesTestServiceDebugEnter();
3164
3165 22 callback_handle = (CreateResourcePropertiesTest_callback_handle_t *) handle;
3166
3167 22 CreateResourcePropertiesTest = globus_soap_message_handle_get_attr(
3168 callback_handle->message,
3169 "CreateResourcePropertiesTestOperationInputParameter");
3170 22 globus_assert(CreateResourcePropertiesTest);
3171
3172 22 result = globus_operation_table_get_operation(
3173 ResourcePropertiesTestService_descriptor.operations,
3174 "CreateResourcePropertiesTest",
3175 (void **)&init_function,
3176 (void **)&invoke_function);
3177 22 if(result != GLOBUS_SUCCESS)
3178 {
3179 22 goto fault_exit;
3180 }
3181
3182
3183 22 result = rptest_CreateResourcePropertiesTestResponseType_init_contents(
3184 &CreateResourcePropertiesTestResponse);
3185 22 if(result != GLOBUS_SUCCESS)
3186 {
3187 22 goto fault_exit;
3188 }
3189
3190 22 result = invoke_function(
3191 callback_handle->engine,
3192 callback_handle->message,
3193 &ResourcePropertiesTestService_descriptor,
3194 CreateResourcePropertiesTest,
3195 &CreateResourcePropertiesTestResponse,
3196 &fault_type_name,
3197 &fault);
3198
3199 22 fault_exit:
3200
3201 22 if(fault && fault_type_name)
3202 {
3203 0 fault_type = CreateResourcePropertiesTest_lookup_fault_type(fault_type_name);
3204
3205 0 result = globus_service_session_begin_response(
3206 callback_handle->message);
3207 0 if(result != GLOBUS_SUCCESS)
3208 {
3209 0 goto exit;
3210 }
3211
3212 0 soap_fault.faultcode = "Server";
3213 0 soap_fault.faultstring =
3214 "An error occurred while processing the message";
3215 0 soap_fault.faultactor = NULL;
3216
3217 switch(fault_type)
3218 {
3219
3220 default:
3221 0 result = ResourcePropertiesTestServiceErrorReturnedUnknownFault("CreateResourcePropertiesTest");
3222 0 goto exit;
3223 }
3224
3225 result = globus_service_session_serialize_fault_response(
3226 callback_handle->message, &soap_fault);
3227 if(result != GLOBUS_SUCCESS)
3228 {
3229 goto exit;
3230 }
3231
3232 soap_fault.detail->element->local = NULL;
3233 soap_fault.detail->element->Namespace = NULL;
3234 soap_fault.detail->any_info = NULL;
3235 xsd_any_destroy(soap_fault.detail);
3236
3237 globus_soap_message_handle_set_attr(
3238 callback_handle->message,
3239 WSADDR_ACTION_RESPONSE_KEY,
3240 globus_soap_message_attr_copy_string,
3241 globus_libc_free,
3242 WSADDRESSING_FAULT_NS);
3243 }
3244 22 else if(result != GLOBUS_SUCCESS)
3245 {
3246 globus_result_t local_result;
3247 0 local_result = globus_service_session_begin_response(
3248 callback_handle->message);
3249 0 if(local_result != GLOBUS_SUCCESS)
3250 {
3251 0 result = local_result;
3252 0 goto exit;
3253 }
3254
3255 0 soap_fault.faultcode = "Server";
3256 0 soap_fault.faultstring = globus_error_print_friendly(
3257 globus_error_get(result));
3258 0 result = GLOBUS_SUCCESS;
3259 0 soap_fault.faultactor = NULL;
3260 0 soap_fault.detail = NULL;
3261 0 result = globus_service_session_serialize_fault_response(
3262 callback_handle->message, &soap_fault);
3263 0 if(result != GLOBUS_SUCCESS)
3264 {
3265 0 goto exit;
3266 }
3267
3268 0 globus_soap_message_handle_set_attr(
3269 callback_handle->message,
3270 WSADDR_ACTION_RESPONSE_KEY,
3271 globus_soap_message_attr_copy_string,
3272 globus_libc_free,
3273 WSADDRESSING_FAULT_NS);
3274 }
3275 else
3276 {
3277 22 result = globus_service_session_begin_response(
3278 callback_handle->message);
3279 22 if(result != GLOBUS_SUCCESS)
3280 {
3281 22 goto exit;
3282 }
3283
3284 22 element_qname.local = "CreateResourcePropertiesTestResponse";
3285 22 element_qname.Namespace = "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest";
3286
3287 22 result = rptest_CreateResourcePropertiesTestResponseType_serialize(
3288 &element_qname,
3289 &CreateResourcePropertiesTestResponse,
3290 callback_handle->message,
3291 GLOBUS_XSD_ELEMENT_SET_DEFAULT_NS);
3292 22 if(result != GLOBUS_SUCCESS)
3293 {
3294 22 goto exit;
3295 }
3296
3297 22 result = globus_service_session_end_response(
3298 callback_handle->message);
3299 22 if(result != GLOBUS_SUCCESS)
3300 {
3301 22 goto exit;
3302 }
3303
3304 22 rptest_CreateResourcePropertiesTestResponseType_destroy_contents(
3305 &CreateResourcePropertiesTestResponse);
3306
3307 22 globus_soap_message_handle_set_attr(
3308 callback_handle->message,
3309 WSADDR_ACTION_RESPONSE_KEY,
3310 globus_soap_message_attr_copy_string,
3311 globus_libc_free,
3312 "http://www.globus.org/namespaces/2004/10/ResourcePropertiesTest/ResourcePropertiesTestPortType/CreateResourcePropertiesTestResponse");
3313 }
3314
3315 22 exit:
3316
3317 22 callback_handle->callback(
3318 result,
3319 callback_handle->args);
3320
3321 22 globus_libc_free(callback_handle);
3322
3323 22 ResourcePropertiesTestServiceDebugExit();
3324 }
3325
3326 static
3327 globus_result_t
3328 CreateResourcePropertiesTest_invoke(
3329 globus_service_engine_t engine,
3330 globus_soap_message_handle_t message,
3331 globus_service_response_t * response,
3332 globus_operation_invoke_callback_func_t invoke_callback,
3333 void * args)
3334 22 {
3335 CreateResourcePropertiesTest_callback_handle_t * callback_handle;
3336 22 globus_result_t result = GLOBUS_SUCCESS;
3337 GlobusFuncName(ResourcePropertiesTestPortType_CreateResourcePropertiesTest);
3338 22 ResourcePropertiesTestServiceDebugEnter();
3339
3340 22 callback_handle = malloc(sizeof(CreateResourcePropertiesTest_callback_handle_t));
3341 22 if(!callback_handle)
3342 {
3343 0 result = GlobusSoapMessageErrorOutOfMemory;
3344 0 goto exit;
3345 }
3346 22 memset(callback_handle, 0, sizeof(CreateResourcePropertiesTest_callback_handle_t));
3347
3348 22 callback_handle->engine = engine;
3349 22 callback_handle->message = message;
3350 22 callback_handle->callback = invoke_callback;
3351 22 callback_handle->args = args;
3352
3353 22 result = globus_callback_register_oneshot(
3354 NULL,
3355 &globus_i_reltime_zero,
3356 CreateResourcePropertiesTest_invoke_callback,
3357 callback_handle);
3358
3359 22 exit:
3360 22 ResourcePropertiesTestServiceDebugExit();
3361 22 return result;
3362 }
3363
3364 static
3365 globus_service_operation_descriptor_t
3366 CreateResourcePropertiesTest_operation_descriptor =
3367 {
3368 CreateResourcePropertiesTest_deserialize,
3369 CreateResourcePropertiesTest_invoke
3370 };
3371
3372 static
3373 globus_operation_provider_descriptor_t CreateResourcePropertiesTest_descriptor =
3374 {
3375 &ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname,
3376 "CreateResourcePropertiesTest",
3377 (void *)ResourcePropertiesTestPortType_CreateResourcePropertiesTest_init,
3378 (void *)ResourcePropertiesTestPortType_CreateResourcePropertiesTest_impl,
3379 NULL
3380 };
3381
3382
3383
3384 static xsd_QName wsrp_GetResourceProperty_qname;
3385 static xsd_QName wsrp_GetMultipleResourceProperties_qname;
3386 static xsd_QName wsrp_SetResourceProperties_qname;
3387 static xsd_QName wsrp_QueryResourceProperties_qname;
3388 static xsd_QName wsrl_Destroy_qname;
3389 static xsd_QName wsrl_SetTerminationTime_qname;
3390
3391 static
3392 int
3393 ResourcePropertiesTestService_activate()
3394 22 {
3395 22 globus_result_t result = GLOBUS_SUCCESS;
3396 22 int rc = 0;
3397 GlobusFuncName(ResourcePropertiesTestService_activate);
3398
3399 22 rc = globus_module_activate(RESOURCEPROPERTIESTESTSERVICE_MODULE);
3400 22 if(rc != GLOBUS_SUCCESS)
3401 {
3402 0 return rc;
3403 }
3404
3405 22 ResourcePropertiesTestServiceDebugEnter();
3406
3407 22 result = globus_module_activate(GLOBUS_WSRF_RESOURCE_MODULE);
3408 22 if (result != GLOBUS_SUCCESS)
3409 {
3410 0 rc = (int) result;
3411 0 goto exit;
3412 }
3413
3414 22 rc = globus_extension_activate(
3415 "globus_wsrp_GetResourceProperty_provider");
3416 22 if(rc != GLOBUS_SUCCESS)
3417 {
3418 22 goto deactivate_resource_out;
3419 }
3420
3421 22 rc = globus_extension_activate(
3422 "globus_wsrp_GetMultipleResourceProperties_provider");
3423 22 if (rc != GLOBUS_SUCCESS)
3424 {
3425 22 goto deactivate_getrp;
3426 }
3427
3428 22 rc = globus_extension_activate(
3429 "globus_wsrp_SetResourceProperties_provider");
3430 22 if (rc != GLOBUS_SUCCESS)
3431 {
3432 22 goto deactivate_getmrp;
3433 }
3434
3435 22 rc = globus_extension_activate(
3436 "globus_wsrp_QueryResourceProperties_provider");
3437 22 if (rc != GLOBUS_SUCCESS)
3438 {
3439 22 goto deactivate_setrp;
3440 }
3441
3442 22 rc = globus_extension_activate(
3443 "globus_wsrl_ImmediateResourceTermination_provider");
3444 22 if (rc != GLOBUS_SUCCESS)
3445 {
3446 22 goto deactivate_queryrp;
3447 }
3448
3449 22 rc = globus_extension_activate(
3450 "globus_wsrl_ScheduledResourceTermination_provider");
3451 22 if (rc != GLOBUS_SUCCESS)
3452 {
3453 22 goto deactivate_irt;
3454 }
3455
3456 22 if(GLOBUS_GLOBAL_TYPE_REGISTRY != NULL)
3457 {
3458 22 result = ResourcePropertiesTestService_registry_add_types(
3459 GLOBUS_GLOBAL_TYPE_REGISTRY);
3460 22 if(result != GLOBUS_SUCCESS)
3461 {
3462 0 rc = (int) result;
3463 0 goto deactivate_srt;
3464 }
3465 }
3466
3467 22 rc = globus_hashtable_init(
3468 &ResourcePropertiesTestService_descriptor.op_mapper,
3469 10,
3470 xsd_QName_hash,
3471 xsd_QName_keyeq);
3472 22 if(rc != GLOBUS_SUCCESS)
3473 {
3474 22 goto clear_global_registry;
3475 }
3476
3477 22 result = globus_xsd_type_registry_init(
3478 &ResourcePropertiesTestService_descriptor.registry);
3479 22 if(result != GLOBUS_SUCCESS)
3480 {
3481 0 rc = (int) result;
3482 0 goto destroy_op_mapper;
3483 }
3484
3485 22 result = ResourcePropertiesTestService_registry_add_types(
3486 ResourcePropertiesTestService_descriptor.registry);
3487 22 if(result != GLOBUS_SUCCESS)
3488 {
3489 0 rc = (int) result;
3490 0 goto destroy_service_registry;
3491 }
3492
3493 22 globus_mutex_init(&ResourcePropertiesTestService_descriptor.mutex, NULL);
3494
3495 22 rc = globus_hashtable_insert(
3496 &ResourcePropertiesTestService_descriptor.op_mapper,
3497 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_input_qname,
3498 (void *)&SetTerminationTime_operation_descriptor);
3499 22 if(rc != GLOBUS_SUCCESS)
3500 {
3501 22 goto remove_SetTerminationTime_op;
3502 }
3503
3504 22 rc = globus_hashtable_insert(
3505 &ResourcePropertiesTestService_descriptor.op_mapper,
3506 (void *)&ResourcePropertiesTestPortType_Destroy_input_qname,
3507 (void *)&Destroy_operation_descriptor);
3508 22 if(rc != GLOBUS_SUCCESS)
3509 {
3510 22 goto remove_Destroy_op;
3511 }
3512
3513 22 rc = globus_hashtable_insert(
3514 &ResourcePropertiesTestService_descriptor.op_mapper,
3515 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_input_qname,
3516 (void *)&QueryResourceProperties_operation_descriptor);
3517 22 if(rc != GLOBUS_SUCCESS)
3518 {
3519 22 goto remove_QueryResourceProperties_op;
3520 }
3521
3522 22 rc = globus_hashtable_insert(
3523 &ResourcePropertiesTestService_descriptor.op_mapper,
3524 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_input_qname,
3525 (void *)&SetResourceProperties_operation_descriptor);
3526 22 if(rc != GLOBUS_SUCCESS)
3527 {
3528 22 goto remove_SetResourceProperties_op;
3529 }
3530
3531 22 rc = globus_hashtable_insert(
3532 &ResourcePropertiesTestService_descriptor.op_mapper,
3533 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_input_qname,
3534 (void *)&GetMultipleResourceProperties_operation_descriptor);
3535 22 if(rc != GLOBUS_SUCCESS)
3536 {
3537 22 goto remove_GetMultipleResourceProperties_op;
3538 }
3539
3540 22 rc = globus_hashtable_insert(
3541 &ResourcePropertiesTestService_descriptor.op_mapper,
3542 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_input_qname,
3543 (void *)&GetResourceProperty_operation_descriptor);
3544 22 if(rc != GLOBUS_SUCCESS)
3545 {
3546 22 goto remove_GetResourceProperty_op;
3547 }
3548
3549 22 rc = globus_hashtable_insert(
3550 &ResourcePropertiesTestService_descriptor.op_mapper,
3551 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_input_qname,
3552 (void *)&CreateResourcePropertiesTest_operation_descriptor);
3553 22 if(rc != GLOBUS_SUCCESS)
3554 {
3555 22 goto remove_CreateResourcePropertiesTest_op;
3556 }
3557
3558
3559 22 result = globus_operation_table_init(
3560 &ResourcePropertiesTestService_descriptor.operations,
3561 ResourcePropertiesTestService_service_qname.Namespace);
3562 22 if(result != GLOBUS_SUCCESS)
3563 {
3564 0 rc = (int) result;
3565 0 goto remove_all_ops;
3566 }
3567
3568
3569 22 result = globus_extension_registry_add(
3570 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3571 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_op_qname,
3572 GlobusExtensionMyModule(ResourcePropertiesTestService),
3573 (void *)&SetTerminationTime_descriptor);
3574 22 if(result != GLOBUS_SUCCESS)
3575 {
3576 0 rc = (int) result;
3577 0 goto remove_SetTerminationTime_op_provider;
3578 }
3579
3580 22 result = globus_operation_table_add_default_provider(
3581 ResourcePropertiesTestService_descriptor.operations,
3582 &ResourcePropertiesTestPortType_SetTerminationTime_op_qname,
3583 &SetTerminationTime_descriptor);
3584 22 if(result != GLOBUS_SUCCESS)
3585 {
3586 0 rc = (int) result;
3587 0 goto remove_SetTerminationTime_op_provider;
3588 }
3589
3590 22 result = globus_extension_registry_add(
3591 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3592 (void *)&ResourcePropertiesTestPortType_Destroy_op_qname,
3593 GlobusExtensionMyModule(ResourcePropertiesTestService),
3594 (void *)&Destroy_descriptor);
3595 22 if(result != GLOBUS_SUCCESS)
3596 {
3597 0 rc = (int) result;
3598 0 goto remove_Destroy_op_provider;
3599 }
3600
3601 22 result = globus_operation_table_add_default_provider(
3602 ResourcePropertiesTestService_descriptor.operations,
3603 &ResourcePropertiesTestPortType_Destroy_op_qname,
3604 &Destroy_descriptor);
3605 22 if(result != GLOBUS_SUCCESS)
3606 {
3607 0 rc = (int) result;
3608 0 goto remove_Destroy_op_provider;
3609 }
3610
3611 22 result = globus_extension_registry_add(
3612 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3613 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_op_qname,
3614 GlobusExtensionMyModule(ResourcePropertiesTestService),
3615 (void *)&QueryResourceProperties_descriptor);
3616 22 if(result != GLOBUS_SUCCESS)
3617 {
3618 0 rc = (int) result;
3619 0 goto remove_QueryResourceProperties_op_provider;
3620 }
3621
3622 22 result = globus_operation_table_add_default_provider(
3623 ResourcePropertiesTestService_descriptor.operations,
3624 &ResourcePropertiesTestPortType_QueryResourceProperties_op_qname,
3625 &QueryResourceProperties_descriptor);
3626 22 if(result != GLOBUS_SUCCESS)
3627 {
3628 0 rc = (int) result;
3629 0 goto remove_QueryResourceProperties_op_provider;
3630 }
3631
3632 22 result = globus_extension_registry_add(
3633 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3634 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_op_qname,
3635 GlobusExtensionMyModule(ResourcePropertiesTestService),
3636 (void *)&SetResourceProperties_descriptor);
3637 22 if(result != GLOBUS_SUCCESS)
3638 {
3639 0 rc = (int) result;
3640 0 goto remove_SetResourceProperties_op_provider;
3641 }
3642
3643 22 result = globus_operation_table_add_default_provider(
3644 ResourcePropertiesTestService_descriptor.operations,
3645 &ResourcePropertiesTestPortType_SetResourceProperties_op_qname,
3646 &SetResourceProperties_descriptor);
3647 22 if(result != GLOBUS_SUCCESS)
3648 {
3649 0 rc = (int) result;
3650 0 goto remove_SetResourceProperties_op_provider;
3651 }
3652
3653 22 result = globus_extension_registry_add(
3654 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3655 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname,
3656 GlobusExtensionMyModule(ResourcePropertiesTestService),
3657 (void *)&GetMultipleResourceProperties_descriptor);
3658 22 if(result != GLOBUS_SUCCESS)
3659 {
3660 0 rc = (int) result;
3661 0 goto remove_GetMultipleResourceProperties_op_provider;
3662 }
3663
3664 22 result = globus_operation_table_add_default_provider(
3665 ResourcePropertiesTestService_descriptor.operations,
3666 &ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname,
3667 &GetMultipleResourceProperties_descriptor);
3668 22 if(result != GLOBUS_SUCCESS)
3669 {
3670 0 rc = (int) result;
3671 0 goto remove_GetMultipleResourceProperties_op_provider;
3672 }
3673
3674 22 result = globus_extension_registry_add(
3675 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3676 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_op_qname,
3677 GlobusExtensionMyModule(ResourcePropertiesTestService),
3678 (void *)&GetResourceProperty_descriptor);
3679 22 if(result != GLOBUS_SUCCESS)
3680 {
3681 0 rc = (int) result;
3682 0 goto remove_GetResourceProperty_op_provider;
3683 }
3684
3685 22 result = globus_operation_table_add_default_provider(
3686 ResourcePropertiesTestService_descriptor.operations,
3687 &ResourcePropertiesTestPortType_GetResourceProperty_op_qname,
3688 &GetResourceProperty_descriptor);
3689 22 if(result != GLOBUS_SUCCESS)
3690 {
3691 0 rc = (int) result;
3692 0 goto remove_GetResourceProperty_op_provider;
3693 }
3694
3695 22 result = globus_extension_registry_add(
3696 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3697 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname,
3698 GlobusExtensionMyModule(ResourcePropertiesTestService),
3699 (void *)&CreateResourcePropertiesTest_descriptor);
3700 22 if(result != GLOBUS_SUCCESS)
3701 {
3702 0 rc = (int) result;
3703 0 goto remove_CreateResourcePropertiesTest_op_provider;
3704 }
3705
3706 22 result = globus_operation_table_add_default_provider(
3707 ResourcePropertiesTestService_descriptor.operations,
3708 &ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname,
3709 &CreateResourcePropertiesTest_descriptor);
3710 22 if(result != GLOBUS_SUCCESS)
3711 {
3712 0 rc = (int) result;
3713 0 goto remove_CreateResourcePropertiesTest_op_provider;
3714 }
3715
3716 22 result = globus_operation_table_add_provider(
3717 ResourcePropertiesTestService_descriptor.operations,
3718 &wsrp_GetResourceProperty_qname);
3719 22 if (result != GLOBUS_SUCCESS)
3720 {
3721 0 rc = (int) result;
3722 0 goto remove_op_providers;
3723 }
3724
3725 22 result = globus_operation_table_add_provider(
3726 ResourcePropertiesTestService_descriptor.operations,
3727 &wsrp_GetMultipleResourceProperties_qname);
3728 22 if (result != GLOBUS_SUCCESS)
3729 {
3730 0 rc = (int) result;
3731
3732 0 goto remove_op_providers;
3733 }
3734
3735 22 result = globus_operation_table_add_provider(
3736 ResourcePropertiesTestService_descriptor.operations,
3737 &wsrp_SetResourceProperties_qname);
3738 22 if (result != GLOBUS_SUCCESS)
3739 {
3740 0 rc = (int) result;
3741
3742 0 goto remove_op_providers;
3743 }
3744
3745 22 result = globus_operation_table_add_provider(
3746 ResourcePropertiesTestService_descriptor.operations,
3747 &wsrp_QueryResourceProperties_qname);
3748 22 if (result != GLOBUS_SUCCESS)
3749 {
3750 0 rc = (int) result;
3751
3752 0 goto remove_op_providers;
3753 }
3754
3755 22 result = globus_operation_table_add_provider(
3756 ResourcePropertiesTestService_descriptor.operations,
3757 &wsrl_Destroy_qname);
3758 22 if (result != GLOBUS_SUCCESS)
3759 {
3760 0 rc = (int) result;
3761
3762 0 goto remove_op_providers;
3763 }
3764
3765 22 result = globus_operation_table_add_provider(
3766 ResourcePropertiesTestService_descriptor.operations,
3767 &wsrl_SetTerminationTime_qname);
3768 22 if (result != GLOBUS_SUCCESS)
3769 {
3770 0 rc = (int) result;
3771
3772 0 goto remove_op_providers;
3773 }
3774
3775 22 rc = globus_extension_registry_add(
3776 GLOBUS_SERVICE_REGISTRY,
3777 (void *)ResourcePropertiesTestService_descriptor.path,
3778 GlobusExtensionMyModule(ResourcePropertiesTestService),
3779 &ResourcePropertiesTestService_descriptor);
3780 22 if(rc != GLOBUS_SUCCESS)
3781 {
3782 22 goto remove_op_providers;
3783 }
3784
3785 22 result = ResourcePropertiesTestService_init(&ResourcePropertiesTestService_descriptor);
3786 22 if(result != GLOBUS_SUCCESS)
3787 {
3788 0 rc = (int) result;
3789 goto service_extension_remove;
3790 }
3791
3792 goto exit;
3793
3794 0 service_extension_remove:
3795 0 globus_extension_registry_remove(
3796 GLOBUS_SERVICE_REGISTRY,
3797 (void *)ResourcePropertiesTestService_descriptor.path);
3798 0 remove_op_providers:
3799
3800 0 globus_extension_registry_remove(
3801 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3802 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_op_qname);
3803 0 remove_SetTerminationTime_op_provider:
3804
3805 0 globus_extension_registry_remove(
3806 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3807 (void *)&ResourcePropertiesTestPortType_Destroy_op_qname);
3808 0 remove_Destroy_op_provider:
3809
3810 0 globus_extension_registry_remove(
3811 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3812 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_op_qname);
3813 0 remove_QueryResourceProperties_op_provider:
3814
3815 0 globus_extension_registry_remove(
3816 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3817 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_op_qname);
3818 0 remove_SetResourceProperties_op_provider:
3819
3820 0 globus_extension_registry_remove(
3821 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3822 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname);
3823 0 remove_GetMultipleResourceProperties_op_provider:
3824
3825 0 globus_extension_registry_remove(
3826 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3827 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_op_qname);
3828 0 remove_GetResourceProperty_op_provider:
3829
3830 0 globus_extension_registry_remove(
3831 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3832 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname);
3833 0 remove_CreateResourcePropertiesTest_op_provider:
3834
3835 0 destroy_op_table:
3836 0 globus_operation_table_destroy(ResourcePropertiesTestService_descriptor.operations);
3837 0 remove_all_ops:
3838
3839 0 globus_hashtable_remove(
3840 &ResourcePropertiesTestService_descriptor.op_mapper,
3841 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_input_qname);
3842 0 remove_SetTerminationTime_op:
3843
3844 0 globus_hashtable_remove(
3845 &ResourcePropertiesTestService_descriptor.op_mapper,
3846 (void *)&ResourcePropertiesTestPortType_Destroy_input_qname);
3847 0 remove_Destroy_op:
3848
3849 0 globus_hashtable_remove(
3850 &ResourcePropertiesTestService_descriptor.op_mapper,
3851 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_input_qname);
3852 0 remove_QueryResourceProperties_op:
3853
3854 0 globus_hashtable_remove(
3855 &ResourcePropertiesTestService_descriptor.op_mapper,
3856 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_input_qname);
3857 0 remove_SetResourceProperties_op:
3858
3859 0 globus_hashtable_remove(
3860 &ResourcePropertiesTestService_descriptor.op_mapper,
3861 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_input_qname);
3862 0 remove_GetMultipleResourceProperties_op:
3863
3864 0 globus_hashtable_remove(
3865 &ResourcePropertiesTestService_descriptor.op_mapper,
3866 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_input_qname);
3867 0 remove_GetResourceProperty_op:
3868
3869 0 globus_hashtable_remove(
3870 &ResourcePropertiesTestService_descriptor.op_mapper,
3871 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_input_qname);
3872 0 remove_CreateResourcePropertiesTest_op:
3873
3874 0 destroy_mutex:
3875 0 globus_mutex_destroy(&ResourcePropertiesTestService_descriptor.mutex);
3876 0 clear_service_registry:
3877 0 ResourcePropertiesTestService_registry_remove_types(
3878 ResourcePropertiesTestService_descriptor.registry);
3879 0 destroy_service_registry:
3880 0 globus_xsd_type_registry_destroy(ResourcePropertiesTestService_descriptor.registry);
3881 0 destroy_op_mapper:
3882 0 globus_hashtable_destroy(&ResourcePropertiesTestService_descriptor.op_mapper);
3883 0 clear_global_registry:
3884 0 if(GLOBUS_GLOBAL_TYPE_REGISTRY != NULL)
3885 {
3886 0 ResourcePropertiesTestService_registry_remove_types(
3887 GLOBUS_GLOBAL_TYPE_REGISTRY);
3888 }
3889 0 deactivate_srt:
3890 0 globus_extension_deactivate(
3891 "globus_wsrl_ScheduledResourceTermination_provider");
3892 0 deactivate_irt:
3893 0 globus_extension_deactivate(
3894 "globus_wsrl_ImmediateResourceTermination_provider");
3895 0 deactivate_queryrp:
3896 0 globus_extension_deactivate(
3897 "globus_wsrl_QueryResourceProperties_provider");
3898 0 deactivate_setrp:
3899 0 globus_extension_deactivate("globus_wsrp_SetResourceProperties_provider");
3900 0 deactivate_getmrp:
3901 0 globus_extension_deactivate("globus_wsrp_GetMultipleResourceProperties_provider");
3902 0 deactivate_getrp:
3903 0 globus_extension_deactivate("globus_wsrp_GetResourceProperty_provider");
3904 0 deactivate_resource_out:
3905 0 globus_module_deactivate(GLOBUS_WSRF_RESOURCE_MODULE);
3906
3907 22 exit:
3908 22 ResourcePropertiesTestServiceDebugExit();
3909 22 return rc;
3910 }
3911
3912 static
3913 int
3914 ResourcePropertiesTestService_deactivate()
3915 0 {
3916 0 globus_result_t result = GLOBUS_SUCCESS;
3917 0 int rc = 0;
3918
3919 0 result = ResourcePropertiesTestService_finalize(&ResourcePropertiesTestService_descriptor);
3920 0 if(result != GLOBUS_SUCCESS)
3921 {
3922 0 return GLOBUS_FAILURE;
3923 }
3924
3925 0 globus_extension_registry_remove(
3926 GLOBUS_SERVICE_REGISTRY,
3927 (void *)ResourcePropertiesTestService_descriptor.path);
3928
3929 0 globus_extension_registry_remove(
3930 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3931 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_op_qname);
3932
3933 0 globus_extension_registry_remove(
3934 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3935 (void *)&ResourcePropertiesTestPortType_Destroy_op_qname);
3936
3937 0 globus_extension_registry_remove(
3938 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3939 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_op_qname);
3940
3941 0 globus_extension_registry_remove(
3942 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3943 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_op_qname);
3944
3945 0 globus_extension_registry_remove(
3946 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3947 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_op_qname);
3948
3949 0 globus_extension_registry_remove(
3950 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3951 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_op_qname);
3952
3953 0 globus_extension_registry_remove(
3954 GLOBUS_OPERATION_PROVIDER_REGISTRY,
3955 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_op_qname);
3956
3957 0 globus_operation_table_destroy(ResourcePropertiesTestService_descriptor.operations);
3958
3959
3960 0 globus_hashtable_remove(
3961 &ResourcePropertiesTestService_descriptor.op_mapper,
3962 (void *)&ResourcePropertiesTestPortType_SetTerminationTime_input_qname);
3963
3964 0 globus_hashtable_remove(
3965 &ResourcePropertiesTestService_descriptor.op_mapper,
3966 (void *)&ResourcePropertiesTestPortType_Destroy_input_qname);
3967
3968 0 globus_hashtable_remove(
3969 &ResourcePropertiesTestService_descriptor.op_mapper,
3970 (void *)&ResourcePropertiesTestPortType_QueryResourceProperties_input_qname);
3971
3972 0 globus_hashtable_remove(
3973 &ResourcePropertiesTestService_descriptor.op_mapper,
3974 (void *)&ResourcePropertiesTestPortType_SetResourceProperties_input_qname);
3975
3976 0 globus_hashtable_remove(
3977 &ResourcePropertiesTestService_descriptor.op_mapper,
3978 (void *)&ResourcePropertiesTestPortType_GetMultipleResourceProperties_input_qname);
3979
3980 0 globus_hashtable_remove(
3981 &ResourcePropertiesTestService_descriptor.op_mapper,
3982 (void *)&ResourcePropertiesTestPortType_GetResourceProperty_input_qname);
3983
3984 0 globus_hashtable_remove(
3985 &ResourcePropertiesTestService_descriptor.op_mapper,
3986 (void *)&ResourcePropertiesTestPortType_CreateResourcePropertiesTest_input_qname);
3987
3988
3989 0 globus_mutex_destroy(&ResourcePropertiesTestService_descriptor.mutex);
3990
3991 0 ResourcePropertiesTestService_registry_remove_types(
3992 ResourcePropertiesTestService_descriptor.registry);
3993
3994 0 globus_xsd_type_registry_destroy(ResourcePropertiesTestService_descriptor.registry);
3995
3996 0 globus_hashtable_destroy(&ResourcePropertiesTestService_descriptor.op_mapper);
3997
3998 0 if(GLOBUS_GLOBAL_TYPE_REGISTRY != NULL)
3999 {
4000 0 ResourcePropertiesTestService_registry_remove_types(
4001 GLOBUS_GLOBAL_TYPE_REGISTRY);
4002 }
4003
4004 0 globus_extension_deactivate(
4005 "globus_wsrl_ScheduledResourceTermination_provider");
4006 0 globus_extension_deactivate(
4007 "globus_wsrl_ImmediateResourceTermination_provider");
4008 0 globus_extension_deactivate(
4009 "globus_wsrl_QueryResourceProperties_provider");
4010 0 globus_extension_deactivate("globus_wsrp_SetResourceProperties_provider");
4011 0 globus_extension_deactivate(
4012 "globus_wsrp_GetMultipleResourceProperties_provider");
4013 0 globus_extension_deactivate("globus_wsrp_GetResourceProperty_provider");
4014 0 globus_module_deactivate(GLOBUS_WSRF_RESOURCE_MODULE);
4015
4016 0 rc = globus_module_deactivate(RESOURCEPROPERTIESTESTSERVICE_MODULE);
4017 0 if(rc != GLOBUS_SUCCESS)
4018 {
4019 0 return rc;
4020 }
4021
4022 0 return rc;
4023 }
4024
4025 #define WSRP_NS "http://www.globus.org/docs.oasis-open.org" \
4026 "/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
4027
4028 static xsd_QName wsrp_GetResourceProperty_qname =
4029 {
4030 WSRP_NS,
4031 "GetResourceProperty"
4032 };
4033
4034 static xsd_QName wsrp_GetMultipleResourceProperties_qname =
4035 {
4036 WSRP_NS,
4037 "GetMultipleResourceProperties"
4038 };
4039
4040 static xsd_QName wsrp_SetResourceProperties_qname =
4041 {
4042 WSRP_NS,
4043 "SetResourceProperties"
4044 };
4045
4046 static xsd_QName wsrp_QueryResourceProperties_qname =
4047 {
4048 WSRP_NS,
4049 "QueryResourceProperties"
4050 };
4051
4052 static xsd_QName wsrl_Destroy_qname =
4053 {
4054 "http://www.globus.org/docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl",
4055 "Destroy"
4056 };
4057
4058 static xsd_QName wsrl_SetTerminationTime_qname =
4059 {
4060 "http://www.globus.org/docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl",
4061 "SetTerminationTime"