view usr/src/lib/libkmsagent/common/SOAP/KMS_AgentClient.cpp @ 12720:3db6e0082404

PSARC 2010/195 PKCS11 KMS Provider 6944296 Solaris needs a PKCS#11 provider to allow access to KMS keystore functionality
author Wyllys Ingersoll <Wyllys.Ingersoll@Sun.COM>
date Mon, 28 Jun 2010 16:04:11 -0700
parents
children
line wrap: on
line source

/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
 */

/* KMS_AgentClient.cpp
   Generated by gSOAP 2.7.17 from ../gsoapStubs/AgentService/KMS_Agent_SOAP.h
   Copyright(C) 2000-2010, 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.
*/

#if defined(__BORLANDC__)
#pragma option push -w-8060
#pragma option push -w-8004
#endif
#include "KMS_AgentH.h"

namespace KMS_Agent {

SOAP_SOURCE_STAMP("@(#) KMS_AgentClient.cpp ver 2.7.17 2010-06-08 19:16:38 GMT")


SOAP_FMAC5 int SOAP_FMAC6 soap_call_KMS_Agent__ListKeyGroups(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__QueryParameters QueryParameters, struct KMS_Agent__ListKeyGroupsResponse &result)
{	struct KMS_Agent__ListKeyGroups soap_tmp_KMS_Agent__ListKeyGroups;
	soap_tmp_KMS_Agent__ListKeyGroups.QueryParameters = QueryParameters;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__ListKeyGroups(soap, &soap_tmp_KMS_Agent__ListKeyGroups);
	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_KMS_Agent__ListKeyGroups(soap, &soap_tmp_KMS_Agent__ListKeyGroups, "KMS-Agent:ListKeyGroups", NULL)
		 || 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_KMS_Agent__ListKeyGroups(soap, &soap_tmp_KMS_Agent__ListKeyGroups, "KMS-Agent:ListKeyGroups", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__ListKeyGroupsResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__ListKeyGroupsResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__CreateDataUnit(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *ExternalUniqueID, char *ExternalTag, char *Description, struct KMS_Agent__CreateDataUnitResponse &result)
{	struct KMS_Agent__CreateDataUnit soap_tmp_KMS_Agent__CreateDataUnit;
	soap_tmp_KMS_Agent__CreateDataUnit.ExternalUniqueID = ExternalUniqueID;
	soap_tmp_KMS_Agent__CreateDataUnit.ExternalTag = ExternalTag;
	soap_tmp_KMS_Agent__CreateDataUnit.Description = Description;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__CreateDataUnit(soap, &soap_tmp_KMS_Agent__CreateDataUnit);
	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_KMS_Agent__CreateDataUnit(soap, &soap_tmp_KMS_Agent__CreateDataUnit, "KMS-Agent:CreateDataUnit", NULL)
		 || 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_KMS_Agent__CreateDataUnit(soap, &soap_tmp_KMS_Agent__CreateDataUnit, "KMS-Agent:CreateDataUnit", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__CreateDataUnitResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__CreateDataUnitResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveDataUnit(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *DataUnitID, char *ExternalUniqueID, char *ExternalTag, char *Description, struct KMS_Agent__RetrieveDataUnitResponse &result)
{	struct KMS_Agent__RetrieveDataUnit soap_tmp_KMS_Agent__RetrieveDataUnit;
	soap_tmp_KMS_Agent__RetrieveDataUnit.DataUnitID = DataUnitID;
	soap_tmp_KMS_Agent__RetrieveDataUnit.ExternalUniqueID = ExternalUniqueID;
	soap_tmp_KMS_Agent__RetrieveDataUnit.ExternalTag = ExternalTag;
	soap_tmp_KMS_Agent__RetrieveDataUnit.Description = Description;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveDataUnit(soap, &soap_tmp_KMS_Agent__RetrieveDataUnit);
	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_KMS_Agent__RetrieveDataUnit(soap, &soap_tmp_KMS_Agent__RetrieveDataUnit, "KMS-Agent:RetrieveDataUnit", NULL)
		 || 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_KMS_Agent__RetrieveDataUnit(soap, &soap_tmp_KMS_Agent__RetrieveDataUnit, "KMS-Agent:RetrieveDataUnit", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveDataUnitResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveDataUnitResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveDataUnitByExternalUniqueID(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *ExternalUniqueID, char *ExternalTag, char *Description, struct KMS_Agent__RetrieveDataUnitByExternalUniqueIDResponse &result)
{	struct KMS_Agent__RetrieveDataUnitByExternalUniqueID soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID;
	soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID.ExternalUniqueID = ExternalUniqueID;
	soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID.ExternalTag = ExternalTag;
	soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID.Description = Description;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveDataUnitByExternalUniqueID(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID);
	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_KMS_Agent__RetrieveDataUnitByExternalUniqueID(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID, "KMS-Agent:RetrieveDataUnitByExternalUniqueID", NULL)
		 || 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_KMS_Agent__RetrieveDataUnitByExternalUniqueID(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitByExternalUniqueID, "KMS-Agent:RetrieveDataUnitByExternalUniqueID", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveDataUnitByExternalUniqueIDResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveDataUnitByExternalUniqueIDResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__DisassociateDataUnitKeys(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, struct KMS_Agent__DisassociateDataUnitKeysResponse &result)
{	struct KMS_Agent__DisassociateDataUnitKeys soap_tmp_KMS_Agent__DisassociateDataUnitKeys;
	soap_tmp_KMS_Agent__DisassociateDataUnitKeys.DataUnit = DataUnit;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__DisassociateDataUnitKeys(soap, &soap_tmp_KMS_Agent__DisassociateDataUnitKeys);
	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_KMS_Agent__DisassociateDataUnitKeys(soap, &soap_tmp_KMS_Agent__DisassociateDataUnitKeys, "KMS-Agent:DisassociateDataUnitKeys", NULL)
		 || 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_KMS_Agent__DisassociateDataUnitKeys(soap, &soap_tmp_KMS_Agent__DisassociateDataUnitKeys, "KMS-Agent:DisassociateDataUnitKeys", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__DisassociateDataUnitKeysResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__DisassociateDataUnitKeysResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__CreateKey(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, struct KMS_Agent__CreateKeyResponse &result)
{	struct KMS_Agent__CreateKey soap_tmp_KMS_Agent__CreateKey;
	soap_tmp_KMS_Agent__CreateKey.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__CreateKey.KeyGroupID = KeyGroupID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__CreateKey(soap, &soap_tmp_KMS_Agent__CreateKey);
	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_KMS_Agent__CreateKey(soap, &soap_tmp_KMS_Agent__CreateKey, "KMS-Agent:CreateKey", NULL)
		 || 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_KMS_Agent__CreateKey(soap, &soap_tmp_KMS_Agent__CreateKey, "KMS-Agent:CreateKey", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__CreateKeyResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__CreateKeyResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__CreateKey2(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, char *AgentKWKID, struct KMS_Agent__CreateKey2Response &result)
{	struct KMS_Agent__CreateKey2 soap_tmp_KMS_Agent__CreateKey2;
	soap_tmp_KMS_Agent__CreateKey2.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__CreateKey2.KeyGroupID = KeyGroupID;
	soap_tmp_KMS_Agent__CreateKey2.AgentKWKID = AgentKWKID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__CreateKey2(soap, &soap_tmp_KMS_Agent__CreateKey2);
	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_KMS_Agent__CreateKey2(soap, &soap_tmp_KMS_Agent__CreateKey2, "KMS-Agent:CreateKey2", NULL)
		 || 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_KMS_Agent__CreateKey2(soap, &soap_tmp_KMS_Agent__CreateKey2, "KMS-Agent:CreateKey2", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__CreateKey2Response(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__CreateKey2Response(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveKey(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *KeyID, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, struct KMS_Agent__RetrieveKeyResponse &result)
{	struct KMS_Agent__RetrieveKey soap_tmp_KMS_Agent__RetrieveKey;
	soap_tmp_KMS_Agent__RetrieveKey.KeyID = KeyID;
	soap_tmp_KMS_Agent__RetrieveKey.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveKey.KeyGroupID = KeyGroupID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveKey(soap, &soap_tmp_KMS_Agent__RetrieveKey);
	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_KMS_Agent__RetrieveKey(soap, &soap_tmp_KMS_Agent__RetrieveKey, "KMS-Agent:RetrieveKey", NULL)
		 || 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_KMS_Agent__RetrieveKey(soap, &soap_tmp_KMS_Agent__RetrieveKey, "KMS-Agent:RetrieveKey", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveKeyResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveKeyResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveKey2(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *KeyID, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, char *AgentKWKID, struct KMS_Agent__RetrieveKey2Response &result)
{	struct KMS_Agent__RetrieveKey2 soap_tmp_KMS_Agent__RetrieveKey2;
	soap_tmp_KMS_Agent__RetrieveKey2.KeyID = KeyID;
	soap_tmp_KMS_Agent__RetrieveKey2.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveKey2.KeyGroupID = KeyGroupID;
	soap_tmp_KMS_Agent__RetrieveKey2.AgentKWKID = AgentKWKID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveKey2(soap, &soap_tmp_KMS_Agent__RetrieveKey2);
	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_KMS_Agent__RetrieveKey2(soap, &soap_tmp_KMS_Agent__RetrieveKey2, "KMS-Agent:RetrieveKey2", NULL)
		 || 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_KMS_Agent__RetrieveKey2(soap, &soap_tmp_KMS_Agent__RetrieveKey2, "KMS-Agent:RetrieveKey2", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveKey2Response(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveKey2Response(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveDataUnitKeys(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, long PageSize, long PageOffset, char *KeyID, struct KMS_Agent__RetrieveDataUnitKeysResponse &result)
{	struct KMS_Agent__RetrieveDataUnitKeys soap_tmp_KMS_Agent__RetrieveDataUnitKeys;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys.PageSize = PageSize;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys.PageOffset = PageOffset;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys.KeyID = KeyID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveDataUnitKeys(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys);
	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_KMS_Agent__RetrieveDataUnitKeys(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys, "KMS-Agent:RetrieveDataUnitKeys", NULL)
		 || 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_KMS_Agent__RetrieveDataUnitKeys(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys, "KMS-Agent:RetrieveDataUnitKeys", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveDataUnitKeysResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveDataUnitKeysResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveDataUnitKeys2(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, long PageSize, long PageOffset, char *KeyID, char *AgentKWKID, struct KMS_Agent__RetrieveDataUnitKeys2Response &result)
{	struct KMS_Agent__RetrieveDataUnitKeys2 soap_tmp_KMS_Agent__RetrieveDataUnitKeys2;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys2.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys2.PageSize = PageSize;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys2.PageOffset = PageOffset;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys2.KeyID = KeyID;
	soap_tmp_KMS_Agent__RetrieveDataUnitKeys2.AgentKWKID = AgentKWKID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveDataUnitKeys2(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys2);
	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_KMS_Agent__RetrieveDataUnitKeys2(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys2, "KMS-Agent:RetrieveDataUnitKeys2", NULL)
		 || 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_KMS_Agent__RetrieveDataUnitKeys2(soap, &soap_tmp_KMS_Agent__RetrieveDataUnitKeys2, "KMS-Agent:RetrieveDataUnitKeys2", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveDataUnitKeys2Response(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveDataUnitKeys2Response(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveProtectAndProcessKey(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, struct KMS_Agent__RetrieveProtectAndProcessKeyResponse &result)
{	struct KMS_Agent__RetrieveProtectAndProcessKey soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey;
	soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey.KeyGroupID = KeyGroupID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveProtectAndProcessKey(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey);
	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_KMS_Agent__RetrieveProtectAndProcessKey(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey, "KMS-Agent:RetrieveProtectAndProcessKey", NULL)
		 || 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_KMS_Agent__RetrieveProtectAndProcessKey(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey, "KMS-Agent:RetrieveProtectAndProcessKey", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveProtectAndProcessKeyResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveProtectAndProcessKeyResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RetrieveProtectAndProcessKey2(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__DataUnit DataUnit, char *KeyGroupID, char *AgentKWKID, struct KMS_Agent__RetrieveProtectAndProcessKey2Response &result)
{	struct KMS_Agent__RetrieveProtectAndProcessKey2 soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2;
	soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2.DataUnit = DataUnit;
	soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2.KeyGroupID = KeyGroupID;
	soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2.AgentKWKID = AgentKWKID;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RetrieveProtectAndProcessKey2(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2);
	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_KMS_Agent__RetrieveProtectAndProcessKey2(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2, "KMS-Agent:RetrieveProtectAndProcessKey2", NULL)
		 || 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_KMS_Agent__RetrieveProtectAndProcessKey2(soap, &soap_tmp_KMS_Agent__RetrieveProtectAndProcessKey2, "KMS-Agent:RetrieveProtectAndProcessKey2", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RetrieveProtectAndProcessKey2Response(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RetrieveProtectAndProcessKey2Response(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__CreateAuditLog(struct soap *soap, const char *soap_endpoint, const char *soap_action, enum KMS_Agent__AuditLogRetention Retention, enum KMS_Agent__AuditLogCondition Condition, bool IssueAlert, char *Message, struct KMS_Agent__CreateAuditLogResponse &result)
{	struct KMS_Agent__CreateAuditLog soap_tmp_KMS_Agent__CreateAuditLog;
	soap_tmp_KMS_Agent__CreateAuditLog.Retention = Retention;
	soap_tmp_KMS_Agent__CreateAuditLog.Condition = Condition;
	soap_tmp_KMS_Agent__CreateAuditLog.IssueAlert = IssueAlert;
	soap_tmp_KMS_Agent__CreateAuditLog.Message = Message;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__CreateAuditLog(soap, &soap_tmp_KMS_Agent__CreateAuditLog);
	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_KMS_Agent__CreateAuditLog(soap, &soap_tmp_KMS_Agent__CreateAuditLog, "KMS-Agent:CreateAuditLog", NULL)
		 || 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_KMS_Agent__CreateAuditLog(soap, &soap_tmp_KMS_Agent__CreateAuditLog, "KMS-Agent:CreateAuditLog", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__CreateAuditLogResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__CreateAuditLogResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__GetAgentKWKPublicKey(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct KMS_Agent__GetAgentKWKPublicKeyResponse &result)
{	struct KMS_Agent__GetAgentKWKPublicKey soap_tmp_KMS_Agent__GetAgentKWKPublicKey;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__GetAgentKWKPublicKey(soap, &soap_tmp_KMS_Agent__GetAgentKWKPublicKey);
	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_KMS_Agent__GetAgentKWKPublicKey(soap, &soap_tmp_KMS_Agent__GetAgentKWKPublicKey, "KMS-Agent:GetAgentKWKPublicKey", NULL)
		 || 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_KMS_Agent__GetAgentKWKPublicKey(soap, &soap_tmp_KMS_Agent__GetAgentKWKPublicKey, "KMS-Agent:GetAgentKWKPublicKey", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__GetAgentKWKPublicKeyResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__GetAgentKWKPublicKeyResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	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_KMS_Agent__RegisterAgentKWK(struct soap *soap, const char *soap_endpoint, const char *soap_action, struct xsd__hexBinary AgentKWK, struct KMS_Agent__RegisterAgentKWKResponse &result)
{	struct KMS_Agent__RegisterAgentKWK soap_tmp_KMS_Agent__RegisterAgentKWK;
	soap_tmp_KMS_Agent__RegisterAgentKWK.AgentKWK = AgentKWK;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_KMS_Agent__RegisterAgentKWK(soap, &soap_tmp_KMS_Agent__RegisterAgentKWK);
	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_KMS_Agent__RegisterAgentKWK(soap, &soap_tmp_KMS_Agent__RegisterAgentKWK, "KMS-Agent:RegisterAgentKWK", NULL)
		 || 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_KMS_Agent__RegisterAgentKWK(soap, &soap_tmp_KMS_Agent__RegisterAgentKWK, "KMS-Agent:RegisterAgentKWK", NULL)
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	if (!&result)
		return soap_closesock(soap);
	soap_default_KMS_Agent__RegisterAgentKWKResponse(soap, &result);
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	if (soap_recv_fault(soap, 1))
		return soap->error;
	soap_get_KMS_Agent__RegisterAgentKWKResponse(soap, &result, "", "");
	if (soap->error)
		return soap_recv_fault(soap, 0);
	if (soap_body_end_in(soap)
	 || soap_envelope_end_in(soap)
	 || soap_end_recv(soap))
		return soap_closesock(soap);
	return soap_closesock(soap);
}

} // namespace KMS_Agent


#if defined(__BORLANDC__)
#pragma option pop
#pragma option pop
#endif

/* End of KMS_AgentClient.cpp */