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 
00058 #define AXIS2_ANON_SERVICE  "__ANONYMOUS_SERVICE__"
00059 
00061 #define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__"
00062 
00064 #define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__"
00065 
00067 #define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__"
00068 
00069 #define AXIS2_HTTP_PROXY_API "PROXY_API"
00070 #define AXIS2_HTTP_PROXY_HOST "proxy_host"
00071 #define AXIS2_HTTP_PROXY_PORT "proxy_port"
00072 #ifdef __cplusplus
00073 extern "C"
00074 {
00075 #endif
00076 
00078     typedef struct axis2_svc_client axis2_svc_client_t;
00079 
00080 
00089     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
00090     axis2_svc_client_get_svc(const axis2_svc_client_t *svc_client,
00091         const axutil_env_t *env);
00092 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     axis2_svc_client_set_options(axis2_svc_client_t *svc_client,
00102         const axutil_env_t *env,
00103         const axis2_options_t *options);
00104 
00112     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00113     axis2_svc_client_get_options(const axis2_svc_client_t *svc_client,
00114         const axutil_env_t *env);
00115 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126     axis2_svc_client_set_override_options(axis2_svc_client_t *svc_client,
00127         const axutil_env_t *env,
00128         const axis2_options_t *override_options);
00129 
00137     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00138     axis2_svc_client_get_override_options(const axis2_svc_client_t *svc_client,
00139         const axutil_env_t *env);
00140 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153     axis2_svc_client_engage_module(axis2_svc_client_t *svc_client,
00154         const axutil_env_t *env,
00155         const axis2_char_t *module_name);
00156 
00166     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00167     axis2_svc_client_disengage_module(axis2_svc_client_t *svc_client,
00168         const axutil_env_t *env,
00169         const axis2_char_t *module_name);
00170 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     axis2_svc_client_add_header(axis2_svc_client_t *svc_client,
00183         const axutil_env_t *env,
00184         axiom_node_t *header);
00185 
00192     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00193     axis2_svc_client_remove_all_headers(axis2_svc_client_t *svc_client,
00194         const axutil_env_t *env);
00195 
00208     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00209     axis2_svc_client_send_robust_with_op_qname(axis2_svc_client_t *svc_client,
00210         const axutil_env_t *env,
00211         const axutil_qname_t *op_qname,
00212         const axiom_node_t *payload);
00213 
00226     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00227     axis2_svc_client_send_robust(axis2_svc_client_t *svc_client,
00228         const axutil_env_t *env,
00229         const axiom_node_t *payload);
00230 
00242     AXIS2_EXTERN void AXIS2_CALL
00243     axis2_svc_client_fire_and_forget_with_op_qname(axis2_svc_client_t *svc_client,
00244         const axutil_env_t *env,
00245         const axutil_qname_t *op_qname,
00246         const axiom_node_t *payload);
00247 
00257     AXIS2_EXTERN void AXIS2_CALL
00258     axis2_svc_client_fire_and_forget(axis2_svc_client_t *svc_client,
00259         const axutil_env_t *env,
00260         const axiom_node_t *payload);
00261 
00273     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00274     axis2_svc_client_send_receive_with_op_qname(axis2_svc_client_t *svc_client,
00275         const axutil_env_t *env,
00276         const axutil_qname_t *op_qname,
00277         const axiom_node_t *payload);
00278 
00288     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00289     axis2_svc_client_send_receive(axis2_svc_client_t *svc_client,
00290         const axutil_env_t *env,
00291         const axiom_node_t *payload);
00292 
00304     AXIS2_EXTERN void AXIS2_CALL
00305     axis2_svc_client_send_receive_non_blocking_with_op_qname(axis2_svc_client_t *svc_client,
00306         const axutil_env_t *env,
00307         const axutil_qname_t *op_qname,
00308         const axiom_node_t *payload,
00309         axis2_callback_t *callback);
00310 
00320     AXIS2_EXTERN void AXIS2_CALL
00321     axis2_svc_client_send_receive_non_blocking(axis2_svc_client_t *svc_client,
00322         const axutil_env_t *env,
00323         const axiom_node_t *payload,
00324         axis2_callback_t *callback);
00325 
00335     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00336     axis2_svc_client_create_op_client(axis2_svc_client_t *svc_client,
00337         const axutil_env_t *env,
00338         const axutil_qname_t *op_qname);
00339 
00348     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00349     axis2_svc_client_finalize_invoke(axis2_svc_client_t *svc_client,
00350         const axutil_env_t *env);
00351 
00361     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00362     axis2_svc_client_get_own_endpoint_ref(const axis2_svc_client_t *svc_client,
00363         const axutil_env_t *env,
00364         const axis2_char_t *transport);
00365 
00373     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00374     axis2_svc_client_get_target_endpoint_ref(const axis2_svc_client_t *svc_client,
00375         const axutil_env_t *env);
00376 
00385     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00386     axis2_svc_client_set_target_endpoint_ref(axis2_svc_client_t *svc_client,
00387         const axutil_env_t *env,
00388         axis2_endpoint_ref_t *target_epr);
00389 
00390 
00402     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00403     axis2_svc_client_set_proxy(axis2_svc_client_t *svc_client,
00404         const axutil_env_t *env,
00405         axis2_char_t *proxy_host,
00406         axis2_char_t *proxy_port);
00407 
00415     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00416     axis2_svc_client_get_svc_ctx(const axis2_svc_client_t *svc_client,
00417         const axutil_env_t *env);
00418 
00426     AXIS2_EXTERN void AXIS2_CALL
00427     axis2_svc_client_free(axis2_svc_client_t *svc_client,
00428         const axutil_env_t *env);
00429 
00437     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00438     axis2_svc_client_get_op_client(const axis2_svc_client_t *svc_client,
00439         const axutil_env_t *env);
00440 
00448     AXIS2_EXTERN axis2_svc_client_t * AXIS2_CALL
00449     axis2_svc_client_create(const axutil_env_t *env,
00450         const axis2_char_t *client_home);
00451 
00464     AXIS2_EXTERN axis2_svc_client_t * AXIS2_CALL
00465     axis2_svc_client_create_with_conf_ctx_and_svc(const axutil_env_t *env,
00466         const axis2_char_t *client_home,
00467         axis2_conf_ctx_t *conf_ctx,
00468         axis2_svc_t *svc);
00469 
00485     AXIS2_EXTERN axis2_svc_client_t* AXIS2_CALL
00486     axis2_svc_client_create_for_dynamic_invocation(const axutil_env_t *env,
00487         axis2_conf_ctx_t *conf_ctx,
00488         const axutil_uri_t *wsdl_uri,
00489         const axutil_qname_t *wsdl_svc_qname,
00490         const axis2_char_t *endpoint_name,
00491         const axis2_char_t *client_home);
00492 
00500     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00501     axis2_svc_client_get_last_response_soap_envelope(const axis2_svc_client_t *svc_client,
00502         const axutil_env_t *env);
00503 
00510     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00511     axis2_svc_client_get_last_response_has_fault(const axis2_svc_client_t *svc_client,
00512         const axutil_env_t *env);
00513 
00515 #ifdef __cplusplus
00516 }
00517 #endif
00518 
00519 #endif                          /* AXIS2_SVC_CLIENT_H */

Generated on Thu May 3 12:31:01 2007 for Axis2/C by  doxygen 1.4.6