<?php

namespace Eurostop\Fulfilment;

class FulfilmentWebServiceInterfacePluginCustom extends \SoapClient
{

    /**
     * @var array $classmap The defined classes
     */
    private static $classmap = array (
      'CustomerAddress' => 'Eurostop\\Fulfilment\\CustomerAddressCustom',
      'SubmittedCustomerAddress' => 'Eurostop\\Fulfilment\\SubmittedCustomerAddressCustom',
      'SubmittedCustomer' => 'Eurostop\\Fulfilment\\SubmittedCustomerCustom',
      'ArrayOfSubmittedCustomerAccount' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerAccountCustom',
      'SubmittedCustomerAccount' => 'Eurostop\\Fulfilment\\SubmittedCustomerAccountCustom',
      'ArrayOfSubmittedCustomerAddress' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerAddressCustom',
      'ArrayOfSubmittedCustomerAttribute' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerAttributeCustom',
      'SubmittedCustomerAttribute' => 'Eurostop\\Fulfilment\\SubmittedCustomerAttributeCustom',
      'CustomerOrder' => 'Eurostop\\Fulfilment\\CustomerOrderCustom',
      'ArrayOfCustomerOrderLine' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderLineCustom',
      'CustomerOrderLine' => 'Eurostop\\Fulfilment\\CustomerOrderLineCustom',
      'ArrayOfCustomerOrderFulfilmentPlan' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderFulfilmentPlanCustom',
      'CustomerOrderFulfilmentPlan' => 'Eurostop\\Fulfilment\\CustomerOrderFulfilmentPlanCustom',
      'ArrayOfCustomerOrderFulfilmentPlanDetail' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderFulfilmentPlanDetailCustom',
      'CustomerOrderFulfilmentPlanDetail' => 'Eurostop\\Fulfilment\\CustomerOrderFulfilmentPlanDetailCustom',
      'ArrayOfCustomerOrderShipment' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderShipmentCustom',
      'CustomerOrderShipment' => 'Eurostop\\Fulfilment\\CustomerOrderShipmentCustom',
      'ArrayOfCustomerOrderShipmentDetail' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderShipmentDetailCustom',
      'CustomerOrderShipmentDetail' => 'Eurostop\\Fulfilment\\CustomerOrderShipmentDetailCustom',
      'ArrayOfCustomerOrder' => 'Eurostop\\Fulfilment\\ArrayOfCustomerOrderCustom',
      'SubmittedCustomerOrder' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderCustom',
      'ArrayOfSubmittedCustomerOrderLine' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderLineCustom',
      'SubmittedCustomerOrderLine' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderLineCustom',
      'ArrayOfSubmittedCustomerOrder' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderCustom',
      'SubmittedCustomerOrderAction' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderAction',
      'ArrayOfSubmittedCustomerOrderAction' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderAction',
      'SubmittedCustomerOrderStockSource' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderStockSource',
      'ArrayOfSubmittedCustomerOrderStockSource' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderStockSource',
      'SubmittedCustomerOrderShipment' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderShipment',
      'ArrayOfSubmittedCustomerOrderShipmentDetail' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderShipmentDetail',
      'SubmittedCustomerOrderShipmentDetail' => 'Eurostop\\Fulfilment\\SubmittedCustomerOrderShipmentDetail',
      'ArrayOfSubmittedCustomerOrderShipment' => 'Eurostop\\Fulfilment\\ArrayOfSubmittedCustomerOrderShipment',
      'DataRetrievalResultOfCustomerOrderO8iHhPEq' => 'Eurostop\\Fulfilment\\DataRetrievalResultOfCustomerOrderO8iHhPEqCustom',
      'CodedRetrievedDataItemOfCustomerOrderDtoHay9ORuz' => 'Eurostop\\Fulfilment\\CodedRetrievedDataItemOfCustomerOrderDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerOrderDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerAddressDtoKJ8WzcEX' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerAddressDtoKJ8WzcEXCustom',
      'RetrievedDataItemOfCustomerOrderLineDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderLineDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerOrderFulfilmentPlanDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderFulfilmentPlanDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerOrderFulfilmentPlanDetailDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderFulfilmentPlanDetailDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerOrderShipmentDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderShipmentDtoHay9ORuzCustom',
      'RetrievedDataItemOfCustomerOrderShipmentDetailDtoHay9ORuz' => 'Eurostop\\Fulfilment\\RetrievedDataItemOfCustomerOrderShipmentDetailDtoHay9ORuzCustom',
      'SubmittedDataItemOfSubmittedCustomerOrderDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerOrderDtoHay9ORuzCustom',
      'SubmittedDataItemOfSubmittedCustomerAddressDtoKJ8WzcEX' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerAddressDtoKJ8WzcEXCustom',
      'SubmittedDataItemOfSubmittedCustomerDtoKJ8WzcEX' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerDtoKJ8WzcEXCustom',
      'SubmittedDataItemOfSubmittedCustomerAccountDtoKJ8WzcEX' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerAccountDtoKJ8WzcEXCustom',
      'SubmittedDataItemOfSubmittedCustomerAttributeDtoKJ8WzcEX' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerAttributeDtoKJ8WzcEXCustom',
      'SubmittedDataItemOfSubmittedCustomerOrderLineDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerOrderLineDtoHay9ORuzCustom',
      'DataSubmissionResult' => 'Eurostop\\Fulfilment\\DataSubmissionResultCustom',
      'ArrayOfValidationError' => 'Eurostop\\Fulfilment\\ArrayOfValidationErrorCustom',
      'ValidationError' => 'Eurostop\\Fulfilment\\ValidationErrorCustom',
      'SubmittedDataActionOfSubmittedCustomerOrderActionDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataActionOfSubmittedCustomerOrderActionDtoHay9ORuz',
      'SubmittedDataActionOfSubmittedCustomerOrderStockSourceDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataActionOfSubmittedCustomerOrderStockSourceDtoHay9ORuz',
      'SubmittedDataItemOfSubmittedCustomerOrderShipmentDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerOrderShipmentDtoHay9ORuz',
      'SubmittedDataItemOfSubmittedCustomerOrderShipmentLineDtoHay9ORuz' => 'Eurostop\\Fulfilment\\SubmittedDataItemOfSubmittedCustomerOrderShipmentLineDtoHay9ORuz',
      'ArrayOfDataProcessingResult' => 'Eurostop\\Fulfilment\\ArrayOfDataProcessingResultCustom',
      'DataProcessingResult' => 'Eurostop\\Fulfilment\\DataProcessingResultCustom',
      'ArrayOfDataProcessingStatus' => 'Eurostop\\Fulfilment\\ArrayOfDataProcessingStatusCustom',
      'DataProcessingStatus' => 'Eurostop\\Fulfilment\\DataProcessingStatusCustom',
      'GetCustomerOrdersByCreationDate' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCreationDateCustom',
      'GetCustomerOrdersByCreationDateResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCreationDateResponseCustom',
      'GetCustomerOrdersByModifiedDate' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByModifiedDateCustom',
      'GetCustomerOrdersByModifiedDateResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByModifiedDateResponseCustom',
      'GetCustomerOrderByIdentifier' => 'Eurostop\\Fulfilment\\GetCustomerOrderByIdentifierCustom',
      'GetCustomerOrderByIdentifierResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrderByIdentifierResponseCustom',
      'GetCustomerOrdersByIdentifier' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByIdentifierCustom',
      'GetCustomerOrdersByIdentifierResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByIdentifierResponseCustom',
      'SubmitCustomerOrder' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderCustom',
      'SubmitCustomerOrderResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderResponseCustom',
      'SubmitCustomerOrders' => 'Eurostop\\Fulfilment\\SubmitCustomerOrdersCustom',
      'SubmitCustomerOrdersResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrdersResponseCustom',
      'GetCustomerOrdersByCustomer' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCustomer',
      'GetCustomerOrdersByCustomerResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCustomerResponse',
      'GetCustomerOrdersByCustomerCreationDate' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCustomerCreationDate',
      'GetCustomerOrdersByCustomerCreationDateResponse' => 'Eurostop\\Fulfilment\\GetCustomerOrdersByCustomerCreationDateResponse',
      'SubmitCustomerOrderAction' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderAction',
      'SubmitCustomerOrderActionResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderActionResponse',
      'SubmitCustomerOrderActions' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderActions',
      'SubmitCustomerOrderActionsResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderActionsResponse',
      'SubmitCustomerOrderStockSource' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderStockSource',
      'SubmitCustomerOrderStockSourceResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderStockSourceResponse',
      'SubmitCustomerOrderStockSources' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderStockSources',
      'SubmitCustomerOrderStockSourcesResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderStockSourcesResponse',
      'SubmitCustomerOrderShipment' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderShipment',
      'SubmitCustomerOrderShipmentResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderShipmentResponse',
      'SubmitCustomerOrderShipments' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderShipments',
      'SubmitCustomerOrderShipmentsResponse' => 'Eurostop\\Fulfilment\\SubmitCustomerOrderShipmentsResponse',
      'FlagDataProcessingToRetryByReference' => 'Eurostop\\Fulfilment\\FlagDataProcessingToRetryByReferenceCustom',
      'FlagDataProcessingToRetryByReferenceResponse' => 'Eurostop\\Fulfilment\\FlagDataProcessingToRetryByReferenceResponseCustom',
      'FlagDataProcessingToRetryByToken' => 'Eurostop\\Fulfilment\\FlagDataProcessingToRetryByTokenCustom',
      'FlagDataProcessingToRetryByTokenResponse' => 'Eurostop\\Fulfilment\\FlagDataProcessingToRetryByTokenResponseCustom',
      'RunDataProcessingByReference' => 'Eurostop\\Fulfilment\\RunDataProcessingByReferenceCustom',
      'RunDataProcessingByReferenceResponse' => 'Eurostop\\Fulfilment\\RunDataProcessingByReferenceResponseCustom',
      'RunDataProcessingByToken' => 'Eurostop\\Fulfilment\\RunDataProcessingByTokenCustom',
      'RunDataProcessingByTokenResponse' => 'Eurostop\\Fulfilment\\RunDataProcessingByTokenResponseCustom',
    );

    /**
     * @param array $options A array of config values
     * @param string $wsdl The wsdl file to use
     */
    public function __construct(array $options = array(), $wsdl = null)
    {
      foreach (self::$classmap as $key => $value) {
        if (!isset($options['classmap'][$key])) {
          $options['classmap'][$key] = $value;
        }
      }
      $options = array_merge(array (
      'features' => 1,
    ), $options);
      if (!$wsdl) {
        $wsdl = 'https://database-test.eurostop.jdsportscanada.com:9120/e-interface/fulfilment?wsdl';
      }
      parent::__construct($wsdl, $options);
    }

    /**
     * @param GetCustomerOrdersByCreationDateCustom $parameters
     * @return GetCustomerOrdersByCreationDateResponse
     */
    public function GetCustomerOrdersByCreationDate($parameters)
    {
      return $this->__soapCall('GetCustomerOrdersByCreationDate', array($parameters));
    }

    /**
     * @param GetCustomerOrdersByModifiedDateCustom $parameters
     * @return GetCustomerOrdersByModifiedDateResponse
     */
    public function GetCustomerOrdersByModifiedDate($parameters)
    {
      return $this->__soapCall('GetCustomerOrdersByModifiedDate', array($parameters));
    }

    /**
     * @param GetCustomerOrderByIdentifierCustom $parameters
     * @return GetCustomerOrderByIdentifierResponse
     */
    public function GetCustomerOrderByIdentifier($parameters)
    {
      return $this->__soapCall('GetCustomerOrderByIdentifier', array($parameters));
    }

    /**
     * @param GetCustomerOrdersByIdentifierCustom $parameters
     * @return GetCustomerOrdersByIdentifierResponse
     */
    public function GetCustomerOrdersByIdentifier($parameters)
    {
      return $this->__soapCall('GetCustomerOrdersByIdentifier', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderCustom $parameters
     * @return SubmitCustomerOrderResponse
     */
    public function SubmitCustomerOrder($parameters)
    {
      return $this->__soapCall('SubmitCustomerOrder', array($parameters));
    }

    /**
     * @param SubmitCustomerOrdersCustom $parameters
     * @return SubmitCustomerOrdersResponse
     */
    public function SubmitCustomerOrders($parameters)
    {
      return $this->__soapCall('SubmitCustomerOrders', array($parameters));
    }

    /**
     * @param GetCustomerOrdersByCustomer $parameters
     * @return GetCustomerOrdersByCustomerResponse
     */
    public function GetCustomerOrdersByCustomer(GetCustomerOrdersByCustomer $parameters)
    {
      return $this->__soapCall('GetCustomerOrdersByCustomer', array($parameters));
    }

    /**
     * @param GetCustomerOrdersByCustomerCreationDate $parameters
     * @return GetCustomerOrdersByCustomerCreationDateResponse
     */
    public function GetCustomerOrdersByCustomerCreationDate(GetCustomerOrdersByCustomerCreationDate $parameters)
    {
      return $this->__soapCall('GetCustomerOrdersByCustomerCreationDate', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderAction $parameters
     * @return SubmitCustomerOrderActionResponse
     */
    public function SubmitCustomerOrderAction(SubmitCustomerOrderAction $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderAction', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderActions $parameters
     * @return SubmitCustomerOrderActionsResponse
     */
    public function SubmitCustomerOrderActions(SubmitCustomerOrderActions $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderActions', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderStockSource $parameters
     * @return SubmitCustomerOrderStockSourceResponse
     */
    public function SubmitCustomerOrderStockSource(SubmitCustomerOrderStockSource $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderStockSource', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderStockSources $parameters
     * @return SubmitCustomerOrderStockSourcesResponse
     */
    public function SubmitCustomerOrderStockSources(SubmitCustomerOrderStockSources $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderStockSources', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderShipment $parameters
     * @return SubmitCustomerOrderShipmentResponse
     */
    public function SubmitCustomerOrderShipment(SubmitCustomerOrderShipment $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderShipment', array($parameters));
    }

    /**
     * @param SubmitCustomerOrderShipments $parameters
     * @return SubmitCustomerOrderShipmentsResponse
     */
    public function SubmitCustomerOrderShipments(SubmitCustomerOrderShipments $parameters)
    {
      return $this->__soapCall('SubmitCustomerOrderShipments', array($parameters));
    }

    /**
     * @param FlagDataProcessingToRetryByReferenceCustom $parameters
     * @return FlagDataProcessingToRetryByReferenceResponse
     */
    public function FlagDataProcessingToRetryByReference($parameters)
    {
      return $this->__soapCall('FlagDataProcessingToRetryByReference', array($parameters));
    }

    /**
     * @param FlagDataProcessingToRetryByTokenCustom $parameters
     * @return FlagDataProcessingToRetryByTokenResponse
     */
    public function FlagDataProcessingToRetryByToken($parameters)
    {
      return $this->__soapCall('FlagDataProcessingToRetryByToken', array($parameters));
    }

    /**
     * @param RunDataProcessingByReferenceCustom $parameters
     * @return RunDataProcessingByReferenceResponse
     */
    public function RunDataProcessingByReference($parameters)
    {
      return $this->__soapCall('RunDataProcessingByReference', array($parameters));
    }

    /**
     * @param RunDataProcessingByTokenCustom $parameters
     * @return RunDataProcessingByTokenResponse
     */
    public function RunDataProcessingByToken($parameters)
    {
      return $this->__soapCall('RunDataProcessingByToken', array($parameters));
    }

}
