Workflow van de uploadtaak

De uploadtaak bestaat uit een of meer HTTP POST's die een gemeenschappelijke jobHandle om de verwerking tot dezelfde taak te correleren. Elke aanvraag is multipart/form-data gecodeerd en bestaat uit de volgende formulieronderdelen:

NOTE
Alle verzoeken van de POST om een uploadbaan moeten van het zelfde IP adres voortkomen.
HTTP-POST maakt deel uit vanBeschrijving
authVereist. Een XML authHeader-document waarin verificatie- en clientgegevens zijn opgegeven. Zie Verificatie aanvragen krachtens SOAP.
file paramsOptioneel. U kunt een of meer bestanden opnemen om te uploaden bij elke aanvraag van een POST. Elk dossierdeel kan filename parameter in de inhoud-plaats kopbal omvatten die als doelfilename in IPS wordt gebruikt als geen uploadPostParams/fileName parameter wordt opgegeven.
HTTP-POST maakt deel uit vanuploadPostParams, elementnaamTypeBeschrijving
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)companyHandlexsd:stringVereist. Verwerk het bedrijf waarnaar het bestand wordt geüpload.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)jobNamexsd:stringWillekeurig jobName of jobHandle is vereist. Naam van de uploadtaak.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)jobHandlexsd:stringWillekeurig jobName of jobHandle is vereist. Afhandeling van een uploadtaak die in een vorige aanvraag is gestart.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)localexsd:stringOptioneel. Taal- en landcode voor lokalisatie.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)descriptionxsd:stringOptioneel. Beschrijving van de taak.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)destFolderxsd:stringOptioneel. Doelmappad naar voorvoegsel voor een bestandseigenschap, met name voor browsers en andere clients die mogelijk geen volledige paden in een bestandsnaam ondersteunen.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)fileNamexsd:stringOptioneel. Naam van het doelbestand. Hiermee wordt de eigenschap filename genegeerd.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)endJobxsd:booleanOptioneel. De standaardwaarde is false.
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters)uploadParamstypes:UploadPostJobOptioneel als dit een volgende aanvraag voor een bestaande actieve taak is. Als er een bestaande baan is, uploadParams wordt genegeerd en worden de bestaande taakuploadparameters gebruikt. Zie UploadPostJob

Binnen de <uploadPostParams> blok is <uploadParams> blok dat de verwerking van de inbegrepen dossiers aanwijst.

Zie UploadPostJob.

Terwijl u zou kunnen veronderstellen dat uploadParams parameter kan voor afzonderlijke bestanden worden gewijzigd als onderdeel van dezelfde taak, dat is niet het geval. Hetzelfde gebruiken uploadParams parameters voor de gehele taak.

In de eerste aanvraag voor een POST voor een nieuwe uploadtaak moet de instelling jobName parameter, bij voorkeur met gebruik van een unieke taaknaam om de opiniepeiling van de taakstatus en query's voor het taaklogboek te vereenvoudigen. Aanvullende verzoeken om POST voor dezelfde uploadtaak moeten de instelling jobHandle parameter in plaats van jobName, met de jobHandle waarde die door de oorspronkelijke aanvraag wordt geretourneerd.

In het laatste verzoek om POST voor een uploadtaak moet de instelling endJob parameter aan waar zodat geen toekomstige dossiers POSTed voor deze baan zijn. Hierdoor kan de taak direct worden voltooid nadat alle POST-bestanden zijn ingepakt. Anders wordt de taak beëindigd als er binnen 30 minuten geen verzoeken om extra POSTEN zijn ontvangen.

UploadPOST-reactie

Voor een succesvol verzoek van de POST, is het antwoordlichaam een XML uploadPostReturn document, zoals in de XSD-code hieronder wordt aangegeven:

<element name="uploadPostReturn">
        <complexType>
            <sequence>
                <element name="jobHandle" type="xsd:string"/>
            </sequence>
        </complexType>
    </element>

De jobHandle teruggekeerde is overgegaan in uploadPostParams/ jobHandle parameter voor alle volgende aanvragen van POSTEN voor dezelfde taak. U kunt de taakstatus ook opvragen met de getActiveJobs of om de taak te controleren die bij de getJobLogDetails bewerking.

Als er een fout optreedt bij het verwerken van het verzoek van de POST, bestaat de responsinstantie uit een van de API-fouttypen die worden beschreven in Standaardwaarden.

Voorbeeld POST request

POST /scene7/UploadFile HTTP/1.1
User-Agent: Jakarta Commons-HttpClient/3.1
Host: localhost
Content-Length: 362630
Content-Type: multipart/form-data; boundary=O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ

--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ
Content-Disposition: form-data; name="auth"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit

            <authHeader xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
                   <user>sampleuser@test.com</user>
                   <password>*</password>
                   <locale>en-US</locale>
                   <appName>MyUploadServletTest</appName>
                   <appVersion>1.0</appVersion>
                   <faultHttpStatusCode>200</faultHttpStatusCode>
           </authHeader>

--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ
Content-Disposition: form-data; name="uploadParams"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit

            <uploadPostParam xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
                <companyHandle>c|2101</companyHandle>
                <jobName>uploadFileServlet-1376682217351</jobName>
                <uploadParams>
                    <overwrite>true</overwrite>
                    <readyForPublish>true</readyForPublish>
                    <preservePublishState>true</preservePublishState>
                    <createMask>true</createMask>
                    <preserveCrop>true</preserveCrop>
                    <manualCropOptions>
                      <left>500</left>
                      <right>500</right>
                      <top>500</top>
                      <bottom>500</bottom>
                    </manualCropOptions>
                    <photoshopOptions>
                      <process>MaintainLayers</process>
                      <layerOptions>
                        <layerNaming>AppendNumber</layerNaming>
                        <anchor>Northwest</anchor>
                        <createTemplate>true</createTemplate>
                        <extractText>true</extractText>
                        <extendLayers>false</extendLayers>
                      </layerOptions>
                    </photoshopOptions>
                    <emailSetting>None</emailSetting>
                </uploadParams>
            </uploadPostParam>

--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--
Content-Disposition: form-data; name="file1"; filename="ApiTestCo1/UploadFileServlet1376682217351//1376682217351-1.jpg"
Content-Type: application/octet-stream; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<file bytes ... >
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--
Content-Disposition: form-data; name="file2"; filename="ApiTestCo1/UploadFileServlet1376682217351//1376682217351-2.jpg"
Content-Type: application/octet-stream; charset=ISO-8859-1
Content-Transfer-Encoding: binary
<file bytes ... >
--O9-ba7tieRtqA4QRSaVk-eDq6658SPrYfvUcJ--