diff options
| author | 2010-02-13 01:32:03 +0000 | |
|---|---|---|
| committer | 2010-02-13 01:32:03 +0000 | |
| commit | 0425aadc78680e53000fd0108b540d6eca048516 (patch) | |
| tree | 8ec7ab8e015d454c5ec586dfc91e05a2dce1cfc0 /samples/codegen/client/calculator | |
| download | axis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.gz axis2c-0425aadc78680e53000fd0108b540d6eca048516.tar.bz2  | |
Moving axis svn, part of TLP move INFRA-2441
git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@909681 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'samples/codegen/client/calculator')
| -rw-r--r-- | samples/codegen/client/calculator/Makefile.am | 26 | ||||
| -rw-r--r-- | samples/codegen/client/calculator/readme | 15 | ||||
| -rw-r--r-- | samples/codegen/client/calculator/test_calculator.c | 77 | 
3 files changed, 118 insertions, 0 deletions
diff --git a/samples/codegen/client/calculator/Makefile.am b/samples/codegen/client/calculator/Makefile.am new file mode 100644 index 0000000..9e75ed0 --- /dev/null +++ b/samples/codegen/client/calculator/Makefile.am @@ -0,0 +1,26 @@ +prgbindir=$(prefix)/bin/samples +prgbin_PROGRAMS = Calculator +samplesdir=$(prefix)/samples/client/Calculator + +Calculator_SOURCES = \ +axis2_add.c            axis2_Calculator_stub.c  axis2_divResponse.c    axis2_mulResponse.c    axis2_subResponse.c \ +axis2_addRequest.c     axis2_div.c              axis2_mul.c            axis2_sub.c            test_Calcultor.c \ +axis2_addResponse20.c  axis2_divRequest.c       axis2_mulRequest.c     axis2_subRequest.c \ +axis2_addResponse.c    axis2_divResponse16.c    axis2_mulResponse14.c  axis2_subResponse12.c + + +Calculator_LDADD   = $(LDFLAGS) \ +                    -L$(AXIS2C_HOME)/lib \ +                    -laxutil \ +                    -laxis2_axiom \ +                    -laxis2_wsdl \ +                    -laxis2_engine \ +                    -laxis2_parser \ +                    -lpthread \ +                    -laxis2_http_sender \ +                    -laxis2_http_receiver \ +                    $(GUTHTHILA_LIBS) + +INCLUDES = -I$(AXIS2C_HOME)/include \ +			@UTILINC@ \ +			@AXIOMINC@ diff --git a/samples/codegen/client/calculator/readme b/samples/codegen/client/calculator/readme new file mode 100644 index 0000000..2a7a351 --- /dev/null +++ b/samples/codegen/client/calculator/readme @@ -0,0 +1,15 @@ +This sample demonstrates the use of code generation using Axis2/Java WSDL2Java +tool (Axis2/Java source revision 414253). + +sample source        test_calcultor.c +wsdl                 $AXIS2C_SRC_HOME/test/resources/wsdl/Calculator.wsdl + + +Command to execute the code generation: + +WSDL2C.sh -uri Calculator.wsdl -u -d adb +WSDL2C.bat -uri Calculator.wsdl -u -d adb + +Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt +on how to use the script + diff --git a/samples/codegen/client/calculator/test_calculator.c b/samples/codegen/client/calculator/test_calculator.c new file mode 100644 index 0000000..2f4d2eb --- /dev/null +++ b/samples/codegen/client/calculator/test_calculator.c @@ -0,0 +1,77 @@ + +/* + * 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. + */ + +#include "axis2_stub_Calculator.h" + +int +main( +    int argc, +    char **argv) +{ +    axutil_env_t *env = NULL; +    axis2_char_t *operation = NULL; +    axis2_char_t *client_home = NULL; + +    axis2_char_t *endpoint_uri = NULL; + +    axis2_stub_t *stub = NULL; + +    /* variables use databinding */ +    adb_addResponse_t *add_res = NULL; +    adb_add_t *add_req = NULL; + +    int ret_val = 0; + +    int val1 = 8; +    int val2 = 13; + +    endpoint_uri = "http://localhost:9090/axis2/services/calculator"; + +    env = +        axutil_env_create_all("codegen_utest_blocking.log", +                              AXIS2_LOG_LEVEL_TRACE); + +    /* Set up deploy folder. */ +    client_home = AXIS2_GETENV("AXIS2C_HOME"); +    if (!client_home) +        client_home = "../../../deploy"; + +    stub = axis2_stub_create_Calculator(env, client_home, endpoint_uri); + +    /* create the struct */ +    add_req = adb_add_create(env); +    adb_add_set_in0(add_req, env, val1); +    adb_add_set_in1(add_req, env, val2); + + +    /* invoke the web service method */ +    add_res = axis2_stub_op_Calculator_add(stub, env, add_req); + +    if (!add_res) +    { +        printf("Error: response NULL\n"); +        return -1; +    } + +    /* return the output params using databinding */ +    ret_val = adb_addResponse_get_addReturn(add_res, env); + +    printf("finally: add (%d %d ) = %d\n", val1, val2, ret_val); + +    return 0; +}  | 
