Click here to Skip to main content
15,886,788 members
Articles / Programming Languages / C++

CurrencyConvertor: How to Use gSOAP and Webservices, Part One

Rate me:
Please Sign up or sign in to vote.
4.85/5 (45 votes)
23 Mar 2007CPOL4 min read 558.8K   4.2K   71  
How to auto-generate VC++ source and include it in your project
/* WSCurrencyConv.h
   Generated by wsdl2h 1.2.8c from CurrencyConvertor.wsdl and typemap.dat
   2006-11-07 10:51:22 GMT
   Copyright (C) 2001-2006 Robert van Engelen, Genivia Inc. All Rights Reserved.
   This part of the software is released under one of the following licenses:
   GPL or Genivia's license for commercial use.
*/

/* NOTE:

 - Compile this file with soapcpp2 to complete the code generation process.
 - Use soapcpp2 option -I to specify paths for #import
   To build with STL, 'stlvector.h' is imported from 'import' dir in package.
 - Use wsdl2h options -c and -s to generate pure C code or C++ code without STL.
 - Use 'typemap.dat' to control schema namespace bindings and type mappings.
   It is strongly recommended to customize the names of the namespace prefixes
   generated by wsdl2h. To do so, modify the prefix bindings in the Namespaces
   section below and add the modified lines to 'typemap.dat' to rerun wsdl2h.
 - Use Doxygen (www.doxygen.org) to browse this file.
 - Use wsdl2h option -l to view the software license terms.

   DO NOT include this file directly into your project.
   Include only the soapcpp2-generated headers and source code files.
*/

//gsoapopt w

/******************************************************************************\
 *                                                                            *
 * http://www.webserviceX.NET/                                                *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Import                                                                     *
 *                                                                            *
\******************************************************************************/

#import "stlvector.h"

/******************************************************************************\
 *                                                                            *
 * Schema Namespaces                                                          *
 *                                                                            *
\******************************************************************************/


/* NOTE:

It is strongly recommended to customize the names of the namespace prefixes
generated by wsdl2h. To do so, modify the prefix bindings below and add the
modified lines to typemap.dat to rerun wsdl2h:

ns1 = "http://www.webserviceX.NET/"

*/

//gsoap ns1   schema namespace:	http://www.webserviceX.NET/
//gsoap ns1   schema elementForm:	qualified
//gsoap ns1   schema attributeForm:	unqualified

/******************************************************************************\
 *                                                                            *
 * Schema Types                                                               *
 *                                                                            *
\******************************************************************************/



//  Forward declaration of class _ns1__ConversionRate.
class _ns1__ConversionRate;

//  Forward declaration of class _ns1__ConversionRateResponse.
class _ns1__ConversionRateResponse;

/// "http://www.webserviceX.NET/":Currency is a simpleType restriction of xs:string.
/// Note: enum values are prefixed with 'ns1__Currency' to avoid name clashes, please use wsdl2h option -e to omit this prefix
enum ns1__Currency
{
	ns1__Currency__AFA,	///< xs:string value="AFA"
	ns1__Currency__ALL,	///< xs:string value="ALL"
	ns1__Currency__DZD,	///< xs:string value="DZD"
	ns1__Currency__ARS,	///< xs:string value="ARS"
	ns1__Currency__AWG,	///< xs:string value="AWG"
	ns1__Currency__AUD,	///< xs:string value="AUD"
	ns1__Currency__BSD,	///< xs:string value="BSD"
	ns1__Currency__BHD,	///< xs:string value="BHD"
	ns1__Currency__BDT,	///< xs:string value="BDT"
	ns1__Currency__BBD,	///< xs:string value="BBD"
	ns1__Currency__BZD,	///< xs:string value="BZD"
	ns1__Currency__BMD,	///< xs:string value="BMD"
	ns1__Currency__BTN,	///< xs:string value="BTN"
	ns1__Currency__BOB,	///< xs:string value="BOB"
	ns1__Currency__BWP,	///< xs:string value="BWP"
	ns1__Currency__BRL,	///< xs:string value="BRL"
	ns1__Currency__GBP,	///< xs:string value="GBP"
	ns1__Currency__BND,	///< xs:string value="BND"
	ns1__Currency__BIF,	///< xs:string value="BIF"
	ns1__Currency__XOF,	///< xs:string value="XOF"
	ns1__Currency__XAF,	///< xs:string value="XAF"
	ns1__Currency__KHR,	///< xs:string value="KHR"
	ns1__Currency__CAD,	///< xs:string value="CAD"
	ns1__Currency__CVE,	///< xs:string value="CVE"
	ns1__Currency__KYD,	///< xs:string value="KYD"
	ns1__Currency__CLP,	///< xs:string value="CLP"
	ns1__Currency__CNY,	///< xs:string value="CNY"
	ns1__Currency__COP,	///< xs:string value="COP"
	ns1__Currency__KMF,	///< xs:string value="KMF"
	ns1__Currency__CRC,	///< xs:string value="CRC"
	ns1__Currency__HRK,	///< xs:string value="HRK"
	ns1__Currency__CUP,	///< xs:string value="CUP"
	ns1__Currency__CYP,	///< xs:string value="CYP"
	ns1__Currency__CZK,	///< xs:string value="CZK"
	ns1__Currency__DKK,	///< xs:string value="DKK"
	ns1__Currency__DJF,	///< xs:string value="DJF"
	ns1__Currency__DOP,	///< xs:string value="DOP"
	ns1__Currency__XCD,	///< xs:string value="XCD"
	ns1__Currency__EGP,	///< xs:string value="EGP"
	ns1__Currency__SVC,	///< xs:string value="SVC"
	ns1__Currency__EEK,	///< xs:string value="EEK"
	ns1__Currency__ETB,	///< xs:string value="ETB"
	ns1__Currency__EUR,	///< xs:string value="EUR"
	ns1__Currency__FKP,	///< xs:string value="FKP"
	ns1__Currency__GMD,	///< xs:string value="GMD"
	ns1__Currency__GHC,	///< xs:string value="GHC"
	ns1__Currency__GIP,	///< xs:string value="GIP"
	ns1__Currency__XAU,	///< xs:string value="XAU"
	ns1__Currency__GTQ,	///< xs:string value="GTQ"
	ns1__Currency__GNF,	///< xs:string value="GNF"
	ns1__Currency__GYD,	///< xs:string value="GYD"
	ns1__Currency__HTG,	///< xs:string value="HTG"
	ns1__Currency__HNL,	///< xs:string value="HNL"
	ns1__Currency__HKD,	///< xs:string value="HKD"
	ns1__Currency__HUF,	///< xs:string value="HUF"
	ns1__Currency__ISK,	///< xs:string value="ISK"
	ns1__Currency__INR,	///< xs:string value="INR"
	ns1__Currency__IDR,	///< xs:string value="IDR"
	ns1__Currency__IQD,	///< xs:string value="IQD"
	ns1__Currency__ILS,	///< xs:string value="ILS"
	ns1__Currency__JMD,	///< xs:string value="JMD"
	ns1__Currency__JPY,	///< xs:string value="JPY"
	ns1__Currency__JOD,	///< xs:string value="JOD"
	ns1__Currency__KZT,	///< xs:string value="KZT"
	ns1__Currency__KES,	///< xs:string value="KES"
	ns1__Currency__KRW,	///< xs:string value="KRW"
	ns1__Currency__KWD,	///< xs:string value="KWD"
	ns1__Currency__LAK,	///< xs:string value="LAK"
	ns1__Currency__LVL,	///< xs:string value="LVL"
	ns1__Currency__LBP,	///< xs:string value="LBP"
	ns1__Currency__LSL,	///< xs:string value="LSL"
	ns1__Currency__LRD,	///< xs:string value="LRD"
	ns1__Currency__LYD,	///< xs:string value="LYD"
	ns1__Currency__LTL,	///< xs:string value="LTL"
	ns1__Currency__MOP,	///< xs:string value="MOP"
	ns1__Currency__MKD,	///< xs:string value="MKD"
	ns1__Currency__MGF,	///< xs:string value="MGF"
	ns1__Currency__MWK,	///< xs:string value="MWK"
	ns1__Currency__MYR,	///< xs:string value="MYR"
	ns1__Currency__MVR,	///< xs:string value="MVR"
	ns1__Currency__MTL,	///< xs:string value="MTL"
	ns1__Currency__MRO,	///< xs:string value="MRO"
	ns1__Currency__MUR,	///< xs:string value="MUR"
	ns1__Currency__MXN,	///< xs:string value="MXN"
	ns1__Currency__MDL,	///< xs:string value="MDL"
	ns1__Currency__MNT,	///< xs:string value="MNT"
	ns1__Currency__MAD,	///< xs:string value="MAD"
	ns1__Currency__MZM,	///< xs:string value="MZM"
	ns1__Currency__MMK,	///< xs:string value="MMK"
	ns1__Currency__NAD,	///< xs:string value="NAD"
	ns1__Currency__NPR,	///< xs:string value="NPR"
	ns1__Currency__ANG,	///< xs:string value="ANG"
	ns1__Currency__NZD,	///< xs:string value="NZD"
	ns1__Currency__NIO,	///< xs:string value="NIO"
	ns1__Currency__NGN,	///< xs:string value="NGN"
	ns1__Currency__KPW,	///< xs:string value="KPW"
	ns1__Currency__NOK,	///< xs:string value="NOK"
	ns1__Currency__OMR,	///< xs:string value="OMR"
	ns1__Currency__XPF,	///< xs:string value="XPF"
	ns1__Currency__PKR,	///< xs:string value="PKR"
	ns1__Currency__XPD,	///< xs:string value="XPD"
	ns1__Currency__PAB,	///< xs:string value="PAB"
	ns1__Currency__PGK,	///< xs:string value="PGK"
	ns1__Currency__PYG,	///< xs:string value="PYG"
	ns1__Currency__PEN,	///< xs:string value="PEN"
	ns1__Currency__PHP,	///< xs:string value="PHP"
	ns1__Currency__XPT,	///< xs:string value="XPT"
	ns1__Currency__PLN,	///< xs:string value="PLN"
	ns1__Currency__QAR,	///< xs:string value="QAR"
	ns1__Currency__ROL,	///< xs:string value="ROL"
	ns1__Currency__RUB,	///< xs:string value="RUB"
	ns1__Currency__WST,	///< xs:string value="WST"
	ns1__Currency__STD,	///< xs:string value="STD"
	ns1__Currency__SAR,	///< xs:string value="SAR"
	ns1__Currency__SCR,	///< xs:string value="SCR"
	ns1__Currency__SLL,	///< xs:string value="SLL"
	ns1__Currency__XAG,	///< xs:string value="XAG"
	ns1__Currency__SGD,	///< xs:string value="SGD"
	ns1__Currency__SKK,	///< xs:string value="SKK"
	ns1__Currency__SIT,	///< xs:string value="SIT"
	ns1__Currency__SBD,	///< xs:string value="SBD"
	ns1__Currency__SOS,	///< xs:string value="SOS"
	ns1__Currency__ZAR,	///< xs:string value="ZAR"
	ns1__Currency__LKR,	///< xs:string value="LKR"
	ns1__Currency__SHP,	///< xs:string value="SHP"
	ns1__Currency__SDD,	///< xs:string value="SDD"
	ns1__Currency__SRG,	///< xs:string value="SRG"
	ns1__Currency__SZL,	///< xs:string value="SZL"
	ns1__Currency__SEK,	///< xs:string value="SEK"
	ns1__Currency__CHF,	///< xs:string value="CHF"
	ns1__Currency__SYP,	///< xs:string value="SYP"
	ns1__Currency__TWD,	///< xs:string value="TWD"
	ns1__Currency__TZS,	///< xs:string value="TZS"
	ns1__Currency__THB,	///< xs:string value="THB"
	ns1__Currency__TOP,	///< xs:string value="TOP"
	ns1__Currency__TTD,	///< xs:string value="TTD"
	ns1__Currency__TND,	///< xs:string value="TND"
	ns1__Currency__TRL,	///< xs:string value="TRL"
	ns1__Currency__USD,	///< xs:string value="USD"
	ns1__Currency__AED,	///< xs:string value="AED"
	ns1__Currency__UGX,	///< xs:string value="UGX"
	ns1__Currency__UAH,	///< xs:string value="UAH"
	ns1__Currency__UYU,	///< xs:string value="UYU"
	ns1__Currency__VUV,	///< xs:string value="VUV"
	ns1__Currency__VEB,	///< xs:string value="VEB"
	ns1__Currency__VND,	///< xs:string value="VND"
	ns1__Currency__YER,	///< xs:string value="YER"
	ns1__Currency__YUM,	///< xs:string value="YUM"
	ns1__Currency__ZMK,	///< xs:string value="ZMK"
	ns1__Currency__ZWD,	///< xs:string value="ZWD"
	ns1__Currency__TRY,	///< xs:string value="TRY"
};


/// Element "http://www.webserviceX.NET/":ConversionRate of complexType.

/// "http://www.webserviceX.NET/":ConversionRate is a complexType.
class _ns1__ConversionRate
{ public:
/// Element FromCurrency of type "http://www.webserviceX.NET/":Currency.
    enum ns1__Currency                   FromCurrency                   1;	///< Required element.
/// Element ToCurrency of type "http://www.webserviceX.NET/":Currency.
    enum ns1__Currency                   ToCurrency                     1;	///< Required element.
/// A handle to the soap struct that manages this instance (automatically set)
    struct soap                         *soap                          ;
};


/// Element "http://www.webserviceX.NET/":ConversionRateResponse of complexType.

/// "http://www.webserviceX.NET/":ConversionRateResponse is a complexType.
class _ns1__ConversionRateResponse
{ public:
/// Element ConversionRateResult of type xs:double.
    double                               ConversionRateResult           1;	///< Required element.
/// A handle to the soap struct that manages this instance (automatically set)
    struct soap                         *soap                          ;
};

/// Element "http://www.webserviceX.NET/":double of type xs:double.
/// Note: use wsdl2h option -g to generate this global element declaration.

/******************************************************************************\
 *                                                                            *
 * Services                                                                   *
 *                                                                            *
\******************************************************************************/


//gsoap ns1  service name:	CurrencyConvertorSoap 
//gsoap ns1  service type:	CurrencyConvertorSoap 
//gsoap ns1  service port:	http://www.webservicex.net/CurrencyConvertor.asmx 
//gsoap ns1  service namespace:	http://www.webserviceX.NET/ 
//gsoap ns1  service transport:	http://schemas.xmlsoap.org/soap/http 

/** @mainpage Service Definitions

@section Service_bindings Bindings
  - @ref CurrencyConvertorSoap

*/

/**

@page CurrencyConvertorSoap Binding "CurrencyConvertorSoap"

@section CurrencyConvertorSoap_operations Operations of Binding  "CurrencyConvertorSoap"
  - @ref __ns1__ConversionRate

@section CurrencyConvertorSoap_ports Endpoints of Binding  "CurrencyConvertorSoap"
  - http://www.webservicex.net/CurrencyConvertor.asmx

*/

/******************************************************************************\
 *                                                                            *
 * CurrencyConvertorSoap                                                      *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * __ns1__ConversionRate                                                      *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__ConversionRate" of service binding "CurrencyConvertorSoap"

/**

Operation details:

<br><b>Get conversion rate from one currency to another currency <b><br><p><b><font color='#000080' size='1' face='Verdana'><u>Differenct currency Code and Names around the world</u></font></b></p><blockquote><p><font face='Verdana' size='1'>AFA-Afghanistan Afghani<br>ALL-Albanian Lek<br>DZD-Algerian Dinar<br>ARS-Argentine Peso<br>AWG-Aruba Florin<br>AUD-Australian Dollar<br>BSD-Bahamian Dollar<br>BHD-Bahraini Dinar<br>BDT-Bangladesh Taka<br>BBD-Barbados Dollar<br>BZD-Belize Dollar<br>BMD-Bermuda Dollar<br>BTN-Bhutan Ngultrum<br>BOB-Bolivian Boliviano<br>BWP-Botswana Pula<br>BRL-Brazilian Real<br>GBP-British Pound<br>BND-Brunei Dollar<br>BIF-Burundi Franc<br>XOF-CFA Franc (BCEAO)<br>XAF-CFA Franc (BEAC)<br>KHR-Cambodia Riel<br>CAD-Canadian Dollar<br>CVE-Cape Verde Escudo<br>KYD-Cayman Islands Dollar<br>CLP-Chilean Peso<br>CNY-Chinese Yuan<br>COP-Colombian Peso<br>KMF-Comoros Franc<br>CRC-Costa Rica Colon<br>HRK-Croatian Kuna<br>CUP-Cuban Peso<br>CYP-Cyprus Pound<br>CZK-Czech Koruna<br>DKK-Danish Krone<br>DJF-Dijibouti Franc<br>DOP-Dominican Peso<br>XCD-East Caribbean Dollar<br>EGP-Egyptian Pound<br>SVC-El Salvador Colon<br>EEK-Estonian Kroon<br>ETB-Ethiopian Birr<br>EUR-Euro<br>FKP-Falkland Islands Pound<br>GMD-Gambian Dalasi<br>GHC-Ghanian Cedi<br>GIP-Gibraltar Pound<br>XAU-Gold Ounces<br>GTQ-Guatemala Quetzal<br>GNF-Guinea Franc<br>GYD-Guyana Dollar<br>HTG-Haiti Gourde<br>HNL-Honduras Lempira<br>HKD-Hong Kong Dollar<br>HUF-Hungarian Forint<br>ISK-Iceland Krona<br>INR-Indian Rupee<br>IDR-Indonesian Rupiah<br>IQD-Iraqi Dinar<br>ILS-Israeli Shekel<br>JMD-Jamaican Dollar<br>JPY-Japanese Yen<br>JOD-Jordanian Dinar<br>KZT-Kazakhstan Tenge<br>KES-Kenyan Shilling<br>KRW-Korean Won<br>KWD-Kuwaiti Dinar<br>LAK-Lao Kip<br>LVL-Latvian Lat<br>LBP-Lebanese Pound<br>LSL-Lesotho Loti<br>LRD-Liberian Dollar<br>LYD-Libyan Dinar<br>LTL-Lithuanian Lita<br>MOP-Macau Pataca<br>MKD-Macedonian Denar<br>MGF-Malagasy Franc<br>MWK-Malawi Kwacha<br>MYR-Malaysian Ringgit<br>MVR-Maldives Rufiyaa<br>MTL-Maltese Lira<br>MRO-Mauritania Ougulya<br>MUR-Mauritius Rupee<br>MXN-Mexican Peso<br>MDL-Moldovan Leu<br>MNT-Mongolian Tugrik<br>MAD-Moroccan Dirham<br>MZM-Mozambique Metical<br>MMK-Myanmar Kyat<br>NAD-Namibian Dollar<br>NPR-Nepalese Rupee<br>ANG-Neth Antilles Guilder<br>NZD-New Zealand Dollar<br>NIO-Nicaragua Cordoba<br>NGN-Nigerian Naira<br>KPW-North Korean Won<br>NOK-Norwegian Krone<br>OMR-Omani Rial<br>XPF-Pacific Franc<br>PKR-Pakistani Rupee<br>XPD-Palladium Ounces<br>PAB-Panama Balboa<br>PGK-Papua New Guinea Kina<br>PYG-Paraguayan Guarani<br>PEN-Peruvian Nuevo Sol<br>PHP-Philippine Peso<br>XPT-Platinum Ounces<br>PLN-Polish Zloty<br>QAR-Qatar Rial<br>ROL-Romanian Leu<br>RUB-Russian Rouble<br>WST-Samoa Tala<br>STD-Sao Tome Dobra<br>SAR-Saudi Arabian Riyal<br>SCR-Seychelles Rupee<br>SLL-Sierra Leone Leone<br>XAG-Silver Ounces<br>SGD-Singapore Dollar<br>SKK-Slovak Koruna<br>SIT-Slovenian Tolar<br>SBD-Solomon Islands Dollar<br>SOS-Somali Shilling<br>ZAR-South African Rand<br>LKR-Sri Lanka Rupee<br>SHP-St Helena Pound<br>SDD-Sudanese Dinar<br>SRG-Surinam Guilder<br>SZL-Swaziland Lilageni<br>SEK-Swedish Krona<br>TRY-Turkey Lira<br>CHF-Swiss Franc<br>SYP-Syrian Pound<br>TWD-Taiwan Dollar<br>TZS-Tanzanian Shilling<br>THB-Thai Baht<br>TOP-Tonga Pa'anga<br>TTD-Trinidad&amp;amp;Tobago Dollar<br>TND-Tunisian Dinar<br>TRL-Turkish Lira<br>USD-U.S. Dollar<br>AED-UAE Dirham<br>UGX-Ugandan Shilling<br>UAH-Ukraine Hryvnia<br>UYU-Uruguayan New Peso<br>VUV-Vanuatu Vatu<br>VEB-Venezuelan Bolivar<br>VND-Vietnam Dong<br>YER-Yemen Riyal<br>YUM-Yugoslav Dinar<br>ZMK-Zambian Kwacha<br>ZWD-Zimbabwe Dollar</font></p></blockquote>
  - SOAP document/literal style
  - SOAP action="http://www.webserviceX.NET/ConversionRate"

C stub function (defined in soapClient.c[pp] after running soapcpp2):
@code
  int soap_call___ns1__ConversionRate(struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // request parameters:
    _ns1__ConversionRate*               ns1__ConversionRate,
    // response parameters:
    _ns1__ConversionRateResponse*       ns1__ConversionRateResponse
  );
@endcode

C++ proxy class (defined in soapCurrencyConvertorSoapProxy.h):
  class CurrencyConvertorSoap;

*/

//gsoap ns1  service method-style:	ConversionRate document
//gsoap ns1  service method-encoding:	ConversionRate literal
//gsoap ns1  service method-action:	ConversionRate http://www.webserviceX.NET/ConversionRate
int __ns1__ConversionRate(
    _ns1__ConversionRate*               ns1__ConversionRate,	///< Request parameter
    _ns1__ConversionRateResponse*       ns1__ConversionRateResponse	///< Response parameter
);

/* End of WSCurrencyConv.h */

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Welcome Italia spa
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions