/* * 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_StockQuoteService.h" #include void handle_response( adb_getStockQuoteResponse_t * res, axutil_env_t * env); int main( int argc, char *argv[]) { axutil_env_t * env = NULL; axis2_char_t * client_home = NULL; axis2_char_t * endpoint_uri = NULL; axis2_stub_t * stub = NULL; axis2_char_t * symbol = NULL; adb_getStockQuote_t * req = NULL; adb_getStockQuoteResponse_t * res = NULL; if (argc > 1) { symbol = argv[1]; } else { printf("\nEnter Symbol Name!"); return -1; } endpoint_uri = "http://localhost:9090/axis2/services/StockQuoteService"; env = axutil_env_create_all("codegen_sample_stock_quote.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_StockQuoteService(env, client_home, endpoint_uri); /* Create the struct */ req = adb_getStockQuote_create(env); adb_getStockQuote_set_symbol(req, env, symbol); res = axis2_stub_op_StockQuoteService_getStockQuote(stub, env, req); if (!res) { printf("Error: response NULL!\n"); return -1; } handle_response(res, env); /*Handle Response */ return 0; } void handle_response( adb_getStockQuoteResponse_t * res, axutil_env_t * env) { adb_quote_t * quote = NULL; adb_changeType_t * change = NULL; adb_lastTradeType_t * last_trade = NULL; /*Attributes of Quote */ axis2_char_t * symbol_res = NULL; int volume = 0; /*Attributes of Last Trade */ float price = 0; long date = 0; /*Attributes of Change */ float dollar = 0; float precent = 0; quote = adb_getStockQuoteResponse_get_returnQuote(res, env); if (!quote) { printf("Error: Quote response NULL!\n"); return; } last_trade = adb_quote_get_lastTrade(quote, env); change = adb_quote_get_change(quote, env); symbol_res = adb_quote_get_symbol(quote, env); volume = adb_quote_get_volume(quote, env); price = adb_lastTradeType_get_price(last_trade, env); date = adb_lastTradeType_get_date(last_trade, env); dollar = adb_changeType_get_dollar(change, env); precent = adb_changeType_get_percent(change, env); printf("\nSTOCK QUOTERESPONSE\n"); printf("\tSYMBOL\t\t: %s\n", symbol_res); printf("\tVOLUME\t\t: %d\n", volume); printf("\tPRICE\t\t: %f\n", price); printf("\tDATE\t\t: %l\n", date); printf("\tDOLLAR\t\t: %f\n", dollar); printf("\tPRECENT\t\t: %f\n", precent); }