/* GeoIPService.h
   Generated by wsdl2h 2.8.33 from http://www.webservicex.net/geoipservice.asmx?WSDL and typemap.dat
   2016-08-17 14:09:08 GMT

   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS
   USE THE soapcpp2-GENERATED SOURCE CODE FILES FOR YOUR PROJECT BUILDS

gSOAP XML Web services tools
Copyright (C) 2000-2016, Robert van Engelen, Genivia Inc. All Rights Reserved.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
A commercial use license is available from Genivia Inc., contact@genivia.com
--------------------------------------------------------------------------------
*/

/** @page page_notes Notes

@note HINTS:
 - Run soapcpp2 on GeoIPService.h to generate the SOAP/XML processing logic.
   Use soapcpp2 -I to specify paths for #import
   To build with STL, 'stl.h' is imported from 'import' dir in package.
   Use soapcpp2 -j to generate improved proxy and server classes.
   Use soapcpp2 -r to generate a report.
 - Use wsdl2h -c and -s to generate pure C code or C++ code without STL.
 - Use 'typemap.dat' to control 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.
 - Run Doxygen (www.doxygen.org) on this file to generate documentation.
 - Use wsdl2h -R to generate REST operations.
 - Use wsdl2h -nname to use name as the base namespace prefix instead of 'ns'.
 - Use wsdl2h -Nname for service prefix and produce multiple service bindings
 - Use wsdl2h -d to enable DOM support for xsd:anyType.
 - Use wsdl2h -g to auto-generate readers and writers for root elements.
 - Use wsdl2h -b to auto-generate bi-directional operations (duplex ops).
 - Use wsdl2h -U to map XML names to C++ Unicode identifiers instead of _xNNNN.
 - Use wsdl2h -u to disable the generation of unions.
 - Struct/class members serialized as XML attributes are annotated with a '@'.
 - Struct/class members that have a special role are annotated with a '$'.

@warning
   DO NOT INCLUDE THIS ANNOTATED FILE DIRECTLY IN YOUR PROJECT SOURCE CODE.
   USE THE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT'S SOURCE CODE:
   THE soapStub.h FILE CONTAINS THIS CONTENT WITHOUT ANNOTATIONS.

@copyright LICENSE:
@verbatim
--------------------------------------------------------------------------------
gSOAP XML Web services tools
Copyright (C) 2000-2016, Robert van Engelen, Genivia Inc. All Rights Reserved.
The wsdl2h tool and its generated software are released under the GPL.
This software is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
GPL license.

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA

Author contact information:
engelen@genivia.com / engelen@acm.org

This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
A commercial-use license is available from Genivia, Inc., contact@genivia.com
--------------------------------------------------------------------------------
@endverbatim

*/


//gsoapopt c++,w

/******************************************************************************\
 *                                                                            *
 * Definitions                                                                *
 *   http://www.webservicex.net/                                              *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * $CONTAINER                                                                 *
 *   std::vector                                                              *
 *                                                                            *
\******************************************************************************/

template <class T> class std::vector;

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

#import "stl.h"	// enable STL containers when used (option -s removes STL dependency)

/******************************************************************************\
 *                                                                            *
 * 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/"

*/

#define SOAP_NAMESPACE_OF_ns1	"http://www.webservicex.net/"
//gsoap ns1   schema namespace:	http://www.webservicex.net/
//gsoap ns1   schema elementForm:	qualified
//gsoap ns1   schema attributeForm:	unqualified

/******************************************************************************\
 *                                                                            *
 * Built-in Schema Types and Top-Level Elements and Attributes                *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Forward Declarations                                                       *
 *                                                                            *
\******************************************************************************/


//  Forward declaration of class ns1__GeoIP.
class ns1__GeoIP;

//  Forward declaration of class _ns1__GetGeoIP.
class _ns1__GetGeoIP;

//  Forward declaration of class _ns1__GetGeoIPResponse.
class _ns1__GetGeoIPResponse;

//  Forward declaration of class _ns1__GetGeoIPContext.
class _ns1__GetGeoIPContext;

//  Forward declaration of class _ns1__GetGeoIPContextResponse.
class _ns1__GetGeoIPContextResponse;


/******************************************************************************\
 *                                                                            *
 * Schema Types and Top-Level Elements and Attributes                         *
 *   http://www.webservicex.net/                                              *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Schema Complex Types and Top-Level Elements                                *
 *   http://www.webservicex.net/                                              *
 *                                                                            *
\******************************************************************************/

/// @brief "http://www.webservicex.net/":GeoIP is a complexType.
///
/// class ns1__GeoIP operations:
/// - ns1__GeoIP* soap_new_ns1__GeoIP(soap*) allocate
/// - ns1__GeoIP* soap_new_ns1__GeoIP(soap*, int num) allocate array
/// - ns1__GeoIP* soap_new_req_ns1__GeoIP(soap*, ...) allocate, set required members
/// - ns1__GeoIP* soap_new_set_ns1__GeoIP(soap*, ...) allocate, set all public members
/// - ns1__GeoIP::soap_default(soap*) reset members to default
/// - int soap_read_ns1__GeoIP(soap*, ns1__GeoIP*) deserialize from a stream
/// - int soap_write_ns1__GeoIP(soap*, ns1__GeoIP*) serialize to a stream
/// - ns1__GeoIP* ns1__GeoIP::soap_dup(soap*) returns deep copy of ns1__GeoIP, copies the (cyclic) graph structure when a context is provided, or (cycle-pruned) tree structure with soap_set_mode(soap, SOAP_XML_TREE) (use soapcpp2 -Ec)
/// - ns1__GeoIP::soap_del() deep deletes ns1__GeoIP data members, use only after ns1__GeoIP::soap_dup(NULL) (use soapcpp2 -Ed)
class ns1__GeoIP
{ public:
/// Element "ReturnCode" of XSD type xs:int.
    int                                  ReturnCode                     1;	///< Required element.
/// Element "IP" of XSD type xs:string.
    std::string*                         IP                             0;	///< Optional element.
/// Element "ReturnCodeDetails" of XSD type xs:string.
    std::string*                         ReturnCodeDetails              0;	///< Optional element.
/// Element "CountryName" of XSD type xs:string.
    std::string*                         CountryName                    0;	///< Optional element.
/// Element "CountryCode" of XSD type xs:string.
    std::string*                         CountryCode                    0;	///< Optional element.
/// A handle to the soap struct context that manages this instance when instantiated by a context or NULL otherwise (automatically set).
    struct soap                         *soap                          ;
};

/// @brief Top-level root element "http://www.webservicex.net/":GetGeoIP
/// @brief "http://www.webservicex.net/":GetGeoIP is a complexType.
///
/// class _ns1__GetGeoIP operations:
/// - _ns1__GetGeoIP* soap_new__ns1__GetGeoIP(soap*) allocate
/// - _ns1__GetGeoIP* soap_new__ns1__GetGeoIP(soap*, int num) allocate array
/// - _ns1__GetGeoIP* soap_new_req__ns1__GetGeoIP(soap*, ...) allocate, set required members
/// - _ns1__GetGeoIP* soap_new_set__ns1__GetGeoIP(soap*, ...) allocate, set all public members
/// - _ns1__GetGeoIP::soap_default(soap*) reset members to default
/// - int soap_read__ns1__GetGeoIP(soap*, _ns1__GetGeoIP*) deserialize from a stream
/// - int soap_write__ns1__GetGeoIP(soap*, _ns1__GetGeoIP*) serialize to a stream
/// - _ns1__GetGeoIP* _ns1__GetGeoIP::soap_dup(soap*) returns deep copy of _ns1__GetGeoIP, copies the (cyclic) graph structure when a context is provided, or (cycle-pruned) tree structure with soap_set_mode(soap, SOAP_XML_TREE) (use soapcpp2 -Ec)
/// - _ns1__GetGeoIP::soap_del() deep deletes _ns1__GetGeoIP data members, use only after _ns1__GetGeoIP::soap_dup(NULL) (use soapcpp2 -Ed)
class _ns1__GetGeoIP
{ public:
/// Element "IPAddress" of XSD type xs:string.
    std::string*                         IPAddress                      0;	///< Optional element.
/// A handle to the soap struct context that manages this instance when instantiated by a context or NULL otherwise (automatically set).
    struct soap                         *soap                          ;
};

/// @brief Top-level root element "http://www.webservicex.net/":GetGeoIPResponse
/// @brief "http://www.webservicex.net/":GetGeoIPResponse is a complexType.
///
/// class _ns1__GetGeoIPResponse operations:
/// - _ns1__GetGeoIPResponse* soap_new__ns1__GetGeoIPResponse(soap*) allocate
/// - _ns1__GetGeoIPResponse* soap_new__ns1__GetGeoIPResponse(soap*, int num) allocate array
/// - _ns1__GetGeoIPResponse* soap_new_req__ns1__GetGeoIPResponse(soap*, ...) allocate, set required members
/// - _ns1__GetGeoIPResponse* soap_new_set__ns1__GetGeoIPResponse(soap*, ...) allocate, set all public members
/// - _ns1__GetGeoIPResponse::soap_default(soap*) reset members to default
/// - int soap_read__ns1__GetGeoIPResponse(soap*, _ns1__GetGeoIPResponse*) deserialize from a stream
/// - int soap_write__ns1__GetGeoIPResponse(soap*, _ns1__GetGeoIPResponse*) serialize to a stream
/// - _ns1__GetGeoIPResponse* _ns1__GetGeoIPResponse::soap_dup(soap*) returns deep copy of _ns1__GetGeoIPResponse, copies the (cyclic) graph structure when a context is provided, or (cycle-pruned) tree structure with soap_set_mode(soap, SOAP_XML_TREE) (use soapcpp2 -Ec)
/// - _ns1__GetGeoIPResponse::soap_del() deep deletes _ns1__GetGeoIPResponse data members, use only after _ns1__GetGeoIPResponse::soap_dup(NULL) (use soapcpp2 -Ed)
class _ns1__GetGeoIPResponse
{ public:
/// Element "GetGeoIPResult" of XSD type "http://www.webservicex.net/":GeoIP.
    ns1__GeoIP*                          GetGeoIPResult                 0;	///< Optional element.
/// A handle to the soap struct context that manages this instance when instantiated by a context or NULL otherwise (automatically set).
    struct soap                         *soap                          ;
};

/// @brief Top-level root element "http://www.webservicex.net/":GetGeoIPContext
/// @brief "http://www.webservicex.net/":GetGeoIPContext is a complexType.
///
/// class _ns1__GetGeoIPContext operations:
/// - _ns1__GetGeoIPContext* soap_new__ns1__GetGeoIPContext(soap*) allocate
/// - _ns1__GetGeoIPContext* soap_new__ns1__GetGeoIPContext(soap*, int num) allocate array
/// - _ns1__GetGeoIPContext* soap_new_req__ns1__GetGeoIPContext(soap*, ...) allocate, set required members
/// - _ns1__GetGeoIPContext* soap_new_set__ns1__GetGeoIPContext(soap*, ...) allocate, set all public members
/// - _ns1__GetGeoIPContext::soap_default(soap*) reset members to default
/// - int soap_read__ns1__GetGeoIPContext(soap*, _ns1__GetGeoIPContext*) deserialize from a stream
/// - int soap_write__ns1__GetGeoIPContext(soap*, _ns1__GetGeoIPContext*) serialize to a stream
/// - _ns1__GetGeoIPContext* _ns1__GetGeoIPContext::soap_dup(soap*) returns deep copy of _ns1__GetGeoIPContext, copies the (cyclic) graph structure when a context is provided, or (cycle-pruned) tree structure with soap_set_mode(soap, SOAP_XML_TREE) (use soapcpp2 -Ec)
/// - _ns1__GetGeoIPContext::soap_del() deep deletes _ns1__GetGeoIPContext data members, use only after _ns1__GetGeoIPContext::soap_dup(NULL) (use soapcpp2 -Ed)
class _ns1__GetGeoIPContext
{ public:
/// A handle to the soap struct context that manages this instance when instantiated by a context or NULL otherwise (automatically set).
    struct soap                         *soap                          ;
};

/// @brief Top-level root element "http://www.webservicex.net/":GetGeoIPContextResponse
/// @brief "http://www.webservicex.net/":GetGeoIPContextResponse is a complexType.
///
/// class _ns1__GetGeoIPContextResponse operations:
/// - _ns1__GetGeoIPContextResponse* soap_new__ns1__GetGeoIPContextResponse(soap*) allocate
/// - _ns1__GetGeoIPContextResponse* soap_new__ns1__GetGeoIPContextResponse(soap*, int num) allocate array
/// - _ns1__GetGeoIPContextResponse* soap_new_req__ns1__GetGeoIPContextResponse(soap*, ...) allocate, set required members
/// - _ns1__GetGeoIPContextResponse* soap_new_set__ns1__GetGeoIPContextResponse(soap*, ...) allocate, set all public members
/// - _ns1__GetGeoIPContextResponse::soap_default(soap*) reset members to default
/// - int soap_read__ns1__GetGeoIPContextResponse(soap*, _ns1__GetGeoIPContextResponse*) deserialize from a stream
/// - int soap_write__ns1__GetGeoIPContextResponse(soap*, _ns1__GetGeoIPContextResponse*) serialize to a stream
/// - _ns1__GetGeoIPContextResponse* _ns1__GetGeoIPContextResponse::soap_dup(soap*) returns deep copy of _ns1__GetGeoIPContextResponse, copies the (cyclic) graph structure when a context is provided, or (cycle-pruned) tree structure with soap_set_mode(soap, SOAP_XML_TREE) (use soapcpp2 -Ec)
/// - _ns1__GetGeoIPContextResponse::soap_del() deep deletes _ns1__GetGeoIPContextResponse data members, use only after _ns1__GetGeoIPContextResponse::soap_dup(NULL) (use soapcpp2 -Ed)
class _ns1__GetGeoIPContextResponse
{ public:
/// Element "GetGeoIPContextResult" of XSD type "http://www.webservicex.net/":GeoIP.
    ns1__GeoIP*                          GetGeoIPContextResult          0;	///< Optional element.
/// A handle to the soap struct context that manages this instance when instantiated by a context or NULL otherwise (automatically set).
    struct soap                         *soap                          ;
};


/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Elements                                              *
 *   http://www.webservicex.net/                                              *
 *                                                                            *
\******************************************************************************/

/// @brief Top-level root element "http://www.webservicex.net/":GeoIP of XSD type "http://www.webservicex.net/":GeoIP.
/// @note Use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.


/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Attributes                                            *
 *   http://www.webservicex.net/                                              *
 *                                                                            *
\******************************************************************************/


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

// This service supports SOAP 1.2 namespaces:
#import "soap12.h"

//gsoap ns1  service name:	GeoIPServiceSoap 
//gsoap ns1  service type:	GeoIPServiceSoap 
//gsoap ns1  service port:	http://www.webservicex.net/geoipservice.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 Service Bindings

  - @ref GeoIPServiceSoap

@section Service_more More Information

  - @ref page_notes "Notes"

  - @ref page_XMLDataBinding "XML Data Binding"

  - @ref SOAP_ENV__Header "SOAP Header Content" (when applicable)

  - @ref SOAP_ENV__Detail "SOAP Fault Detail Content" (when applicable)


*/

/**

@page GeoIPServiceSoap Binding "GeoIPServiceSoap"

@section GeoIPServiceSoap_operations Operations of Binding "GeoIPServiceSoap"

  - @ref __ns1__GetGeoIP

  - @ref __ns1__GetGeoIPContext

  - @ref __ns1__GetGeoIP_

  - @ref __ns1__GetGeoIPContext_

@section GeoIPServiceSoap_ports Default endpoints of Binding "GeoIPServiceSoap"

  - http://www.webservicex.net/geoipservice.asmx

@note Multiple service bindings collected as one, use wsdl2h option -Nname to produce a separate service for each binding


*/

/******************************************************************************\
 *                                                                            *
 * Service Binding                                                            *
 *   GeoIPServiceSoap                                                         *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__GetGeoIP                                                          *
 *                                                                            *
\******************************************************************************/


/** Operation "__ns1__GetGeoIP" of service binding "GeoIPServiceSoap".
GeoIPService - GetGeoIP enables you to easily look up countries by IP addresses

  - SOAP document/literal style messaging

  - Default endpoints:
    - http://www.webservicex.net/geoipservice.asmx

  - Default SOAP action or REST location path:
    - "http://www.webservicex.net/GetGeoIP"

  - Addressing input action: "http://www.webservicex.net/GetGeoIP"

  - Addressing output action: "http://www.webservicex.net/GetGeoIPResponse"

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__GetGeoIP(
    struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // input parameters:
    _ns1__GetGeoIP*                     ns1__GetGeoIP,
    // output parameters:
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__GetGeoIP(
    struct soap *soap,
    // input parameters:
    _ns1__GetGeoIP*                     ns1__GetGeoIP,
    // output parameters:
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse
  );
@endcode

C++ proxy class (defined in soapGeoIPServiceSoapProxy.h generated with soapcpp2):
@code
  class GeoIPServiceSoapProxy;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;

C++ service class (defined in soapGeoIPServiceSoapService.h generated with soapcpp2):
@code
  class GeoIPServiceSoapService;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;

*/

//gsoap ns1  service method-protocol:	GetGeoIP SOAP
//gsoap ns1  service method-style:	GetGeoIP document
//gsoap ns1  service method-encoding:	GetGeoIP literal
//gsoap ns1  service method-input-action:	GetGeoIP http://www.webservicex.net/GetGeoIP
//gsoap ns1  service method-output-action:	GetGeoIP http://www.webservicex.net/GetGeoIPResponse
int __ns1__GetGeoIP(
    _ns1__GetGeoIP*                     ns1__GetGeoIP,	///< Input parameter
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__GetGeoIPContext                                                   *
 *                                                                            *
\******************************************************************************/


/** Operation "__ns1__GetGeoIPContext" of service binding "GeoIPServiceSoap".
GeoIPService - GetGeoIPContext enables you to easily look up countries by Context

  - SOAP document/literal style messaging

  - Default endpoints:
    - http://www.webservicex.net/geoipservice.asmx

  - Default SOAP action or REST location path:
    - "http://www.webservicex.net/GetGeoIPContext"

  - Addressing input action: "http://www.webservicex.net/GetGeoIPContext"

  - Addressing output action: "http://www.webservicex.net/GetGeoIPContextResponse"

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__GetGeoIPContext(
    struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // input parameters:
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,
    // output parameters:
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__GetGeoIPContext(
    struct soap *soap,
    // input parameters:
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,
    // output parameters:
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse
  );
@endcode

C++ proxy class (defined in soapGeoIPServiceSoapProxy.h generated with soapcpp2):
@code
  class GeoIPServiceSoapProxy;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;

C++ service class (defined in soapGeoIPServiceSoapService.h generated with soapcpp2):
@code
  class GeoIPServiceSoapService;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;

*/

//gsoap ns1  service method-protocol:	GetGeoIPContext SOAP
//gsoap ns1  service method-style:	GetGeoIPContext document
//gsoap ns1  service method-encoding:	GetGeoIPContext literal
//gsoap ns1  service method-input-action:	GetGeoIPContext http://www.webservicex.net/GetGeoIPContext
//gsoap ns1  service method-output-action:	GetGeoIPContext http://www.webservicex.net/GetGeoIPContextResponse
int __ns1__GetGeoIPContext(
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,	///< Input parameter
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__GetGeoIP_                                                         *
 *                                                                            *
\******************************************************************************/


/** Operation "__ns1__GetGeoIP_" of service binding "GeoIPServiceSoap".
GeoIPService - GetGeoIP enables you to easily look up countries by IP addresses

  - SOAP document/literal style messaging

  - Default endpoints:
    - http://www.webservicex.net/geoipservice.asmx

  - Default SOAP action or REST location path:
    - "http://www.webservicex.net/GetGeoIP"

  - Addressing input action: "http://www.webservicex.net/GetGeoIP"

  - Addressing output action: "http://www.webservicex.net/GetGeoIPResponse"

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__GetGeoIP_(
    struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // input parameters:
    _ns1__GetGeoIP*                     ns1__GetGeoIP,
    // output parameters:
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__GetGeoIP_(
    struct soap *soap,
    // input parameters:
    _ns1__GetGeoIP*                     ns1__GetGeoIP,
    // output parameters:
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse
  );
@endcode

C++ proxy class (defined in soapGeoIPServiceSoapProxy.h generated with soapcpp2):
@code
  class GeoIPServiceSoapProxy;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;

C++ service class (defined in soapGeoIPServiceSoapService.h generated with soapcpp2):
@code
  class GeoIPServiceSoapService;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;

*/

//gsoap ns1  service method-protocol:	GetGeoIP_ SOAP
//gsoap ns1  service method-style:	GetGeoIP_ document
//gsoap ns1  service method-encoding:	GetGeoIP_ literal
//gsoap ns1  service method-input-action:	GetGeoIP_ http://www.webservicex.net/GetGeoIP
//gsoap ns1  service method-output-action:	GetGeoIP_ http://www.webservicex.net/GetGeoIPResponse
int __ns1__GetGeoIP_(
    _ns1__GetGeoIP*                     ns1__GetGeoIP,	///< Input parameter
    _ns1__GetGeoIPResponse             &ns1__GetGeoIPResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__GetGeoIPContext_                                                  *
 *                                                                            *
\******************************************************************************/


/** Operation "__ns1__GetGeoIPContext_" of service binding "GeoIPServiceSoap".
GeoIPService - GetGeoIPContext enables you to easily look up countries by Context

  - SOAP document/literal style messaging

  - Default endpoints:
    - http://www.webservicex.net/geoipservice.asmx

  - Default SOAP action or REST location path:
    - "http://www.webservicex.net/GetGeoIPContext"

  - Addressing input action: "http://www.webservicex.net/GetGeoIPContext"

  - Addressing output action: "http://www.webservicex.net/GetGeoIPContextResponse"

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__GetGeoIPContext_(
    struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // input parameters:
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,
    // output parameters:
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__GetGeoIPContext_(
    struct soap *soap,
    // input parameters:
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,
    // output parameters:
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse
  );
@endcode

C++ proxy class (defined in soapGeoIPServiceSoapProxy.h generated with soapcpp2):
@code
  class GeoIPServiceSoapProxy;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use proxy classes;

C++ service class (defined in soapGeoIPServiceSoapService.h generated with soapcpp2):
@code
  class GeoIPServiceSoapService;
@endcode
Important: use soapcpp2 option '-j' (or '-i') to generate improved and easy-to-use service classes;

*/

//gsoap ns1  service method-protocol:	GetGeoIPContext_ SOAP
//gsoap ns1  service method-style:	GetGeoIPContext_ document
//gsoap ns1  service method-encoding:	GetGeoIPContext_ literal
//gsoap ns1  service method-input-action:	GetGeoIPContext_ http://www.webservicex.net/GetGeoIPContext
//gsoap ns1  service method-output-action:	GetGeoIPContext_ http://www.webservicex.net/GetGeoIPContextResponse
int __ns1__GetGeoIPContext_(
    _ns1__GetGeoIPContext*              ns1__GetGeoIPContext,	///< Input parameter
    _ns1__GetGeoIPContextResponse      &ns1__GetGeoIPContextResponse	///< Output parameter
);

/**

@page GeoIPServiceSoap Binding "GeoIPServiceSoap"

@section GeoIPServiceSoap_policy_enablers Policy Enablers of Binding "GeoIPServiceSoap"

None specified.

*/

/******************************************************************************\
 *                                                                            *
 * XML Data Binding                                                           *
 *                                                                            *
\******************************************************************************/


/**

@page page_XMLDataBinding XML Data Binding

SOAP/XML services use data bindings contractually bound by WSDL and auto-
generated by wsdl2h and soapcpp2 (see Service Bindings). Plain data bindings
are adopted from XML schemas as part of the WSDL types section or when running
wsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.

The following readers and writers are C/C++ data type (de)serializers auto-
generated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the
(de)serialization code, which is stored in soapC.c[pp]. Include "soapH.h" in
your code to import these data type and function declarations. Only use the
soapcpp2-generated files in your project build. Do not include the wsdl2h-
generated .h file in your code.

Data can be read and deserialized from:
  - an int file descriptor, using soap->recvfd = fd
  - a socket, using soap->socket = (int)...
  - a C++ stream (istream, stringstream), using soap->is = (istream*)...
  - a C string, using soap->is = (const char*)...
  - any input, using the soap->frecv() callback

Data can be serialized and written to:
  - an int file descriptor, using soap->sendfd = (int)...
  - a socket, using soap->socket = (int)...
  - a C++ stream (ostream, stringstream), using soap->os = (ostream*)...
  - a C string, using soap->os = (const char**)...
  - any output, using the soap->fsend() callback

The following options are available for (de)serialization control:
  - soap->encodingStyle = NULL; to remove SOAP 1.1/1.2 encodingStyle
  - soap_mode(soap, SOAP_XML_TREE); XML without id-ref (no cycles!)
  - soap_mode(soap, SOAP_XML_GRAPH); XML with id-ref (including cycles)
  - soap_set_namespaces(soap, struct Namespace *nsmap); to set xmlns bindings


@section ns1 Top-level root elements of schema "http://www.webservicex.net/"

  - <ns1:GetGeoIP> @ref _ns1__GetGeoIP
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__ns1__GetGeoIP(struct soap*, _ns1__GetGeoIP*);
    // Writer (returns SOAP_OK on success):
    soap_write__ns1__GetGeoIP(struct soap*, _ns1__GetGeoIP*);
    @endcode

  - <ns1:GetGeoIPResponse> @ref _ns1__GetGeoIPResponse
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__ns1__GetGeoIPResponse(struct soap*, _ns1__GetGeoIPResponse*);
    // Writer (returns SOAP_OK on success):
    soap_write__ns1__GetGeoIPResponse(struct soap*, _ns1__GetGeoIPResponse*);
    @endcode

  - <ns1:GetGeoIPContext> @ref _ns1__GetGeoIPContext
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__ns1__GetGeoIPContext(struct soap*, _ns1__GetGeoIPContext*);
    // Writer (returns SOAP_OK on success):
    soap_write__ns1__GetGeoIPContext(struct soap*, _ns1__GetGeoIPContext*);
    @endcode

  - <ns1:GetGeoIPContextResponse> @ref _ns1__GetGeoIPContextResponse
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__ns1__GetGeoIPContextResponse(struct soap*, _ns1__GetGeoIPContextResponse*);
    // Writer (returns SOAP_OK on success):
    soap_write__ns1__GetGeoIPContextResponse(struct soap*, _ns1__GetGeoIPContextResponse*);
    @endcode

  - <ns1:GeoIP> (use wsdl2h option -g to auto-generate type _ns1__GeoIP)

*/

/* End of GeoIPService.h */
