/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_STUB_H #define AXIS2_STUB_H /** @defgroup axis2_stub stub * @ingroup axis2_client_api * stub is a wrapper API for service client that helps users to use client API * easily. * @sa axis2_svc_client * @{ */ /** * @file axis2_stub.h */ #include #include #include #include #include /** DEPRECATED: Please use AXIOM_SOAP11 instead. Constant value representing SOAP version 1.1 */ #define AXIOM_SOAP_11 1 /** DEPRECATED: Please use AXIOM_SOAP12 instead. Constant value representing SOAP version 1.2 */ #define AXIOM_SOAP_12 2 #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_stub */ typedef struct axis2_stub axis2_stub_t; /** * Frees stub struct. * @param stub pointer to stub struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_stub_free( axis2_stub_t * stub, const axutil_env_t * env); /** * Sets the endpoint reference. * @param stub pointer to stub struct * @param env pointer to environment struct * @param endpoint_ref pointer to endpoint reference. stub assumes the * ownership of the endpoint reference struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_ref( axis2_stub_t * stub, const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref); /** * Sets the endpoint reference, represented by a string. * @param stub pointer to stub struct * @param env pointer to environment struct * @param endpoint_uri pointer to endpoint uri string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_uri( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * endpoint_uri); /** * Sets the bool value specifying whether to use a separate listener * for receive channel. * @param stub pointer to stub struct * @param env pointer to environment struct * @param use_separate whether to use a separate listener * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_use_separate_listener( axis2_stub_t * stub, const axutil_env_t * env, const axis2_bool_t use_separate_listener); /** * Sets the SOAP version. * @param stub pointer to stub struct * @param env pointer to environment struct * @param soap_version int value representing the SOAP version * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_soap_version( axis2_stub_t * stub, const axutil_env_t * env, const int soap_version); /** * Gets the service context ID. * @param stub pointer to stub struct * @param env pointer to environment struct * @return service context ID if set, else NULL */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_stub_get_svc_ctx_id( const axis2_stub_t * stub, const axutil_env_t * env); /** * Engages the named module. * @param stub pointer to stub struct * @param env pointer to environment struct * @param module_name string representing the name of the module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_engage_module( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * module_name); /** * Gets the service client instance used by this stub. * @param stub pointer to stub struct * @param env pointer to environment struct * @return pointer to service client struct used by the stub */ AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_stub_get_svc_client( const axis2_stub_t * stub, const axutil_env_t * env); /** * Gets the options used on top of the service client used by this stub. * @param stub pointer to stub struct * @param env pointer to environment struct * @return pointer to options used by the service client of this stub */ AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_stub_get_options( const axis2_stub_t * stub, const axutil_env_t * env); /** * Creates a stub instance. * @param env pointer to environment struct * @param endpoint_ref pointer to endpoint reference struct representing the * stub endpoint. Newly created stub assumes ownership of the endpoint * @param client_home name of the directory that contains the Axis2/C repository * @return pointer to newly created axis2_stub struct */ AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * client_home); /** * Creates a stub instance. * @param env pointer to environment struct * @param endpoint_uri string representing the endpoint reference * @param client_home name of the directory that contains the Axis2/C repository * @return pointer to newly created axis2_stub struct */ AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_STUB_H */