All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.abyss.acquiring.soap.MerchantServiceImpl Maven / Gradle / Ivy

There is a newer version: 1.6
Show newest version
/**
 * MerchantServiceImplServiceStub.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis2 version: 1.7.5  Built on : May 06, 2017 (03:45:26 BST)
 */
package ru.abyss.acquiring.soap;

import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.rmi.RemoteException;
import java.util.HashMap;

import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.FaultMapKey;
import org.apache.axis2.client.OperationClient;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.client.Stub;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.databinding.ADBException;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.OutInAxisOperation;
import org.apache.axis2.description.WSDL2Constants;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyEngine;
import org.apache.rampart.RampartMessageData;

/*
 *  MerchantServiceImplServiceStub java implementation
 */
public class MerchantServiceImpl extends Stub implements MerchantService {

	private static int counter = 0;
	protected AxisOperation[] _operations;

	// hashmaps to keep the fault mapping
	private HashMap faultExceptionNameMap = new HashMap();
	private HashMap faultExceptionClassNameMap = new HashMap();
	private HashMap faultMessageMap = new HashMap();
	private QName[] opNameArray = null;

	private static Policy loadPolicy(String name) {
        ClassLoader loader = MerchantServiceImpl.class.getClassLoader();
        InputStream resource = loader.getResourceAsStream(name);
        OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(resource);
        return PolicyEngine.getPolicy(builder.getDocumentElement());
    }

	/**
	 * Constructor that takes in a configContext and useseperate listner
	 */
	public MerchantServiceImpl(String targetEndpoint, String login, String password) throws AxisFault {
		// To populate AxisService
		populateAxisService();
		populateFaults();

		_serviceClient = new ServiceClient(null, _service);

		Options options = _serviceClient.getOptions();
		options.setTo(new EndpointReference(targetEndpoint));
		options.setUseSeparateListener(false);

		options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, loadPolicy("policy.xml"));
		options.setUserName(login);
		options.setPassword(password);
		_serviceClient.engageModule("rampart");
	}

	private static synchronized String getUniqueSuffix() {
		// reset the counter if it is greater than 99999
		if (counter > 99999)
			counter = 0;
		counter++;
		return Long.toString(System.currentTimeMillis()) + "_" + counter;
	}

	private void populateAxisService() throws AxisFault {
		// creating the Service with a unique name
		_service = new AxisService("MerchantServiceImplService" + getUniqueSuffix());
		addAnonymousOperations();

		// creating the operations
		AxisOperation __operation;

		_operations = new AxisOperation[28];

		__operation = new OutInAxisOperation();

		__operation
				.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getLastOrdersForMerchants"));
		_service.addOperation(__operation);

		_operations[0] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "updateSSLCardList"));
		_service.addOperation(__operation);

		_operations[1] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "verifyEnrollment"));
		_service.addOperation(__operation);

		_operations[2] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "extendBinding"));
		_service.addOperation(__operation);

		_operations[3] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrderPreAuth"));
		_service.addOperation(__operation);

		_operations[4] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatusExtended"));
		_service.addOperation(__operation);

		_operations[5] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getLastOrders"));
		_service.addOperation(__operation);

		_operations[6] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindings"));
		_service.addOperation(__operation);

		_operations[7] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "addParams"));
		_service.addOperation(__operation);

		_operations[8] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "applePay"));
		_service.addOperation(__operation);

		_operations[9] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderBinding"));
		_service.addOperation(__operation);

		_operations[10] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "androidPay"));
		_service.addOperation(__operation);

		_operations[11] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrder"));
		_service.addOperation(__operation);

		_operations[12] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "createBindingNoPayment"));
		_service.addOperation(__operation);

		_operations[13] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "unBindCard"));
		_service.addOperation(__operation);

		_operations[14] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "refundOrder"));
		_service.addOperation(__operation);

		_operations[15] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrder"));
		_service.addOperation(__operation);

		_operations[16] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatus"));
		_service.addOperation(__operation);

		_operations[17] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "depositOrder"));
		_service.addOperation(__operation);

		_operations[18] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "checkAuthenticate"));
		_service.addOperation(__operation);

		_operations[19] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "updateWhiteCardList"));
		_service.addOperation(__operation);

		_operations[20] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderOtherWay"));
		_service.addOperation(__operation);

		_operations[21] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "recurrentPayment"));
		_service.addOperation(__operation);

		_operations[22] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "finishThreeDs"));
		_service.addOperation(__operation);

		_operations[23] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "updateBlackCardList"));
		_service.addOperation(__operation);

		_operations[24] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "bindCard"));
		_service.addOperation(__operation);

		_operations[25] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "reverseOrder"));
		_service.addOperation(__operation);

		_operations[26] = __operation;

		__operation = new OutInAxisOperation();

		__operation.setName(new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindingsByCardOrId"));
		_service.addOperation(__operation);

		_operations[27] = __operation;
	}

	// populates the faults
	private void populateFaults() {
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getLastOrdersForMerchants
	 * @param getLastOrdersForMerchants0
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchantsResponseE getLastOrdersForMerchants(
			ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchants getLastOrdersForMerchants0)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[0].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getLastOrdersForMerchants");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getLastOrdersForMerchants0,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant",
							"getLastOrdersForMerchants")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getLastOrdersForMerchants"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchantsResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchantsResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap
						.containsKey(new FaultMapKey(faultElt.getQName(), "getLastOrdersForMerchants"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getLastOrdersForMerchants"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getLastOrdersForMerchants"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#updateSSLCardList
	 * @param updateSSLCardList2
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.UpdateSSLCardListResponse updateSSLCardList(
			ru.paymentgate.engine.webservices.merchant.UpdateSSLCardList updateSSLCardList2) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[1].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/updateSSLCardList");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), updateSSLCardList2,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "updateSSLCardList")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "updateSSLCardList"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.UpdateSSLCardListResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.UpdateSSLCardListResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "updateSSLCardList"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "updateSSLCardList"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "updateSSLCardList"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#verifyEnrollment
	 * @param verifyEnrollment4
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.VerifyEnrollmentResponseE verifyEnrollment(
			ru.paymentgate.engine.webservices.merchant.VerifyEnrollment verifyEnrollment4) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[2].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/verifyEnrollment");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), verifyEnrollment4,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "verifyEnrollment")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "verifyEnrollment"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.VerifyEnrollmentResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.VerifyEnrollmentResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "verifyEnrollment"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "verifyEnrollment"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "verifyEnrollment"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#extendBinding
	 * @param extendBinding6
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.ExtendBindingResponseE extendBinding(
			ru.paymentgate.engine.webservices.merchant.ExtendBinding extendBinding6) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[3].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/extendBinding");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), extendBinding6,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "extendBinding")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "extendBinding"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.ExtendBindingResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.ExtendBindingResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "extendBinding"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "extendBinding"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "extendBinding"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#registerOrderPreAuth
	 * @param registerOrderPreAuth8
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuthResponse registerOrderPreAuth(
			ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuth registerOrderPreAuth8)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[4].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/registerOrderPreAuth");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), registerOrderPreAuth8,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrderPreAuth")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrderPreAuth"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuthResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuthResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "registerOrderPreAuth"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "registerOrderPreAuth"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "registerOrderPreAuth"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getOrderStatusExtended
	 * @param getOrderStatusExtended10
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedResponseE getOrderStatusExtended(
			ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtended getOrderStatusExtended10)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[5].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getOrderStatusExtended");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getOrderStatusExtended10,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatusExtended")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatusExtended"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "getOrderStatusExtended"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getOrderStatusExtended"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getOrderStatusExtended"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getLastOrders
	 * @param getLastOrders12
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetLastOrdersResponse getLastOrders(
			ru.paymentgate.engine.webservices.merchant.GetLastOrders getLastOrders12) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[6].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getLastOrders");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getLastOrders12,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "getLastOrders")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getLastOrders"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetLastOrdersResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.GetLastOrdersResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "getLastOrders"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getLastOrders"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getLastOrders"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getBindings
	 * @param getBindings14
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetBindingsResponseE getBindings(
			ru.paymentgate.engine.webservices.merchant.GetBindings getBindings14) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[7].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getBindings");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getBindings14,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindings")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindings"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetBindingsResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.GetBindingsResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "getBindings"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getBindings"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getBindings"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#addParams
	 * @param addParams16
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.AddParamsResponse addParams(
			ru.paymentgate.engine.webservices.merchant.AddParams addParams16) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[8].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/addParams");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), addParams16,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "addParams")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "addParams"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.AddParamsResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.AddParamsResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "addParams"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "addParams"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "addParams"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#applePay
	 * @param applePay18
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.ApplePayResponse applePay(
			ru.paymentgate.engine.webservices.merchant.ApplePay applePay18) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[9].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/applePay");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), applePay18,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "applePay")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "applePay"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.ApplePayResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.ApplePayResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "applePay"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "applePay"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap.get(new FaultMapKey(faultElt.getQName(), "applePay"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#paymentOrderBinding
	 * @param paymentOrderBinding20
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.PaymentOrderBindingResponse paymentOrderBinding(
			ru.paymentgate.engine.webservices.merchant.PaymentOrderBinding paymentOrderBinding20)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[10].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/paymentOrderBinding");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), paymentOrderBinding20,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderBinding")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderBinding"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.PaymentOrderBindingResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.PaymentOrderBindingResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "paymentOrderBinding"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrderBinding"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrderBinding"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#androidPay
	 * @param androidPay22
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.AndroidPayResponse androidPay(
			ru.paymentgate.engine.webservices.merchant.AndroidPay androidPay22) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[11].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/androidPay");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), androidPay22,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "androidPay")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "androidPay"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.AndroidPayResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.AndroidPayResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "androidPay"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "androidPay"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "androidPay"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#registerOrder
	 * @param registerOrder24
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.RegisterOrderResponseE registerOrder(
			ru.paymentgate.engine.webservices.merchant.RegisterOrder registerOrder24) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[12].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/registerOrder");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), registerOrder24,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrder")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "registerOrder"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.RegisterOrderResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.RegisterOrderResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "registerOrder"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "registerOrder"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "registerOrder"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#createBindingNoPayment
	 * @param createBindingNoPayment26
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.CreateBindingNoPaymentResponseE createBindingNoPayment(
			ru.paymentgate.engine.webservices.merchant.CreateBindingNoPayment createBindingNoPayment26)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[13].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/createBindingNoPayment");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), createBindingNoPayment26,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "createBindingNoPayment")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "createBindingNoPayment"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.CreateBindingNoPaymentResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.CreateBindingNoPaymentResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "createBindingNoPayment"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "createBindingNoPayment"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "createBindingNoPayment"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#unBindCard
	 * @param unBindCard28
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.UnBindCardResponse unBindCard(
			ru.paymentgate.engine.webservices.merchant.UnBindCard unBindCard28) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[14].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/unBindCard");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), unBindCard28,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "unBindCard")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "unBindCard"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.UnBindCardResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.UnBindCardResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "unBindCard"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "unBindCard"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "unBindCard"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#refundOrder
	 * @param refundOrder30
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.RefundOrderResponse refundOrder(
			ru.paymentgate.engine.webservices.merchant.RefundOrder refundOrder30) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[15].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/refundOrder");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), refundOrder30,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "refundOrder")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "refundOrder"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.RefundOrderResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.RefundOrderResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "refundOrder"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "refundOrder"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "refundOrder"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#paymentOrder
	 * @param paymentOrder32
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.PaymentOrderResponse paymentOrder(
			ru.paymentgate.engine.webservices.merchant.PaymentOrder paymentOrder32) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[16].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/paymentOrder");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), paymentOrder32,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrder")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrder"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.PaymentOrderResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.PaymentOrderResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "paymentOrder"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrder"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrder"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getOrderStatus
	 * @param getOrderStatus34
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetOrderStatusResponse getOrderStatus(
			ru.paymentgate.engine.webservices.merchant.GetOrderStatus getOrderStatus34) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[17].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getOrderStatus");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getOrderStatus34,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatus")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getOrderStatus"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetOrderStatusResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.GetOrderStatusResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "getOrderStatus"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getOrderStatus"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getOrderStatus"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#depositOrder
	 * @param depositOrder36
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.DepositOrderResponse depositOrder(
			ru.paymentgate.engine.webservices.merchant.DepositOrder depositOrder36) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[18].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/depositOrder");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), depositOrder36,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "depositOrder")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "depositOrder"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.DepositOrderResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.DepositOrderResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "depositOrder"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "depositOrder"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "depositOrder"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#checkAuthenticate
	 * @param checkAuthenticate38
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.CheckAuthenticateResponse checkAuthenticate(
			ru.paymentgate.engine.webservices.merchant.CheckAuthenticate checkAuthenticate38) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[19].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/checkAuthenticate");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), checkAuthenticate38,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "checkAuthenticate")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "checkAuthenticate"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.CheckAuthenticateResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.CheckAuthenticateResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "checkAuthenticate"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "checkAuthenticate"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "checkAuthenticate"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#updateWhiteCardList
	 * @param updateWhiteCardList40
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardListResponse updateWhiteCardList(
			ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardList updateWhiteCardList40)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[20].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/updateWhiteCardList");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), updateWhiteCardList40,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "updateWhiteCardList")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "updateWhiteCardList"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardListResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardListResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "updateWhiteCardList"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "updateWhiteCardList"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "updateWhiteCardList"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#paymentOrderOtherWay
	 * @param paymentOrderOtherWay42
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWayResponse paymentOrderOtherWay(
			ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWay paymentOrderOtherWay42)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[21].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/paymentOrderOtherWay");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), paymentOrderOtherWay42,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderOtherWay")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "paymentOrderOtherWay"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWayResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWayResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "paymentOrderOtherWay"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrderOtherWay"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "paymentOrderOtherWay"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#recurrentPayment
	 * @param recurrentPayment44
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.RecurrentPaymentResponseE recurrentPayment(
			ru.paymentgate.engine.webservices.merchant.RecurrentPayment recurrentPayment44) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[22].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/recurrentPayment");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), recurrentPayment44,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "recurrentPayment")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "recurrentPayment"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.RecurrentPaymentResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.RecurrentPaymentResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "recurrentPayment"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "recurrentPayment"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "recurrentPayment"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#finishThreeDs
	 * @param finishThreeDs46
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.FinishThreeDsResponseE finishThreeDs(
			ru.paymentgate.engine.webservices.merchant.FinishThreeDs finishThreeDs46) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[23].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/finishThreeDs");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), finishThreeDs46,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "finishThreeDs")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "finishThreeDs"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.FinishThreeDsResponseE.class);

			return (ru.paymentgate.engine.webservices.merchant.FinishThreeDsResponseE) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "finishThreeDs"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "finishThreeDs"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "finishThreeDs"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#updateBlackCardList
	 * @param updateBlackCardList48
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.UpdateBlackCardListResponse updateBlackCardList(
			ru.paymentgate.engine.webservices.merchant.UpdateBlackCardList updateBlackCardList48)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[24].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/updateBlackCardList");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), updateBlackCardList48,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "updateBlackCardList")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "updateBlackCardList"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.UpdateBlackCardListResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.UpdateBlackCardListResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "updateBlackCardList"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "updateBlackCardList"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "updateBlackCardList"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#bindCard
	 * @param bindCard50
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.BindCardResponse bindCard(
			ru.paymentgate.engine.webservices.merchant.BindCard bindCard50) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[25].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/bindCard");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), bindCard50,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "bindCard")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "bindCard"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.BindCardResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.BindCardResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "bindCard"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "bindCard"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap.get(new FaultMapKey(faultElt.getQName(), "bindCard"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#reverseOrder
	 * @param reverseOrder52
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.ReverseOrderResponse reverseOrder(
			ru.paymentgate.engine.webservices.merchant.ReverseOrder reverseOrder52) throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[26].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/reverseOrder");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), reverseOrder52,
					optimizeContent(new QName("http://engine.paymentgate.ru/webservices/merchant", "reverseOrder")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "reverseOrder"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.ReverseOrderResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.ReverseOrderResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "reverseOrder"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "reverseOrder"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "reverseOrder"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (ClassNotFoundException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.NoSuchMethodException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.reflect.InvocationTargetException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.IllegalAccessException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					} catch (java.lang.InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	/**
	 * Auto generated method signature
	 *
	 * @see ru.abyss.acquiring.soap.MerchantService#getBindingsByCardOrId
	 * @param getBindingsByCardOrId54
	 */
	@Override
	public ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrIdResponse getBindingsByCardOrId(
			ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrId getBindingsByCardOrId54)
			throws RemoteException {
		MessageContext _messageContext = null;

		try {
			OperationClient _operationClient = _serviceClient
					.createClient(_operations[27].getName());
			_operationClient.getOptions()
					.setAction("http://soap.merchant.api.web.phoenix.bpc.ru/MerchantService/getBindingsByCardOrId");
			_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

			addPropertyToOperationClient(_operationClient, WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR, "&");

			// create a message context
			_messageContext = new MessageContext();

			// create SOAP envelope with that payload
			SOAPEnvelope env = null;

			env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()), getBindingsByCardOrId54,
					optimizeContent(
							new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindingsByCardOrId")),
					new QName("http://engine.paymentgate.ru/webservices/merchant", "getBindingsByCardOrId"));

			// adding SOAP soap_headers
			_serviceClient.addHeadersToEnvelope(env);
			// set the message context with that soap envelope
			_messageContext.setEnvelope(env);

			// add the message contxt to the operation client
			_operationClient.addMessageContext(_messageContext);

			// execute the operation client
			_operationClient.execute(true);

			MessageContext _returnMessageContext = _operationClient
					.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
			SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

			Object object = fromOM(_returnEnv.getBody().getFirstElement(),
					ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrIdResponse.class);

			return (ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrIdResponse) object;
		} catch (AxisFault f) {
			OMElement faultElt = f.getDetail();

			if (faultElt != null) {
				if (faultExceptionNameMap.containsKey(new FaultMapKey(faultElt.getQName(), "getBindingsByCardOrId"))) {
					// make the fault by reflection
					try {
						String exceptionClassName = faultExceptionClassNameMap
								.get(new FaultMapKey(faultElt.getQName(), "getBindingsByCardOrId"));
						Class exceptionClass = Class.forName(exceptionClassName);
						Constructor constructor = exceptionClass.getConstructor(String.class);
						Exception ex = (Exception) constructor.newInstance(f.getMessage());

						// message class
						String messageClassName = faultMessageMap
								.get(new FaultMapKey(faultElt.getQName(), "getBindingsByCardOrId"));
						Class messageClass = Class.forName(messageClassName);
						Object messageObject = fromOM(faultElt, messageClass);
						Method m = exceptionClass.getMethod("setFaultMessage", new Class[] { messageClass });
						m.invoke(ex, new Object[] { messageObject });

						throw new RemoteException(ex.getMessage(), ex);
					} catch (ClassCastException | ClassNotFoundException | NoSuchMethodException
							| InvocationTargetException | IllegalAccessException | InstantiationException e) {
						// we cannot intantiate the class - throw the original
						// Axis fault
						throw f;
					}
				} else {
					throw f;
				}
			} else {
				throw f;
			}
		} finally {
			if ((_messageContext != null) && (_messageContext.getTransportOut() != null))
				_messageContext.getTransportOut().getSender().cleanup(_messageContext);
		}
	}

	private boolean optimizeContent(QName opName) {
		if (opNameArray == null) {
			return false;
		}

		for (int i = 0; i < opNameArray.length; i++) {
			if (opName.equals(opNameArray[i])) {
				return true;
			}
		}

		return false;
	}

	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.RefundOrder param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.RefundOrder.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.CreateBindingNoPayment param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.CreateBindingNoPayment.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.UnBindCard param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.UnBindCard.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.AndroidPay param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.AndroidPay.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.RegisterOrder param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.RegisterOrder.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.AddParams param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.AddParams.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.ApplePay param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.ApplePay.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.PaymentOrderBinding param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.PaymentOrderBinding.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.GetBindings param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.GetBindings.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.GetLastOrders param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.GetLastOrders.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtended param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtended.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuth param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuth.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.ExtendBinding param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.ExtendBinding.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.VerifyEnrollment param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.VerifyEnrollment.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchants param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param.getOMElement(
					ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchants.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.UpdateSSLCardList param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.UpdateSSLCardList.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrId param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrId.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.ReverseOrder param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.ReverseOrder.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.BindCard param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.BindCard.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.FinishThreeDs param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.FinishThreeDs.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.UpdateBlackCardList param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.UpdateBlackCardList.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.RecurrentPayment param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.RecurrentPayment.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWay param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWay.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.CheckAuthenticate param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.CheckAuthenticate.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardList param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(param
					.getOMElement(ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardList.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.DepositOrder param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.DepositOrder.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory,
			ru.paymentgate.engine.webservices.merchant.GetOrderStatus param, boolean optimizeContent,
			QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.GetOrderStatus.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */
	private SOAPEnvelope toEnvelope(SOAPFactory factory, ru.paymentgate.engine.webservices.merchant.PaymentOrder param,
			boolean optimizeContent, QName elementQName) throws AxisFault {
		try {
			SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
			emptyEnvelope.getBody().addChild(
					param.getOMElement(ru.paymentgate.engine.webservices.merchant.PaymentOrder.MY_QNAME, factory));

			return emptyEnvelope;
		} catch (ADBException e) {
			throw AxisFault.makeFault(e);
		}
	}

	/* methods to provide back word compatibility */

	private Object fromOM(OMElement param, Class type) throws AxisFault {
		try {
			if (ru.paymentgate.engine.webservices.merchant.AddParams.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.AddParams.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.AddParamsResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.AddParamsResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.AndroidPay.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.AndroidPay.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.AndroidPayResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.AndroidPayResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ApplePay.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ApplePay.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ApplePayResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ApplePayResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.BindCard.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.BindCard.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.BindCardResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.BindCardResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.CheckAuthenticate.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.CheckAuthenticate.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.CheckAuthenticateResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.CheckAuthenticateResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.CreateBindingNoPayment.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.CreateBindingNoPayment.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.CreateBindingNoPaymentResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.CreateBindingNoPaymentResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.DepositOrder.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.DepositOrder.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.DepositOrderResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.DepositOrderResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ExtendBinding.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ExtendBinding.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ExtendBindingResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ExtendBindingResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.FinishThreeDs.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.FinishThreeDs.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.FinishThreeDsResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.FinishThreeDsResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetBindings.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetBindings.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrId.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrId.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrIdResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetBindingsByCardOrIdResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetBindingsResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetBindingsResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetLastOrders.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetLastOrders.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchants.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchants.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchantsResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetLastOrdersForMerchantsResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetLastOrdersResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetLastOrdersResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetOrderStatus.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetOrderStatus.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtended.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtended.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetOrderStatusExtendedResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.GetOrderStatusResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.GetOrderStatusResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrder.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrder.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrderBinding.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrderBinding.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrderBindingResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrderBindingResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWay.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWay.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWayResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrderOtherWayResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.PaymentOrderResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.PaymentOrderResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RecurrentPayment.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RecurrentPayment.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RecurrentPaymentResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RecurrentPaymentResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RefundOrder.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RefundOrder.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RefundOrderResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RefundOrderResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RegisterOrder.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RegisterOrder.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuth.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuth.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuthResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RegisterOrderPreAuthResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.RegisterOrderResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.RegisterOrderResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ReverseOrder.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ReverseOrder.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.ReverseOrderResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.ReverseOrderResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UnBindCard.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UnBindCard.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UnBindCardResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UnBindCardResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateBlackCardList.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateBlackCardList.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateBlackCardListResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateBlackCardListResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateSSLCardList.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateSSLCardList.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateSSLCardListResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateSSLCardListResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardList.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardList.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardListResponse.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.UpdateWhiteCardListResponse.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.VerifyEnrollment.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.VerifyEnrollment.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}

			if (ru.paymentgate.engine.webservices.merchant.VerifyEnrollmentResponseE.class.equals(type)) {
				return ru.paymentgate.engine.webservices.merchant.VerifyEnrollmentResponseE.Factory
						.parse(param.getXMLStreamReaderWithoutCaching());
			}
		} catch (Exception e) {
			throw AxisFault.makeFault(e);
		}

		return null;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy