/* soapClient.c
   Generated by gSOAP 2.7.9b from /home/veiko/MSSP_GW/src/MSSP_GW.h
   Copyright(C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
   This part of the software is released under one of the following licenses:
   GPL, the gSOAP public license, or Genivia's license for commercial use.
*/
#include "soapH.h"
#ifdef __cplusplus
extern "C" {
#endif

SOAP_SOURCE_STAMP("@(#) soapClient.c ver 2.7.9b 2007-01-13 14:49:33 GMT")


SOAP_FMAC5 int SOAP_FMAC6 soap_call_mss__MSS_USCORESignatureReq(struct soap *soap, const char *soap_endpoint, const char *soap_action, unsigned long MajorVersion, unsigned long MinorVersion, char *ValidityDate, unsigned long *TimeOut, enum mss__MessagingModeType MessagingMode, struct mss__AP_InfoType AP_USCOREInfo, struct mss__MSSP_InfoType MSSP_USCOREInfo, struct mss__MobileUserType MobileUser, struct mss__DataType DataToBeSigned, struct mss__DataType *DataToBeDisplayed, struct mss__mssURIType *SignatureProfile, struct mss__mssURIType *mssFormat, struct mss__KeyReferenceType *KeyReference, enum mss__SignatureProfileComparisonType *mss__SignatureProfileComparison, struct mss__MSS_USCORESignatureResp *resp)
{	struct mss__MSS_USCORESignatureReq soap_tmp_mss__MSS_USCORESignatureReq;
	if (!soap_endpoint)
		soap_endpoint = "http://www.sk.ee/MSSP_GW";
	soap->encodingStyle = NULL;
	soap_tmp_mss__MSS_USCORESignatureReq.MajorVersion = MajorVersion;
	soap_tmp_mss__MSS_USCORESignatureReq.MinorVersion = MinorVersion;
	soap_tmp_mss__MSS_USCORESignatureReq.ValidityDate = ValidityDate;
	soap_tmp_mss__MSS_USCORESignatureReq.TimeOut = TimeOut;
	soap_tmp_mss__MSS_USCORESignatureReq.MessagingMode = MessagingMode;
	soap_tmp_mss__MSS_USCORESignatureReq.AP_USCOREInfo = AP_USCOREInfo;
	soap_tmp_mss__MSS_USCORESignatureReq.MSSP_USCOREInfo = MSSP_USCOREInfo;
	soap_tmp_mss__MSS_USCORESignatureReq.MobileUser = MobileUser;
	soap_tmp_mss__MSS_USCORESignatureReq.DataToBeSigned = DataToBeSigned;
	soap_tmp_mss__MSS_USCORESignatureReq.DataToBeDisplayed = DataToBeDisplayed;
	soap_tmp_mss__MSS_USCORESignatureReq.SignatureProfile = SignatureProfile;
	soap_tmp_mss__MSS_USCORESignatureReq.mssFormat = mssFormat;
	soap_tmp_mss__MSS_USCORESignatureReq.KeyReference = KeyReference;
	soap_tmp_mss__MSS_USCORESignatureReq.mss__SignatureProfileComparison = mss__SignatureProfileComparison;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_mss__MSS_USCORESignatureReq(soap, &soap_tmp_mss__MSS_USCORESignatureReq);
	if (soap_begin_count(soap))
		return soap->error;
	if (soap->mode & SOAP_IO_LENGTH)
	{	if (soap_envelope_begin_out(soap)
		 || soap_putheader(soap)
		 || soap_body_begin_out(soap)
		 || soap_put_mss__MSS_USCORESignatureReq(soap, &soap_tmp_mss__MSS_USCORESignatureReq, "mss:MSS_SignatureReq", "")
		 || soap_body_end_out(soap)
		 || soap_envelope_end_out(soap))
			 return soap->error;
	}
	if (soap_end_count(soap))
		return soap->error;
	if (soap_connect(soap, soap_endpoint, soap_action)
	 || soap_envelope_begin_out(soap)
	 || soap_putheader(soap)
	 || soap_body_begin_out(soap)
	 || soap_put_mss__MSS_USCORESignatureReq(soap, &soap_tmp_mss__MSS_USCORESignatureReq, "mss:MSS_SignatureReq", "")
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	soap_default_mss__MSS_USCORESignatureResp(soap, resp);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	soap_get_mss__MSS_USCORESignatureResp(soap, resp, "mss:MSS_SignatureResp", "");
	if (soap->error)
	{	if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
			return soap_recv_fault(soap);
		return soap_closesock(soap);
	}
	if (soap_body_end_in(soap)
	 || soap_envelope_end_in(soap)
	 || soap_end_recv(soap))
		return soap_closesock(soap);
	return soap_closesock(soap);
}

SOAP_FMAC5 int SOAP_FMAC6 soap_call_mss__MSS_USCOREStatusReq(struct soap *soap, const char *soap_endpoint, const char *soap_action, unsigned long MajorVersion, unsigned long MinorVersion, struct mss__AP_InfoType AP_USCOREInfo, struct mss__MSSP_InfoType MSSP_USCOREInfo, unsigned long MSSP_USCORETransID, struct mss__MSS_USCOREStatusResp *response)
{	struct mss__MSS_USCOREStatusReq soap_tmp_mss__MSS_USCOREStatusReq;
	if (!soap_endpoint)
		soap_endpoint = "http://www.sk.ee/MSSP_GW";
	soap->encodingStyle = NULL;
	soap_tmp_mss__MSS_USCOREStatusReq.MajorVersion = MajorVersion;
	soap_tmp_mss__MSS_USCOREStatusReq.MinorVersion = MinorVersion;
	soap_tmp_mss__MSS_USCOREStatusReq.AP_USCOREInfo = AP_USCOREInfo;
	soap_tmp_mss__MSS_USCOREStatusReq.MSSP_USCOREInfo = MSSP_USCOREInfo;
	soap_tmp_mss__MSS_USCOREStatusReq.MSSP_USCORETransID = MSSP_USCORETransID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_mss__MSS_USCOREStatusReq(soap, &soap_tmp_mss__MSS_USCOREStatusReq);
	if (soap_begin_count(soap))
		return soap->error;
	if (soap->mode & SOAP_IO_LENGTH)
	{	if (soap_envelope_begin_out(soap)
		 || soap_putheader(soap)
		 || soap_body_begin_out(soap)
		 || soap_put_mss__MSS_USCOREStatusReq(soap, &soap_tmp_mss__MSS_USCOREStatusReq, "mss:MSS_StatusReq", "")
		 || soap_body_end_out(soap)
		 || soap_envelope_end_out(soap))
			 return soap->error;
	}
	if (soap_end_count(soap))
		return soap->error;
	if (soap_connect(soap, soap_endpoint, soap_action)
	 || soap_envelope_begin_out(soap)
	 || soap_putheader(soap)
	 || soap_body_begin_out(soap)
	 || soap_put_mss__MSS_USCOREStatusReq(soap, &soap_tmp_mss__MSS_USCOREStatusReq, "mss:MSS_StatusReq", "")
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	soap_default_mss__MSS_USCOREStatusResp(soap, response);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	soap_get_mss__MSS_USCOREStatusResp(soap, response, "mss:MSS_StatusResp", "");
	if (soap->error)
	{	if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
			return soap_recv_fault(soap);
		return soap_closesock(soap);
	}
	if (soap_body_end_in(soap)
	 || soap_envelope_end_in(soap)
	 || soap_end_recv(soap))
		return soap_closesock(soap);
	return soap_closesock(soap);
}

#ifdef __cplusplus
}
#endif

/* End of soapClient.c */
