/* calcrest.h
   Generated by wsdl2h 2.8.14 from calcrest.wsdl and typemap.dat
   2013-05-08 02:22:07 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-2013 Robert van Engelen, Genivia Inc. All Rights Reserved.
   Part of this software is released under one of the following licenses:
   GPL or Genivia's license for commercial use.
*/

/** @page page_notes Usage Notes

NOTE:

 - Run soapcpp2 on calcrest.h to generate the SOAP/XML processing logic.
   Use soapcpp2 -I to specify paths for #import
   To build with STL, 'stlvector.h' is imported from 'import' dir in package.
   Use soapcpp2 -j to generate improved proxy and server classes.
 - 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.
 - Use 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).
 - 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.

LICENSE:

@verbatim
--------------------------------------------------------------------------------
gSOAP XML Web services tools
Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc. All Rights Reserved.

This software is released under one of the following two licenses:
GPL or Genivia's license for commercial use.
--------------------------------------------------------------------------------
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 cw

/******************************************************************************\
 *                                                                            *
 * Definitions                                                                *
 *   http://websrv.cs.fsu.edu/~engelen/calc.wsdl                              *
 *                                                                            *
\******************************************************************************/


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


/******************************************************************************\
 *                                                                            *
 * 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://websrv.cs.fsu.edu/~engelen/calc.wsdl"
ns2 = "urn:calc"

*/

#define SOAP_NAMESPACE_OF_ns2	"urn:calc"
//gsoap ns2   schema namespace:	urn:calc
//gsoap ns2   schema form:	unqualified

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



/******************************************************************************\
 *                                                                            *
 * Schema Types and Top-Level Elements and Attributes                         *
 *   urn:calc                                                                 *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Schema Complex Types and Top-Level Elements                                *
 *   urn:calc                                                                 *
 *                                                                            *
\******************************************************************************/


/// "urn:calc":pair is a complexType.
struct ns2__pair
{
/// Element a of type xs:double.
    double                               a                              1;	///< Required element.
/// Element b of type xs:double.
    double                               b                              1;	///< Required element.
};

/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Elements                                              *
 *   urn:calc                                                                 *
 *                                                                            *
\******************************************************************************/


/// Top-level root element "urn:calc":add of type "urn:calc":pair.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":sub of type "urn:calc":pair.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":mul of type "urn:calc":pair.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":div of type "urn:calc":pair.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":pow of type "urn:calc":pair.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":addResponse of type xs:double.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":subResponse of type xs:double.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":mulResponse of type xs:double.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":divResponse of type xs:double.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/// Top-level root element "urn:calc":powResponse of type xs:double.
/// Note: use wsdl2h option -g to auto-generate a top-level root element declaration and processing code.

/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Attributes                                            *
 *   urn:calc                                                                 *
 *                                                                            *
\******************************************************************************/


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


//gsoap ns1  service name:	calcPOST 
//gsoap ns1  service type:	calcPortType 
//gsoap ns1  service port:	http://websrv.cs.fsu.edu/~engelen/calcserver.cgi 
//gsoap ns1  service namespace:	http://websrv.cs.fsu.edu/~engelen/calc.wsdl 

/** @mainpage calcPOST Definitions

@section calcPOST_bindings Service Bindings

  - @ref calcPOST

@section calcPOST_more More Information

  - @ref page_notes "Usage 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 calcPOST Binding "calcPOST"

@section calcPOST_operations Operations of Binding  "calcPOST"

  - @ref __ns1__add

  - @ref __ns1__sub

  - @ref __ns1__mul

  - @ref __ns1__div

  - @ref __ns1__pow

@section calcPOST_ports Endpoints of Binding  "calcPOST"

  - http://websrv.cs.fsu.edu/~engelen/calcserver.cgi

Note: use wsdl2h option -Nname to change the service binding prefix name


*/

/******************************************************************************\
 *                                                                            *
 * Service Binding                                                            *
 *   calcPOST                                                                 *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__add                                                               *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__add" of service binding "calcPOST"

/**

Operation details:

  - POST document/literal style messaging

  - Addressing input action: ""

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__add(
    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:
    struct ns2__pair*                   ns2__add,
    // output parameters:
    double                             *ns2__addResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__add(
    struct soap *soap,
    // input parameters:
    struct ns2__pair*                   ns2__add,
    // output parameters:
    double                             *ns2__addResponse
  );
@endcode

*/

//gsoap ns1  service method-protocol:	add POST
//gsoap ns1  service method-style:	add document
//gsoap ns1  service method-encoding:	add literal
//gsoap ns1  service method-action:	add ""
int __ns1__add(
    struct ns2__pair*                   ns2__add,	///< Input parameter
    double                             *ns2__addResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__sub                                                               *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__sub" of service binding "calcPOST"

/**

Operation details:

  - POST document/literal style messaging

  - Addressing input action: ""

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__sub(
    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:
    struct ns2__pair*                   ns2__sub,
    // output parameters:
    double                             *ns2__subResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__sub(
    struct soap *soap,
    // input parameters:
    struct ns2__pair*                   ns2__sub,
    // output parameters:
    double                             *ns2__subResponse
  );
@endcode

*/

//gsoap ns1  service method-protocol:	sub POST
//gsoap ns1  service method-style:	sub document
//gsoap ns1  service method-encoding:	sub literal
//gsoap ns1  service method-action:	sub ""
int __ns1__sub(
    struct ns2__pair*                   ns2__sub,	///< Input parameter
    double                             *ns2__subResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__mul                                                               *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__mul" of service binding "calcPOST"

/**

Operation details:

  - POST document/literal style messaging

  - Addressing input action: ""

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__mul(
    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:
    struct ns2__pair*                   ns2__mul,
    // output parameters:
    double                             *ns2__mulResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__mul(
    struct soap *soap,
    // input parameters:
    struct ns2__pair*                   ns2__mul,
    // output parameters:
    double                             *ns2__mulResponse
  );
@endcode

*/

//gsoap ns1  service method-protocol:	mul POST
//gsoap ns1  service method-style:	mul document
//gsoap ns1  service method-encoding:	mul literal
//gsoap ns1  service method-action:	mul ""
int __ns1__mul(
    struct ns2__pair*                   ns2__mul,	///< Input parameter
    double                             *ns2__mulResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__div                                                               *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__div" of service binding "calcPOST"

/**

Operation details:

  - POST document/literal style messaging

  - Addressing input action: ""

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__div(
    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:
    struct ns2__pair*                   ns2__div,
    // output parameters:
    double                             *ns2__divResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__div(
    struct soap *soap,
    // input parameters:
    struct ns2__pair*                   ns2__div,
    // output parameters:
    double                             *ns2__divResponse
  );
@endcode

*/

//gsoap ns1  service method-protocol:	div POST
//gsoap ns1  service method-style:	div document
//gsoap ns1  service method-encoding:	div literal
//gsoap ns1  service method-action:	div ""
int __ns1__div(
    struct ns2__pair*                   ns2__div,	///< Input parameter
    double                             *ns2__divResponse	///< Output parameter
);

/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __ns1__pow                                                               *
 *                                                                            *
\******************************************************************************/


/// Operation "__ns1__pow" of service binding "calcPOST"

/**

Operation details:

  - POST document/literal style messaging

  - Addressing input action: ""

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___ns1__pow(
    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:
    struct ns2__pair*                   ns2__pow,
    // output parameters:
    double                             *ns2__powResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __ns1__pow(
    struct soap *soap,
    // input parameters:
    struct ns2__pair*                   ns2__pow,
    // output parameters:
    double                             *ns2__powResponse
  );
@endcode

*/

//gsoap ns1  service method-protocol:	pow POST
//gsoap ns1  service method-style:	pow document
//gsoap ns1  service method-encoding:	pow literal
//gsoap ns1  service method-action:	pow ""
int __ns1__pow(
    struct ns2__pair*                   ns2__pow,	///< Input parameter
    double                             *ns2__powResponse	///< Output parameter
);

/**

@page calcPOST Binding "calcPOST"

@section calcPOST_policy_enablers Policy Enablers of Binding  "calcPOST"

Based on policies, this service imports

  - WS-Policy reminders and enablers:
    - WS-Addressing 1.0 (2005/08, accepts 2004/08):
	@code
	#import "wsa5.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsaapi.h"
	soap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code
	// See the user guide gsoap/doc/wsa/html/index.html
	@endcode
    - WS-Addressing (2004/08):
	@code
	#import "wsa.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsaapi.h"
	soap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code
	// See the user guide gsoap/doc/wsa/html/index.html
	@endcode
    - WS-ReliableMessaging 1.0:
	@code
	#import "wsrm5.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsrmapi.h"
	soap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code
	soap_register_plugin(soap, soap_wsrm); // register the wsrm plugin in your code
	// See the user guide gsoap/doc/wsrm/html/index.html
	@endcode
    - WS-ReliableMessaging 1.1:
	@code
	#import "wsrm.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsrmapi.h"
	soap_register_plugin(soap, soap_wsa); // register the wsa plugin in your code
	soap_register_plugin(soap, soap_wsrm); // register the wsrm plugin in your code
	// See the user guide gsoap/doc/wsrm/html/index.html
	@endcode
    - WS-Security (SOAP Message Security) 1.0 (accepts 1.1):
	@code
	#import "wsse.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsseapi.h"
	soap_register_plugin(soap, soap_wsse); // register the wsse plugin in your code
	// See the user guide gsoap/doc/wsse/html/index.html
	@endcode
    - WS-Security (SOAP Message Security) 1.1 (accepts 1.0):
	@code
	#import "wsse11.h" // to be added to this header file for the soapcpp2 build step
	@endcode
	@code
	#include "plugin/wsseapi.h"
	soap_register_plugin(soap, soap_wsse); // register the wsse plugin in your code
	// See the user guide gsoap/doc/wsse/html/index.html
	@endcode
    - HTTP Digest Authentication:
	@code
	#include "plugin/httpda.h"
	soap_register_plugin(soap, soap_http_da); // register the HTTP DA plugin in your code
	// See the user guide gsoap/doc/httpda/html/index.html
	@endcode
*/


/******************************************************************************\
 *                                                                            *
 * 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 in XML and deserialized from:
  - a file descriptor, using soap->recvfd = fd
  - a socket, using soap->socket = ...
  - a C++ stream, using soap->is = ...
  - a buffer, using the soap->frecv() callback

Data can be serialized in XML and written to:
  - a file descriptor, using soap->sendfd = fd
  - a socket, using soap->socket = ...
  - a C++ stream, using soap->os = ...
  - a buffer, 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 ns2 Top-level root elements of schema "urn:calc"

  - <ns2:add> (use wsdl2h option -g to auto-generate)

  - <ns2:sub> (use wsdl2h option -g to auto-generate)

  - <ns2:mul> (use wsdl2h option -g to auto-generate)

  - <ns2:div> (use wsdl2h option -g to auto-generate)

  - <ns2:pow> (use wsdl2h option -g to auto-generate)

  - <ns2:addResponse> (use wsdl2h option -g to auto-generate)

  - <ns2:subResponse> (use wsdl2h option -g to auto-generate)

  - <ns2:mulResponse> (use wsdl2h option -g to auto-generate)

  - <ns2:divResponse> (use wsdl2h option -g to auto-generate)

  - <ns2:powResponse> (use wsdl2h option -g to auto-generate)

*/

/* End of calcrest.h */
