axis2_svc_client.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_SVC_CLIENT_H
00019 #define AXIS2_SVC_CLIENT_H
00020 
00043 #include <axis2_defines.h>
00044 #include <axutil_env.h>
00045 #include <axutil_uri.h>
00046 #include <axis2_svc.h>
00047 #include <axis2_options.h>
00048 #include <axutil_qname.h>
00049 #include <axiom_element.h>
00050 #include <axis2_callback.h>
00051 #include <axis2_endpoint_ref.h>
00052 #include <axis2_svc_ctx.h>
00053 #include <axis2_conf_ctx.h>
00054 #include <axis2_op_client.h>
00055 #include <axutil_string.h>
00056 #include <neethi_policy.h>
00057 
00059 #define AXIS2_ANON_SERVICE  "__ANONYMOUS_SERVICE__"
00060 
00062 #define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__"
00063 
00065 #define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__"
00066 
00068 #define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__"
00069 
00070 #ifdef __cplusplus
00071 extern "C"
00072 {
00073 #endif
00074 
00076     typedef struct axis2_svc_client axis2_svc_client_t;
00077 
00078 
00087     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
00088     axis2_svc_client_get_svc(const axis2_svc_client_t *svc_client,
00089         const axutil_env_t *env);
00090 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axis2_svc_client_set_options(axis2_svc_client_t *svc_client,
00100         const axutil_env_t *env,
00101         const axis2_options_t *options);
00102 
00110     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00111     axis2_svc_client_get_options(const axis2_svc_client_t *svc_client,
00112         const axutil_env_t *env);
00113 
00123     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00124     axis2_svc_client_set_override_options(axis2_svc_client_t *svc_client,
00125         const axutil_env_t *env,
00126         const axis2_options_t *override_options);
00127 
00135     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00136     axis2_svc_client_get_override_options(const axis2_svc_client_t *svc_client,
00137         const axutil_env_t *env);
00138 
00150     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151     axis2_svc_client_engage_module(axis2_svc_client_t *svc_client,
00152         const axutil_env_t *env,
00153         const axis2_char_t *module_name);
00154 
00164     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00165     axis2_svc_client_disengage_module(axis2_svc_client_t *svc_client,
00166         const axutil_env_t *env,
00167         const axis2_char_t *module_name);
00168 
00179     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00180     axis2_svc_client_add_header(axis2_svc_client_t *svc_client,
00181         const axutil_env_t *env,
00182         axiom_node_t *header);
00183 
00190     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191     axis2_svc_client_remove_all_headers(axis2_svc_client_t *svc_client,
00192         const axutil_env_t *env);
00193 
00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207     axis2_svc_client_send_robust_with_op_qname(axis2_svc_client_t *svc_client,
00208         const axutil_env_t *env,
00209         const axutil_qname_t *op_qname,
00210         const axiom_node_t *payload);
00211 
00224     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00225     axis2_svc_client_send_robust(axis2_svc_client_t *svc_client,
00226         const axutil_env_t *env,
00227         const axiom_node_t *payload);
00228 
00240     AXIS2_EXTERN void AXIS2_CALL
00241     axis2_svc_client_fire_and_forget_with_op_qname(axis2_svc_client_t *svc_client,
00242         const axutil_env_t *env,
00243         const axutil_qname_t *op_qname,
00244         const axiom_node_t *payload);
00245 
00255     AXIS2_EXTERN void AXIS2_CALL
00256     axis2_svc_client_fire_and_forget(axis2_svc_client_t *svc_client,
00257         const axutil_env_t *env,
00258         const axiom_node_t *payload);
00259 
00271     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00272     axis2_svc_client_send_receive_with_op_qname(axis2_svc_client_t *svc_client,
00273         const axutil_env_t *env,
00274         const axutil_qname_t *op_qname,
00275         const axiom_node_t *payload);
00276 
00286     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00287     axis2_svc_client_send_receive(axis2_svc_client_t *svc_client,
00288         const axutil_env_t *env,
00289         const axiom_node_t *payload);
00290 
00302     AXIS2_EXTERN void AXIS2_CALL
00303     axis2_svc_client_send_receive_non_blocking_with_op_qname(axis2_svc_client_t *svc_client,
00304         const axutil_env_t *env,
00305         const axutil_qname_t *op_qname,
00306         const axiom_node_t *payload,
00307         axis2_callback_t *callback);
00308 
00318     AXIS2_EXTERN void AXIS2_CALL
00319     axis2_svc_client_send_receive_non_blocking(axis2_svc_client_t *svc_client,
00320         const axutil_env_t *env,
00321         const axiom_node_t *payload,
00322         axis2_callback_t *callback);
00323 
00333     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00334     axis2_svc_client_create_op_client(axis2_svc_client_t *svc_client,
00335         const axutil_env_t *env,
00336         const axutil_qname_t *op_qname);
00337 
00346     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00347     axis2_svc_client_finalize_invoke(axis2_svc_client_t *svc_client,
00348         const axutil_env_t *env);
00349 
00359     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00360     axis2_svc_client_get_own_endpoint_ref(const axis2_svc_client_t *svc_client,
00361         const axutil_env_t *env,
00362         const axis2_char_t *transport);
00363 
00371     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00372     axis2_svc_client_get_target_endpoint_ref(const axis2_svc_client_t *svc_client,
00373         const axutil_env_t *env);
00374 
00383     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00384     axis2_svc_client_set_target_endpoint_ref(axis2_svc_client_t *svc_client,
00385         const axutil_env_t *env,
00386         axis2_endpoint_ref_t *target_epr);
00387 
00388 
00400     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00401     axis2_svc_client_set_proxy(axis2_svc_client_t *svc_client,
00402         const axutil_env_t *env,
00403         axis2_char_t *proxy_host,
00404         axis2_char_t *proxy_port);
00405 
00413     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00414     axis2_svc_client_get_svc_ctx(const axis2_svc_client_t *svc_client,
00415         const axutil_env_t *env);
00416 
00424     AXIS2_EXTERN void AXIS2_CALL
00425     axis2_svc_client_free(axis2_svc_client_t *svc_client,
00426         const axutil_env_t *env);
00427 
00435     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00436     axis2_svc_client_get_op_client(const axis2_svc_client_t *svc_client,
00437         const axutil_env_t *env);
00438 
00446     AXIS2_EXTERN axis2_svc_client_t * AXIS2_CALL
00447     axis2_svc_client_create(const axutil_env_t *env,
00448         const axis2_char_t *client_home);
00449 
00462     AXIS2_EXTERN axis2_svc_client_t * AXIS2_CALL
00463     axis2_svc_client_create_with_conf_ctx_and_svc(const axutil_env_t *env,
00464         const axis2_char_t *client_home,
00465         axis2_conf_ctx_t *conf_ctx,
00466         axis2_svc_t *svc);
00467 
00483     AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL
00484     axis2_svc_client_create_for_dynamic_invocation(const axutil_env_t *env,
00485         axis2_conf_ctx_t *conf_ctx,
00486         const axutil_uri_t *wsdl_uri,
00487         const axutil_qname_t *wsdl_svc_qname,
00488         const axis2_char_t *endpoint_name,
00489         const axis2_char_t *client_home);
00490 
00498     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00499     axis2_svc_client_get_last_response_soap_envelope(const axis2_svc_client_t *svc_client,
00500         const axutil_env_t *env);
00501 
00508     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00509     axis2_svc_client_get_last_response_has_fault(const axis2_svc_client_t *svc_client,
00510         const axutil_env_t *env);
00511 
00520      AXIS2_EXTERN axis2_status_t AXIS2_CALL
00521      axis2_svc_client_set_policy_from_om(axis2_svc_client_t *svc_client,
00522         const axutil_env_t *env,
00523         axiom_node_t *root_node);
00524        
00533     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00534     axis2_svc_client_set_policy(axis2_svc_client_t *svc_client,
00535         const axutil_env_t *env,
00536         neethi_policy_t *policy);
00537         
00538 
00539 
00540 
00542 #ifdef __cplusplus
00543 }
00544 #endif
00545 
00546 #endif                          /* AXIS2_SVC_CLIENT_H */

Generated on Wed Sep 26 09:49:21 2007 for Axis2/C by  doxygen 1.4.6