<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:mule="http://www.mulesoft.org/schema/mule/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://www.mulesoft.org/schema/mule/magento">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"></xs:import>
  <xs:import schemaLocation="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" namespace="http://www.springframework.org/schema/beans"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/core/current/mule.xsd" namespace="http://www.mulesoft.org/schema/mule/core"></xs:import>
  <xs:import schemaLocation="http://www.mulesoft.org/schema/mule/devkit/current/mule-devkit.xsd" namespace="http://www.mulesoft.org/schema/mule/devkit"></xs:import>
  <xs:simpleType name="integerType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:integer"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="decimalType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="floatType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:float"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="doubleType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:double"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dateTimeType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="longType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:long"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="byteType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:byte"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="booleanType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:boolean"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="anyUriType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:anyURI"></xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="charType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:minLength value="1"></xs:minLength>
          <xs:maxLength value="1"></xs:maxLength>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:complexType name="XmlType">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
    </xs:sequence>
    <xs:attribute name="ref" use="optional" type="xs:string">
      <xs:annotation>
        <xs:documentation>The reference object for this parameter</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element xmlns:devkit="http://www.mulesoft.org/schema/mule/devkit" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="config" substitutionGroup="mule:abstract-extension" devkit:javaClass="org.mule.module.magento.config.MagentoCloudConnectorLifecycleAdapter">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="mule:abstractExtensionType">
          <xs:annotation>
            <xs:documentation>A Cloud Connector for the Magento Order Sales API.</xs:documentation>
          </xs:annotation>
          <xs:attribute name="name" use="optional" type="xs:string">
            <xs:annotation>
              <xs:documentation>Give a name to this configuration so it can be later referenced by config-ref.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="username" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The user name to access Magento Web Services</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="password" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The password to access Magento Web Services</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="address" use="required" type="xs:string">
            <xs:annotation>
              <xs:documentation>The address to access Magento Web Services</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-order-shipment-comment" substitutionGroup="mule:abstract-message-processor" type="AddOrderShipmentCommentType">
    <xs:annotation>
      <xs:documentation>Adds a comment to the shipment.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddOrderShipmentCommentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="shipmentId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the shipment's increment id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="comment" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the comment to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="sendEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if an email must be sent after shipment creation</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="includeCommentInEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if the comment must be sent in the email</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-order-shipment-track" substitutionGroup="mule:abstract-message-processor" type="AddOrderShipmentTrackType">
    <xs:annotation>
      <xs:documentation>Adds a new tracking number
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddOrderShipmentTrackType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="shipmentId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the shipment id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="carrierCode" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the new track's carrier code</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="title" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the new track's title</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="trackId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the new track's id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="cancel-order" substitutionGroup="mule:abstract-message-processor" type="CancelOrderType">
    <xs:annotation>
      <xs:documentation>Cancels an order
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CancelOrderType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the order to cancel</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-order-shipment" substitutionGroup="mule:abstract-message-processor" type="CreateOrderShipmentType">
    <xs:annotation>
      <xs:documentation>Creates a shipment for order
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateOrderShipmentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="items-quantities" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>a map containing an entry per each (orderItemId, quantity) pair</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="items-quantity" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension xmlns="http://www.mulesoft.org/schema/mule/magento" base="doubleType">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="integerType"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the order increment id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="comment" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an optional comment</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="sendEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if an email must be sent after shipment creation</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="includeCommentInEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if the comment must be sent in the email</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-order" substitutionGroup="mule:abstract-message-processor" type="GetOrderType">
    <xs:annotation>
      <xs:documentation>Answers the order properties for the given orderId
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetOrderType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the order whose properties to fetch</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-order-invoice" substitutionGroup="mule:abstract-message-processor" type="GetOrderInvoiceType">
    <xs:annotation>
      <xs:documentation>Retrieves order invoice information
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetOrderInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target invoiceId</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-order-shipment-carriers" substitutionGroup="mule:abstract-message-processor" type="GetOrderShipmentCarriersType">
    <xs:annotation>
      <xs:documentation>Retrieves the order shipment carriers.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetOrderShipmentCarriersType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target order id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-order-shipment" substitutionGroup="mule:abstract-message-processor" type="GetOrderShipmentType">
    <xs:annotation>
      <xs:documentation>Retrieves the order shipment attributes
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetOrderShipmentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="shipmentId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the shipment</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="hold-order" substitutionGroup="mule:abstract-message-processor" type="HoldOrderType">
    <xs:annotation>
      <xs:documentation>Puts order on hold. This operation can be reverted with unholdOrder.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="HoldOrderType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the order to put on hold state</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-orders" substitutionGroup="mule:abstract-message-processor" type="ListOrdersType">
    <xs:annotation>
      <xs:documentation>Lists order attributes that match the given filtering expression.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListOrdersType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional filtering expression - one or more comma-separated unary or binary predicates, one for each filter, in the form filterType(attributeName, value), for binary filters or filterType(attributeName), for unary filters, where filterType is istrue, isfalse or any of the Magento standard filters. Non-numeric values need to be escaped using simple quotes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-orders-invoices" substitutionGroup="mule:abstract-message-processor" type="ListOrdersInvoicesType">
    <xs:annotation>
      <xs:documentation>Lists order invoices that match the given filtering expression
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListOrdersInvoicesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional filtering expression - one or more comma-separated unary or binary predicates, one for each filter, in the form filterType(attributeName, value), for binary filters or filterType(attributeName), for unary filters, where filterType is istrue, isfalse or any of the Magento standard filters. Non-numeric values need to be escaped using simple quotes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-orders-shipments" substitutionGroup="mule:abstract-message-processor" type="ListOrdersShipmentsType">
    <xs:annotation>
      <xs:documentation>Lists order shipment atrributes that match the given
optional filtering expression
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListOrdersShipmentsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional filtering expression - one or more comma-separated unary or binary predicates, one for each filter, in the form filterType(attributeName, value), for binary filters or filterType(attributeName), for unary filters, where filterType is istrue, isfalse or any of the Magento standard filters. Non-numeric values need to be escaped using simple quotes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-order-shipment-track" substitutionGroup="mule:abstract-message-processor" type="DeleteOrderShipmentTrackType">
    <xs:annotation>
      <xs:documentation>Deletes the given track of the given order's shipment
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteOrderShipmentTrackType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="shipmentId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target shipment id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="trackId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the track to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-order-comment" substitutionGroup="mule:abstract-message-processor" type="AddOrderCommentType">
    <xs:annotation>
      <xs:documentation>Adds a comment to the given order id
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddOrderCommentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the order id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="status" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the comment status</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="comment" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the comment</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="sendEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if an email must be sent after shipment creation</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="unhold-order" substitutionGroup="mule:abstract-message-processor" type="UnholdOrderType">
    <xs:annotation>
      <xs:documentation>Releases order
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UnholdOrderType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the order to remove from hold state</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-order-invoice" substitutionGroup="mule:abstract-message-processor" type="CreateOrderInvoiceType">
    <xs:annotation>
      <xs:documentation>Creates an invoice for the given order
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateOrderInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="items-quantities" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>a map containing an entry per each (orderItemId, quantity) pair</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="items-quantity" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension xmlns="http://www.mulesoft.org/schema/mule/magento" base="doubleType">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="integerType"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="orderId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id of the order</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="comment" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an optional comment</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="sendEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if an email must be sent after shipment creation</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="includeCommentInEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if the comment must be sent in the email</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-order-invoice-comment" substitutionGroup="mule:abstract-message-processor" type="AddOrderInvoiceCommentType">
    <xs:annotation>
      <xs:documentation>Adds a comment to the given order's invoice
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddOrderInvoiceCommentType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the invoice id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="comment" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the comment to add</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="sendEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if an email must be sent after shipment creation</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="includeCommentInEmail" default="false" use="optional" type="booleanType">
          <xs:annotation>
            <xs:documentation>if the comment must be sent in the email</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="capture-order-invoice" substitutionGroup="mule:abstract-message-processor" type="CaptureOrderInvoiceType">
    <xs:annotation>
      <xs:documentation>Captures and invoice
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CaptureOrderInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the invoice to capture</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="void-order-invoice" substitutionGroup="mule:abstract-message-processor" type="VoidOrderInvoiceType">
    <xs:annotation>
      <xs:documentation>Voids an invoice
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="VoidOrderInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the invoice id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="cancel-order-invoice" substitutionGroup="mule:abstract-message-processor" type="CancelOrderInvoiceType">
    <xs:annotation>
      <xs:documentation>Cancels an order's invoice
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CancelOrderInvoiceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="invoiceId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the invoice id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-customer-address" substitutionGroup="mule:abstract-message-processor" type="CreateCustomerAddressType">
    <xs:annotation>
      <xs:documentation>Creates a new address for the given customer using the given address
attributes
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCustomerAddressType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the address attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="customerId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the customer</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-customer" substitutionGroup="mule:abstract-message-processor" type="CreateCustomerType">
    <xs:annotation>
      <xs:documentation>Creates a customer with the given attributes
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the attributes of the new customer</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-customer" substitutionGroup="mule:abstract-message-processor" type="DeleteCustomerType">
    <xs:annotation>
      <xs:documentation>Deletes a customer given its id
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="customerId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the customer to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-customer-address" substitutionGroup="mule:abstract-message-processor" type="DeleteCustomerAddressType">
    <xs:annotation>
      <xs:documentation>Deletes a Customer Address
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCustomerAddressType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="addressId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the address id to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-customer" substitutionGroup="mule:abstract-message-processor" type="GetCustomerType">
    <xs:annotation>
      <xs:documentation>Answers customer attributes for the given id. Only the selected attributes are
retrieved
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attribute-names" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the attributes to retrieve. Not empty</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="attribute-name" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="customerId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the customer to retrieve</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-customer-address" substitutionGroup="mule:abstract-message-processor" type="GetCustomerAddressType">
    <xs:annotation>
      <xs:documentation>Answers the customer address attributes
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCustomerAddressType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="addressId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the address</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-customer-addresses" substitutionGroup="mule:abstract-message-processor" type="ListCustomerAddressesType">
    <xs:annotation>
      <xs:documentation>Lists the customer address for a given customer id
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCustomerAddressesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="customerId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the customer</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-customer-groups" substitutionGroup="mule:abstract-message-processor" type="ListCustomerGroupsType">
    <xs:annotation>
      <xs:documentation>Lists all the customer groups
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCustomerGroupsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-customers" substitutionGroup="mule:abstract-message-processor" type="ListCustomersType">
    <xs:annotation>
      <xs:documentation>Answers a list of customer attributes for the given filter expression.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCustomersType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional filtering expression - one or more comma-separated unary or binary predicates, one for each filter, in the form filterType(attributeName, value), for binary filters or filterType(attributeName), for unary filters, where filterType is istrue, isfalse or any of the Magento standard filters. Non-numeric values need to be escaped using simple quotes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-customer" substitutionGroup="mule:abstract-message-processor" type="UpdateCustomerType">
    <xs:annotation>
      <xs:documentation>Updates the given customer attributes, for the given customer id. Password can
not be updated using this method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCustomerType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the attributes map</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="customerId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the target customer to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-customer-address" substitutionGroup="mule:abstract-message-processor" type="UpdateCustomerAddressType">
    <xs:annotation>
      <xs:documentation>Updates the given map of customer address attributes, for the given customer address
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCustomerAddressType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the address attributes to update</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="addressId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the customer address to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-stock-items" substitutionGroup="mule:abstract-message-processor" type="ListStockItemsType">
    <xs:annotation>
      <xs:documentation>Retrieve stock data by product ids
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListStockItemsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="product-id-or-skus" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>a not empty list of product ids or skus whose attributes to list</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="product-id-or-sku" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-stock-item" substitutionGroup="mule:abstract-message-processor" type="UpdateStockItemType">
    <xs:annotation>
      <xs:documentation>Update product stock data given its id or sku
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateStockItemType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the attributes to update</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the product id or sku of the product to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-directory-countries" substitutionGroup="mule:abstract-message-processor" type="ListDirectoryCountriesType">
    <xs:annotation>
      <xs:documentation>Answers the list of countries
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListDirectoryCountriesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-directory-regions" substitutionGroup="mule:abstract-message-processor" type="ListDirectoryRegionsType">
    <xs:annotation>
      <xs:documentation>Answers a list of regions for the given county
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListDirectoryRegionsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="countryId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the country code, in ISO2 or ISO3 format</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-product-link" substitutionGroup="mule:abstract-message-processor" type="AddProductLinkType">
    <xs:annotation>
      <xs:documentation>Links two products, given its source and destination productIdOrSku.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddProductLinkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the link attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the product type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product id @param productIdOrSku       the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkedProductIdOrSku" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the destination product id or sku.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-product-attribute-media" substitutionGroup="mule:abstract-message-processor" type="CreateProductAttributeMediaType">
    <xs:annotation>
      <xs:documentation>Creates a new product media. See catalog-product-attribute-media-create SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateProductAttributeMediaType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the media attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="mimeType" use="required" type="MediaMimeTypeEnumType">
          <xs:annotation>
            <xs:documentation>the mimetype</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="baseFileName" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the base name of the new remote image</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-product-attribute-media" substitutionGroup="mule:abstract-message-processor" type="DeleteProductAttributeMediaType">
    <xs:annotation>
      <xs:documentation>Removes a product image. See catalog-product-attribute-media-remove SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteProductAttributeMediaType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fileName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the remote media file to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-product-link" substitutionGroup="mule:abstract-message-processor" type="DeleteProductLinkType">
    <xs:annotation>
      <xs:documentation>Deletes a product's link.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteProductLinkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>link type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product id @param productIdOrSku       the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkedProductIdOrSku" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the linked product id or sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-product-attribute-media" substitutionGroup="mule:abstract-message-processor" type="GetProductAttributeMediaType">
    <xs:annotation>
      <xs:documentation>Lists linked products to the given product and for the given link type.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetProductAttributeMediaType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fileName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the name of the file</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the store view id or code</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-catalog-current-store-view" substitutionGroup="mule:abstract-message-processor" type="GetCatalogCurrentStoreViewType">
    <xs:annotation>
      <xs:documentation>Answers the current default catalog store view id for this session
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCatalogCurrentStoreViewType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-category-attribute-store-view" substitutionGroup="mule:abstract-message-processor" type="UpdateCategoryAttributeStoreViewType">
    <xs:annotation>
      <xs:documentation>Set the default catalog store view for this session
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCategoryAttributeStoreViewType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store the id or code of the store view to set as default for this session</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-category-attributes" substitutionGroup="mule:abstract-message-processor" type="ListCategoryAttributesType">
    <xs:annotation>
      <xs:documentation>Retrieve product image types. See catalog-product-attribute-media-types SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCategoryAttributesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-category-attribute-options" substitutionGroup="mule:abstract-message-processor" type="ListCategoryAttributeOptionsType">
    <xs:annotation>
      <xs:documentation>Retrieves attribute options. See catalog-category-attribute-options SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCategoryAttributeOptionsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="attributeId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target attribute whose options will be retrieved</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attribute-media" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributeMediaType">
    <xs:annotation>
      <xs:documentation>Retrieves product image list. See catalog-product-attribute-media-list SOAP
method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributeMediaType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attribute-media-types" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributeMediaTypesType">
    <xs:annotation>
      <xs:documentation>Retrieve product image types. See catalog-product-attribute-media-types SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributeMediaTypesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="setId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the setId</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attribute-options" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributeOptionsType">
    <xs:annotation>
      <xs:documentation>Answers the product attribute options. See catalog-product-attribute-options
SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributeOptionsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="attributeId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the target attribute whose options will be listed</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attributes" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributesType">
    <xs:annotation>
      <xs:documentation>Retrieves product attributes list. See catalog-product-attribute-list SOAP
methods
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="setId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the set id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attribute-sets" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributeSetsType">
    <xs:annotation>
      <xs:documentation>Retrieves product attribute sets. See catalog-product-attribute-set-list SOAP
method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributeSetsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-attribute-tier-prices" substitutionGroup="mule:abstract-message-processor" type="ListProductAttributeTierPricesType">
    <xs:annotation>
      <xs:documentation>Retrieve product tier prices. See catalog-product-attribute-tier-price-info
SOAP Method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductAttributeTierPricesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-link" substitutionGroup="mule:abstract-message-processor" type="ListProductLinkType">
    <xs:annotation>
      <xs:documentation>Lists linked products to the given product and for the given link type
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductLinkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the link type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-link-attributes" substitutionGroup="mule:abstract-message-processor" type="ListProductLinkAttributesType">
    <xs:annotation>
      <xs:documentation>Lists all the attributes for the given product link type
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductLinkAttributesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the product type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-link-types" substitutionGroup="mule:abstract-message-processor" type="ListProductLinkTypesType">
    <xs:annotation>
      <xs:documentation>Answers product link types
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductLinkTypesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-product-types" substitutionGroup="mule:abstract-message-processor" type="ListProductTypesType">
    <xs:annotation>
      <xs:documentation>Answers product types. See catalog-product-type-list SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductTypesType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-product-attribute-media" substitutionGroup="mule:abstract-message-processor" type="UpdateProductAttributeMediaType">
    <xs:annotation>
      <xs:documentation>Updates product media. See catalog-product-attribute-media-update
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateProductAttributeMediaType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the attributes to update</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fileName" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the name of the remote media file to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-product-attribute-tier-price" substitutionGroup="mule:abstract-message-processor" type="UpdateProductAttributeTierPriceType">
    <xs:annotation>
      <xs:documentation>Updates a single product tier price. See catalog-product-attribute-tier-price-update
SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateProductAttributeTierPriceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the tier price to update.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-product-link" substitutionGroup="mule:abstract-message-processor" type="UpdateProductLinkType">
    <xs:annotation>
      <xs:documentation>Update product link
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateProductLinkType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the link attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the link type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product id @param productIdOrSku       the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the source product. Use it instead of productIdOrSku in case you are sure the source product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the source product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="linkedProductIdOrSku" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the destination product id or sku.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-category-products" substitutionGroup="mule:abstract-message-processor" type="ListCategoryProductsType">
    <xs:annotation>
      <xs:documentation>Lists product of a given category. See  catalog-category-assignedProducts SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCategoryProductsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="add-category-product" substitutionGroup="mule:abstract-message-processor" type="AddCategoryProductType">
    <xs:annotation>
      <xs:documentation>Assign product to category. See catalog-category-assignProduct SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AddCategoryProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category where the given product will be added</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="position" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the position of this product</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-category" substitutionGroup="mule:abstract-message-processor" type="CreateCategoryType">
    <xs:annotation>
      <xs:documentation>Creates a new category. See catalog-category-create SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateCategoryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the new category attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="parentId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the parent category id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-category" substitutionGroup="mule:abstract-message-processor" type="DeleteCategoryType">
    <xs:annotation>
      <xs:documentation>Deletes a category. See  catalog-category-delete SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCategoryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-category" substitutionGroup="mule:abstract-message-processor" type="GetCategoryType">
    <xs:annotation>
      <xs:documentation>Answers category attributes. See catalog-category-info SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCategoryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attribute-names" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the category attributes that will be retrieved</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="attribute-name" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category whose attributes will be retrieved</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-category-levels" substitutionGroup="mule:abstract-message-processor" type="ListCategoryLevelsType">
    <xs:annotation>
      <xs:documentation>Answers levels of categories for a website, store view and parent category
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListCategoryLevelsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="website" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the website</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="parentCategoryId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the parent category of the categories that will be listed</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="move-category" substitutionGroup="mule:abstract-message-processor" type="MoveCategoryType">
    <xs:annotation>
      <xs:documentation>Move category in tree. See  catalog-category-move SOAP method. Please make sure that you are not
moving category to any of its own children. There are no
extra checks to prevent doing it through webservices API, and you won‚Äôt be
able to fix this from admin interface then .
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="MoveCategoryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the category to be moved</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="parentId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the new parent category id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="afterId" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>an optional category id for use as reference in the positioning of the moved category</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-category-product" substitutionGroup="mule:abstract-message-processor" type="DeleteCategoryProductType">
    <xs:annotation>
      <xs:documentation>Remove a product assignment. See catalog-category-removeProduct SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteCategoryProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category to delete</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-category-tree" substitutionGroup="mule:abstract-message-processor" type="GetCategoryTreeType">
    <xs:annotation>
      <xs:documentation>Answers the category tree. See catalog-category-tree SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetCategoryTreeType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="parentId" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the parent id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-category" substitutionGroup="mule:abstract-message-processor" type="UpdateCategoryType">
    <xs:annotation>
      <xs:documentation>Updates a category. See catalog-category-update SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCategoryType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the category new attributes</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category to update</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-category-product" substitutionGroup="mule:abstract-message-processor" type="UpdateCategoryProductType">
    <xs:annotation>
      <xs:documentation>Updates a category product.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateCategoryProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="categoryId" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the category id</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="position" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the category position for ordering the category inside its level</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-inventory-stock-items" substitutionGroup="mule:abstract-message-processor" type="ListInventoryStockItemsType">
    <xs:annotation>
      <xs:documentation>Lists inventory stock items.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListInventoryStockItemsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="product-id-or-skus" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the list of product ids and/or skus whose attributes will be retrieved</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="product-id-or-sku" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-inventory-stock-item" substitutionGroup="mule:abstract-message-processor" type="UpdateInventoryStockItemType">
    <xs:annotation>
      <xs:documentation>Updates an stock inventory item
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateInventoryStockItemType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the new attributes of the stock item</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="create-product" substitutionGroup="mule:abstract-message-processor" type="CreateProductType">
    <xs:annotation>
      <xs:documentation>Creates a new product
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="CreateProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the attributes of the new product</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="type" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the new product's type</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="set" use="required" type="integerType">
          <xs:annotation>
            <xs:documentation>the new product's set</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="sku" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the new product's sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="delete-product" substitutionGroup="mule:abstract-message-processor" type="DeleteProductType">
    <xs:annotation>
      <xs:documentation>Deletes a product. See catalog-product-delete SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DeleteProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-product-special-price" substitutionGroup="mule:abstract-message-processor" type="GetProductSpecialPriceType">
    <xs:annotation>
      <xs:documentation>Answers a product special price. See catalog-product-getSpecialPrice SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetProductSpecialPriceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="get-product" substitutionGroup="mule:abstract-message-processor" type="GetProductType">
    <xs:annotation>
      <xs:documentation>Answers a product's specified attributes. At least one of attributNames or
additionalAttributeNames must be non null and non empty. See
catalog-product-info SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="GetProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes-names" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the list of standard attributes to be returned</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="attributes-name" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
          <xs:element name="additional-attribute-names" maxOccurs="1" minOccurs="0">
            <xs:annotation>
              <xs:documentation>the list of non standard attributes to be returned in the additionalAttributes attribute</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:sequence>
                <xs:element name="additional-attribute-name" maxOccurs="unbounded" minOccurs="0">
                  <xs:complexType>
                    <xs:simpleContent>
                      <xs:extension base="xs:string">
                        <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                      </xs:extension>
                    </xs:simpleContent>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku           the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="list-products" substitutionGroup="mule:abstract-message-processor" type="ListProductsType">
    <xs:annotation>
      <xs:documentation>Retrieve products list by filters. See catalog-product-list SOAP method.
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="ListProductsType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="filter" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional filtering expression - one or more comma-separated unary or binary predicates, one for each filter, in the form filterType(attributeName, value), for binary filters or filterType(attributeName), for unary filters, where filterType is istrue, isfalse or any of the Magento standard filters. Non-numeric values need to be escaped using simple quotes.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-product-special-price" substitutionGroup="mule:abstract-message-processor" type="UpdateProductSpecialPriceType">
    <xs:annotation>
      <xs:documentation>Sets a product special price. See catalog-product-setSpecialPrice SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateProductSpecialPriceType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="specialPrice" use="required" type="xs:string">
          <xs:annotation>
            <xs:documentation>the special price to set</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="fromDate" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional start date of the special price period</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="toDate" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>optional end date of the special price period</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element xmlns="http://www.mulesoft.org/schema/mule/magento" xmlns:mule="http://www.mulesoft.org/schema/mule/core" name="update-product" substitutionGroup="mule:abstract-message-processor" type="UpdateProductType">
    <xs:annotation>
      <xs:documentation>Updates a product. See catalog-category-updateProduct SOAP method
&lt;p/&gt;</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="UpdateProductType">
    <xs:complexContent>
      <xs:extension xmlns:mule="http://www.mulesoft.org/schema/mule/core" base="mule:abstractMessageProcessorType">
        <xs:sequence>
          <xs:element name="attributes" maxOccurs="1" minOccurs="1">
            <xs:annotation>
              <xs:documentation>the not empty map of product attributes to update</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:choice>
                <xs:sequence>
                  <xs:element name="attribute" maxOccurs="unbounded" minOccurs="0">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:extension base="xs:string">
                          <xs:attribute name="value-ref" use="optional" type="xs:string"></xs:attribute>
                          <xs:attribute name="key" type="xs:string"></xs:attribute>
                        </xs:extension>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded" minOccurs="0" processContents="lax"></xs:any>
                </xs:sequence>
              </xs:choice>
              <xs:attribute name="ref" use="optional" type="xs:string">
                <xs:annotation>
                  <xs:documentation>The reference object for this parameter</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
        <xs:attribute name="config-ref" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>Specify which configuration to use for this invocation.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute xmlns="http://www.mulesoft.org/schema/mule/magento" name="productId" use="optional" type="integerType">
          <xs:annotation>
            <xs:documentation>the id of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product id @param productIdOrSku    the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the sku of the product. Use it instead of productIdOrSku in case you are sure the product identifier is a product sku</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="productIdOrSku" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or sku of the product.</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="storeViewIdOrCode" use="optional" type="xs:string">
          <xs:annotation>
            <xs:documentation>the id or code of the target store. Left unspecified for using current store</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MediaMimeTypeEnumType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="JPEG"></xs:enumeration>
          <xs:enumeration value="GIF"></xs:enumeration>
          <xs:enumeration value="PNG"></xs:enumeration>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:pattern value="\#\[[^\]]+\]"></xs:pattern>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
</xs:schema>