<?xml version="1.0" encoding="UTF-8"?>
<!--
 Web Services API : ERPToSFProductos
-->
<definitions targetNamespace="http://soap.sforce.com/schemas/class/ERPToSFProductos" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://soap.sforce.com/schemas/class/ERPToSFProductos">
 <types>
  <xsd:schema elementFormDefault="qualified" targetNamespace="http://soap.sforce.com/schemas/class/ERPToSFProductos">
   <xsd:element name="AllowFieldTruncationHeader">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="allowFieldTruncation" type="xsd:boolean"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="CallOptions">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="client" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="DebuggingHeader">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="categories" minOccurs="0" maxOccurs="unbounded" type="tns:LogInfo"/>
      <xsd:element name="debugLevel" type="tns:LogType"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:complexType name="LogInfo">
    <xsd:sequence>
     <xsd:element name="category" type="tns:LogCategory"/>
     <xsd:element name="level" type="tns:LogCategoryLevel"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="LogCategory">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Db"/>
     <xsd:enumeration value="Workflow"/>
     <xsd:enumeration value="Validation"/>
     <xsd:enumeration value="Callout"/>
     <xsd:enumeration value="Apex_code"/>
     <xsd:enumeration value="Apex_profiling"/>
     <xsd:enumeration value="Visualforce"/>
     <xsd:enumeration value="System"/>
     <xsd:enumeration value="All"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LogCategoryLevel">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Internal"/>
     <xsd:enumeration value="Finest"/>
     <xsd:enumeration value="Finer"/>
     <xsd:enumeration value="Fine"/>
     <xsd:enumeration value="Debug"/>
     <xsd:enumeration value="Info"/>
     <xsd:enumeration value="Warn"/>
     <xsd:enumeration value="Error"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="LogType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="None"/>
     <xsd:enumeration value="Debugonly"/>
     <xsd:enumeration value="Db"/>
     <xsd:enumeration value="Profiling"/>
     <xsd:enumeration value="Callout"/>
     <xsd:enumeration value="Detail"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name="DebuggingInfo">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="debugLog" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="SessionHeader">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="sessionId" type="xsd:string"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:simpleType name="ID">
    <xsd:restriction base="xsd:string">
     <xsd:length value="18"/>
     <xsd:pattern value="[a-zA-Z0-9]{18}"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CodigoProducto">
    <xsd:sequence>
     <xsd:element name="AnteriorCodProducto" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="NuevoCodProducto" minOccurs="0" type="xsd:string" nillable="true"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="Producto">
    <xsd:sequence>
     <xsd:element name="Activo" minOccurs="0" type="xsd:boolean" nillable="true"/>
     <xsd:element name="CodigoListaPrecios" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="CodProducto" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="CodProveedor" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="DescripcionCorta" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="DescripcionLarga" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="Empresa" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="Familia" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="Nombre" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="Precio" minOccurs="0" type="xsd:string" nillable="true"/>
     <xsd:element name="Subfamilia" minOccurs="0" type="xsd:string" nillable="true"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="Resultado">
    <xsd:sequence>
     <xsd:element name="CodError" minOccurs="0" type="xsd:int" nillable="true"/>
     <xsd:element name="DescripcionError" minOccurs="0" type="xsd:string" nillable="true"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType name="address">
    <xsd:complexContent>
     <xsd:extension base="tns:location">
      <xsd:sequence>
       <xsd:element name="city" type="xsd:string"/>
       <xsd:element name="country" type="xsd:string"/>
       <xsd:element name="countryCode" type="xsd:string"/>
       <xsd:element name="postalCode" type="xsd:string"/>
       <xsd:element name="state" type="xsd:string"/>
       <xsd:element name="stateCode" type="xsd:string"/>
       <xsd:element name="street" type="xsd:string"/>
      </xsd:sequence>
     </xsd:extension>
    </xsd:complexContent>
   </xsd:complexType>
   <xsd:complexType name="location">
    <xsd:sequence>
     <xsd:element name="latitude" type="xsd:double"/>
     <xsd:element name="longitude" type="xsd:double"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:element name="InsertUpdateProductos">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="Productos" minOccurs="0" maxOccurs="unbounded" type="tns:Producto" nillable="true"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="InsertUpdateProductosResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:Resultado" nillable="true"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="UpdateCodigoProducto">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="Productos" minOccurs="0" maxOccurs="unbounded" type="tns:CodigoProducto" nillable="true"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   <xsd:element name="UpdateCodigoProductoResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="result" type="tns:Resultado" nillable="true"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
  </xsd:schema>
 </types>
 <!-- Message for the header parts -->
 <message name="Header">
  <part name="AllowFieldTruncationHeader" element="tns:AllowFieldTruncationHeader"/>
  <part name="CallOptions" element="tns:CallOptions"/>
  <part name="DebuggingHeader" element="tns:DebuggingHeader"/>
  <part name="DebuggingInfo" element="tns:DebuggingInfo"/>
  <part name="SessionHeader" element="tns:SessionHeader"/>
 </message>
 <!-- Operation Messages -->
 <message name="InsertUpdateProductosRequest">
  <part element="tns:InsertUpdateProductos" name="parameters"/>
 </message>
 <message name="InsertUpdateProductosResponse">
  <part element="tns:InsertUpdateProductosResponse" name="parameters"/>
 </message>
 <message name="UpdateCodigoProductoRequest">
  <part element="tns:UpdateCodigoProducto" name="parameters"/>
 </message>
 <message name="UpdateCodigoProductoResponse">
  <part element="tns:UpdateCodigoProductoResponse" name="parameters"/>
 </message>
 <portType name="ERPToSFProductosPortType">
  <operation name="InsertUpdateProductos">
   <input message="tns:InsertUpdateProductosRequest"/>
   <output message="tns:InsertUpdateProductosResponse"/>
  </operation>
  <operation name="UpdateCodigoProducto">
   <input message="tns:UpdateCodigoProductoRequest"/>
   <output message="tns:UpdateCodigoProductoResponse"/>
  </operation>
 </portType>
 <binding name="ERPToSFProductosBinding" type="tns:ERPToSFProductosPortType">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="InsertUpdateProductos">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:header use="literal" part="DebuggingHeader" message="tns:Header"/>
    <soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:header use="literal" part="DebuggingInfo" message="tns:Header"/>
    <soap:body use="literal"/>
   </output>
  </operation>
  <operation name="UpdateCodigoProducto">
   <soap:operation soapAction=""/>
   <input>
    <soap:header use="literal" part="SessionHeader" message="tns:Header"/>
    <soap:header use="literal" part="CallOptions" message="tns:Header"/>
    <soap:header use="literal" part="DebuggingHeader" message="tns:Header"/>
    <soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/>
    <soap:body use="literal" parts="parameters"/>
   </input>
   <output>
    <soap:header use="literal" part="DebuggingInfo" message="tns:Header"/>
    <soap:body use="literal"/>
   </output>
  </operation>
 </binding>
 <service name="ERPToSFProductosService">
  <documentation></documentation>
  <port binding="tns:ERPToSFProductosBinding" name="ERPToSFProductos">
   <soap:address location="https://cs80.salesforce.com/services/Soap/class/ERPToSFProductos"/>
  </port>
 </service>
</definitions>