diff options
Diffstat (limited to 'samples/codegen/databinding/Calculator')
3 files changed, 397 insertions, 0 deletions
diff --git a/samples/codegen/databinding/Calculator/Calculator.wsdl b/samples/codegen/databinding/Calculator/Calculator.wsdl new file mode 100644 index 0000000..5600279 --- /dev/null +++ b/samples/codegen/databinding/Calculator/Calculator.wsdl @@ -0,0 +1,255 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright 2003-2004 The Apache Software Foundation. --> +<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved --> +<!-- --> +<!-- Licensed 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. --> + +<wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> + <element name="add"> + <complexType> + <sequence> + <element name="arg_0_0" type="xsd:int"/> + <element name="arg_1_0" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="addResponse"> + <complexType> + <sequence> + <element name="addReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="sub"> + <complexType> + <sequence> + <element name="arg_0_1" type="xsd:int"/> + <element name="arg_1_1" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="subResponse"> + <complexType> + <sequence> + <element name="subReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mul"> + <complexType> + <sequence> + <element name="arg_0_2" type="xsd:int"/> + <element name="arg_1_2" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="mulResponse"> + <complexType> + <sequence> + <element name="mulReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="div"> + <complexType> + <sequence> + <element name="arg_0_3" type="xsd:int"/> + <element name="arg_1_3" type="xsd:int"/> + </sequence> + </complexType> + </element> + <element name="divResponse"> + <complexType> + <sequence> + <element name="divReturn" type="xsd:int"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="subResponse"> + + <wsdl:part element="impl:subResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulResponse"> + + <wsdl:part element="impl:mulResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="subRequest"> + + <wsdl:part element="impl:sub" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divRequest"> + + <wsdl:part element="impl:div" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="divResponse"> + + <wsdl:part element="impl:divResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="mulRequest"> + + <wsdl:part element="impl:mul" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addResponse"> + + <wsdl:part element="impl:addResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addRequest"> + + <wsdl:part element="impl:add" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="Calculator"> + + <wsdl:operation name="add"> + + <wsdl:input message="impl:addRequest" name="addRequest"/> + + <wsdl:output message="impl:addResponse" name="addResponse"/> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdl:input message="impl:subRequest" name="subRequest"/> + + <wsdl:output message="impl:subResponse" name="subResponse"/> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdl:input message="impl:mulRequest" name="mulRequest"/> + + <wsdl:output message="impl:mulResponse" name="mulResponse"/> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdl:input message="impl:divRequest" name="divRequest"/> + + <wsdl:output message="impl:divResponse" name="divResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="CalculatorSoapBinding" type="impl:Calculator"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="add"> + + <wsdlsoap:operation soapAction="Calculator#add"/> + + <wsdl:input name="addRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="addResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="sub"> + + <wsdlsoap:operation soapAction="Calculator#sub"/> + + <wsdl:input name="subRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="subResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="mul"> + + <wsdlsoap:operation soapAction="Calculator#mul"/> + + <wsdl:input name="mulRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="mulResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="div"> + + <wsdlsoap:operation soapAction="Calculator#div"/> + + <wsdl:input name="divRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="divResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="Calculator"> + + <wsdl:port binding="impl:CalculatorSoapBinding" name="Calculator"> + + <wsdlsoap:address location="http://localhost/axis/Calculator"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> diff --git a/samples/codegen/databinding/Calculator/client/CalculatorAdd.c b/samples/codegen/databinding/Calculator/client/CalculatorAdd.c new file mode 100644 index 0000000..edb4b62 --- /dev/null +++ b/samples/codegen/databinding/Calculator/client/CalculatorAdd.c @@ -0,0 +1,38 @@ +#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; + adb_addResponse_t * add_res = NULL; + adb_add_t * add_in = NULL; + int res_val = 0; + endpoint_uri = "http://localhost:9090/axis2/services/Calculator"; + env = axutil_env_create_all("alltest.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); + add_in = adb_add_create(env); + adb_add_set_arg_0_0(add_in, env, 10); + adb_add_set_arg_1_0(add_in, env, 10); + add_res = axis2_stub_op_Calculator_add(stub, env, add_in); + if (!add_res) + + { + printf("Error: response NULL\n"); + return -1; + } + res_val = adb_addResponse_get_addReturn(add_res, env); + printf("ADD Result:%d ", res_val); + return 0; +} + + diff --git a/samples/codegen/databinding/Calculator/server/axis2_skel_Calculator.c b/samples/codegen/databinding/Calculator/server/axis2_skel_Calculator.c new file mode 100644 index 0000000..ab30974 --- /dev/null +++ b/samples/codegen/databinding/Calculator/server/axis2_skel_Calculator.c @@ -0,0 +1,104 @@ + + +/** + * axis2_skel_Calculator.c + * + * This file was auto-generated from WSDL for "Calculator|http://localhost/axis/Calculator" service + * by the Apache Axis2/C version: #axisVersion# #today# + * axis2_skel_Calculator Axis2/C skeleton for the axisService + */ + +#include "axis2_skel_Calculator.h" + + +/** + * auto generated function definition signature + * for "add|" operation. + + * @param add + */ + adb_addResponse_t * axis2_skel_Calculator_add(const axutil_env_t * env, + adb_add_t * add) +{ + adb_addResponse_t * add_res = NULL; + int ret_val = 0; + int val1 = 0; + int val2 = 0; + val1 = adb_add_get_arg_0_0(add, env); + val2 = adb_add_get_arg_1_0(add, env); + ret_val = val1 + val2; + add_res = adb_addResponse_create(env); + adb_addResponse_set_addReturn(add_res, env, ret_val); + return add_res; +} + + + +/** + * auto generated function definition signature + * for "div|" operation. + + * @param div + */ + adb_divResponse_t * axis2_skel_Calculator_div(const axutil_env_t * env, + adb_div_t * div) +{ + adb_divResponse_t * div_res = NULL; + int ret_val = 0; + int val1 = 0; + int val2 = 0; + val1 = adb_div_get_arg_0_3(div, env); + val2 = adb_div_get_arg_1_3(div, env); + ret_val = val1 / val2; + div_res = adb_divResponse_create(env); + adb_divResponse_set_divReturn(div_res, env, ret_val); + return div_res; +} + + + +/** + * auto generated function definition signature + * for "sub|" operation. + + * @param sub + */ + adb_subResponse_t * axis2_skel_Calculator_sub(const axutil_env_t * env, + adb_sub_t * sub) +{ + adb_subResponse_t * sub_res = NULL; + int ret_val = 0; + int val1 = 0; + int val2 = 0; + val1 = adb_sub_get_arg_0_1(sub, env); + val2 = adb_sub_get_arg_1_1(sub, env); + ret_val = val1 - val2; + sub_res = adb_subResponse_create(env); + adb_subResponse_set_subReturn(sub_res, env, ret_val); + return sub_res; +} + + + +/** + * auto generated function definition signature + * for "mul|" operation. + + * @param mul + */ + adb_mulResponse_t * axis2_skel_Calculator_mul(const axutil_env_t * env, + adb_mul_t * mul) +{ + adb_mulResponse_t * mul_res = NULL; + int ret_val = 0; + int val1 = 0; + int val2 = 0; + val1 = adb_mul_get_arg_0_2(mul, env); + val2 = adb_mul_get_arg_1_2(mul, env); + ret_val = val1 * val2; + mul_res = adb_mulResponse_create(env); + adb_mulResponse_set_mulReturn(mul_res, env, ret_val); + return mul_res; +} + + |