Contains information about how to process an operation handled by a service. More...
Contains information needed by the service engine to invoke the operations implemented by a service. More...
This module includes definitions of data types which describe what operations are provided by a service and which operation providers implement those operations.
| #define GLOBUS_SERVICE_REGISTRY (&globus_service_registry) |
Global service registry
This registry contains references to all services which have been loaded.
The service engine dispatches SOAP operation requests to appropriate services based on the contents of the registry. Services insert themselves into the registry when they are loaded by calling globus_extension_registry_add(). This is handled automatically by the serivce's module.
| typedef void(* globus_operation_invoke_callback_func_t)(globus_result_t result, void *args) |
Callback function signature for service function completion.
The globus service engine passes a function of this signature to the service module stub functions as a way for them to signal completion of deserialization an operation element or invoking an operation function.
| result | Result of deserialization or operation completion. | |
| args | Pointer value which was passed to the service's globus_operation_deserialize_func_t or globus_operation_invoke_func_t function. |
| typedef globus_result_t(* globus_operation_deserialize_func_t)(globus_service_engine_t engine, globus_soap_message_handle_t message, globus_operation_invoke_callback_func_t invoke_callback, void *args) |
SOAP body element deserialize function signature
Each service provides a function of this type signature.
The service engine calls it to the deserialize the content of the SOAP body.
| engine | Service engine which is processing this message. | |
| message | SOAP message handle which is to be used to deserialize the operation element. | |
| invoke_callback | Function to call after completing deserialization. This must not be called in the same call chain as this function has been called. | |
| args | Argument to pass to invoke_callback. |
| typedef globus_result_t(* globus_operation_invoke_func_t)(globus_service_engine_t engine, globus_soap_message_handle_t message, globus_service_response_t *response, globus_operation_invoke_callback_func_t invoke_callback, void *args) |
SOAP operation implementation function signature
Each service provides a function of this type signature.
The service engine calls it to the implement the SOAP operation.
| engine | Service engine which is processing this message. | |
| message | SOAP message handle on which the operation was sent. | |
| response | Pointer to a globus_service_response_t which should be set as described above. | |
| invoke_callback | Function to call after completing the operation. This must not be called in the same call chain as this function has been called. | |
| args | Argument to pass to invoke_callback. |
| typedef globus_result_t(* globus_operation_fault_type_func_t)(const char *fault_type_name, int *fault_type, globus_xsd_type_info_t *fault_type_info) |
SOAP operation fault mapping callback
Each service provides a function of this type signature.
The service module calls it to map a fault name to an enumerated fault type and type_info structure pointer.
| fault_type_name | Name of the fault type to map. | |
| fault_type | Pointer to a fault enumeration value to be set by this function. | |
| fault_type_info | Pointer to a globus_xsd_type_info_t to be set by this function. |
| typedef globus_result_t(* globus_resource_id_func_t)(xsd_any_array *reference_properties, char **id) |
Service-specific resource id function
Each service provides a function of this type signature.
The globus_wsrf_core_get_resource_id() function uses this to extract the resource_id from an EPR.
| reference_properties | The any array containing the reference properties associated with an EndpointReference. The service-specific function will convert the array into a string. | |
| id | Pointer to a string. If the function is successful, this value will be updated to point to a newly allocated string which contains the resource id string. The caller is responsible for freeing this string. |
Flag indicating whether a SOAP operation should send a response.
The service engine passes a pointer to this type of value which it expects the service to set to the appropriate value, either GLOBUS_SERVICE_DO_RESPONSE if the operation has a response message, or GLOBUS_SERVICE_NO_RESPONSE if it does not.
| globus_result_t globus_resource_id_get_as_string | ( | xsd_any_array * | reference_properties, | |
| char ** | id | |||
| ) |
Default reference properties to resource_id mapping function
If the reference_properties array contains a single element, a string containing that element's content is copied and a pointer is returned via id.
| reference_properties | The any array containing the reference properties associated with an EndpointReference. To be successfully processed, this array must have a single element containing string content. | |
| id | Pointer to a string. If the function is successful, this value will be updated to point to a newly allocated string which contains the resource id string. The caller is responsible for freeing this string. |
| GLOBUS_SUCCESS | Resource id extracted successfully. | |
| GLOBUS_SOAP_MESSAGE_ERROR_TYPE_NULL_PARAM | The id parameter is NULL. | |
| GLOBUS_SOAP_MESSAGE_ERROR_TYPE_NO_REFERENCE_PROPERTIES | The reference_properties parameter is NULL, or contains no elements. | |
| GLOBUS_SOAP_MESSAGE_ERROR_TYPE_TOO_MANY_REFERENCE_PROPERTIES | The reference_properties array contains more than one element. | |
| GLOBUS_SOAP_MESSAGE_ERROR_TYPE_FAILED_RESOURCE_GET | Unable to parse the content of the reference_properties element. |
about globus |
grid research |
globus toolkit |
software development
Comments? webmaster@globus.org