# axis2_op_client.h

Go to the documentation of this file.

    00001
    00002 /*
    00003 * Licensed to the Apache Software Foundation (ASF) under one or more
    00004 * contributor license agreements.  See the NOTICE file distributed with
    00005 * this work for additional information regarding copyright ownership.
    00006 * The ASF licenses this file to You under the Apache License, Version 2.0
    00007 * (the "License"); you may not use this file except in compliance with
    00008 * the License.  You may obtain a copy of the License at
    00009 *
    00010 *      http://www.apache.org/licenses/LICENSE-2.0
    00011 *
    00012 * Unless required by applicable law or agreed to in writing, software
    00013 * distributed under the License is distributed on an "AS IS" BASIS,
    00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00015 * See the License for the specific language governing permissions and
    00016 * limitations under the License.
    00017 */
    00018
    00019 #ifndef AXIS2_OP_CLIENT_H
    00020 #define AXIS2_OP_CLIENT_H
    00021
    00050 #include <axis2_defines.h>
    00051 #include <axutil_env.h>
    00052 #include <axis2_options.h>
    00053 #include <axis2_msg_ctx.h>
    00054 #include <axis2_callback.h>
    00055
    00056 #ifdef __cplusplus
    00057 extern "C"
    00058 {
    00059 #endif
    00060
    00062     typedef struct axis2_op_client axis2_op_client_t;
    00063
    00064     struct axis2_callback_recv;
    00065
    00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00074     axis2_op_client_set_options(
    00075         axis2_op_client_t * op_client,
    00076         const axutil_env_t * env,
    00077         const axis2_options_t * options);
    00078
    00086     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
    00087     axis2_op_client_get_options(
    00088         const axis2_op_client_t * op_client,
    00089         const axutil_env_t * env);
    00090
    00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00100     axis2_op_client_add_msg_ctx(
    00101         axis2_op_client_t * op_client,
    00102         const axutil_env_t * env,
    00103         axis2_msg_ctx_t * msg_ctx);
    00104
    00113     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00114     axis2_op_client_add_out_msg_ctx(
    00115         axis2_op_client_t * op_client,
    00116         const axutil_env_t * env,
    00117         axis2_msg_ctx_t * msg_ctx);
    00118
    00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00120     axis2_op_client_add_in_msg_ctx(
    00121         axis2_op_client_t * op_client,
    00122         const axutil_env_t * env,
    00123         axis2_msg_ctx_t * msg_ctx);
    00124
    00133     AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL
    00134     axis2_op_client_get_msg_ctx(
    00135         const axis2_op_client_t * op_client,
    00136         const axutil_env_t * env,
    00137         const axis2_wsdl_msg_labels_t message_label);
    00138
    00147     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00148     axis2_op_client_set_callback(
    00149         axis2_op_client_t * op_client,
    00150         const axutil_env_t * env,
    00151         axis2_callback_t * callback);
    00152
    00159     AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
    00160     axis2_op_client_get_callback(
    00161         axis2_op_client_t * op_client,
    00162         const axutil_env_t * env);
    00163
    00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00176     axis2_op_client_execute(
    00177         axis2_op_client_t * op_client,
    00178         const axutil_env_t * env,
    00179         const axis2_bool_t block);
    00180
    00189     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00190     axis2_op_client_reset(
    00191         axis2_op_client_t * op_client,
    00192         const axutil_env_t * env);
    00193
    00203     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00204     axis2_op_client_complete(
    00205         axis2_op_client_t * op_client,
    00206         const axutil_env_t * env,
    00207         axis2_msg_ctx_t * msg_ctx);
    00208
    00215     AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
    00216     axis2_op_client_get_operation_context(
    00217         const axis2_op_client_t * op_client,
    00218         const axutil_env_t * env);
    00219
    00228     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00229     axis2_op_client_set_callback_recv(
    00230         axis2_op_client_t * op_client,
    00231         const axutil_env_t * env,
    00232         struct axis2_callback_recv *callback_recv);
    00233
    00240     AXIS2_EXTERN void AXIS2_CALL
    00241     axis2_op_client_free(
    00242         axis2_op_client_t * op_client,
    00243         const axutil_env_t * env);
    00244
    00260     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
    00261     axis2_op_client_create(
    00262         const axutil_env_t * env,
    00263         axis2_op_t * op,
    00264         axis2_svc_ctx_t * svc_ctx,
    00265         axis2_options_t * options);
    00266
    00273     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
    00274     axis2_op_client_get_soap_action(
    00275         const axis2_op_client_t * op_client,
    00276         const axutil_env_t * env);
    00277
    00287     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00288     axis2_op_client_prepare_invocation(
    00289         axis2_op_client_t * op_client,
    00290         const axutil_env_t * env,
    00291         axis2_op_t * op,
    00292         axis2_msg_ctx_t * msg_ctx);
    00293
    00302     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
    00303     axis2_op_client_prepare_soap_envelope(
    00304         axis2_op_client_t * op_client,
    00305         const axutil_env_t * env,
    00306         axiom_node_t * to_send);
    00307
    00317     AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
    00318     axis2_op_client_infer_transport(
    00319         axis2_op_client_t * op_client,
    00320         const axutil_env_t * env,
    00321         axis2_endpoint_ref_t * epr);
    00322
    00329     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
    00330     axis2_op_client_create_default_soap_envelope(
    00331         axis2_op_client_t * op_client,
    00332         const axutil_env_t * env);
    00333
    00344     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00345     axis2_op_client_engage_module(
    00346         axis2_op_client_t * op_client,
    00347         const axutil_env_t * env,
    00348         const axutil_qname_t * qname);
    00349
    00357     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00358     axis2_op_client_set_soap_version_uri(
    00359         axis2_op_client_t * op_client,
    00360         const axutil_env_t * env,
    00361         const axis2_char_t * soap_version_uri);
    00362
    00370     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00371     axis2_op_client_set_soap_action(
    00372         axis2_op_client_t * op_client,
    00373         const axutil_env_t * env,
    00374         axutil_string_t * soap_action);
    00375
    00383     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00384     axis2_op_client_set_wsa_action(
    00385         axis2_op_client_t * op_client,
    00386         const axutil_env_t * env,
    00387         const axis2_char_t * wsa_action);
    00388
    00395     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
    00396     axis2_op_client_get_svc_ctx(
    00397         const axis2_op_client_t * op_client,
    00398         const axutil_env_t * env);
    00399
    00400
    00408     AXIS2_EXTERN void AXIS2_CALL
    00409     axis2_op_client_set_reuse(
    00410         axis2_op_client_t * op_client,
    00411         const axutil_env_t * env,
    00412         axis2_bool_t reuse);
    00413
    00422     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
    00423     axis2_op_client_two_way_send(
    00424         const axutil_env_t * env,
    00425         axis2_msg_ctx_t * msg_ctx);
    00426
    00435     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
    00436     axis2_op_client_receive(
    00437         const axutil_env_t * env,
    00438         axis2_msg_ctx_t * msg_ctx);
    00439
    00441 #ifdef __cplusplus
    00442 }
    00443 #endif
    00444
    00445 #endif                          /* AXIS2_OP_CLIENT_H */