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:
HTTP-POST maakt deel uit van | Beschrijving |
---|---|
auth | Vereist. Een XML authHeader-document waarin verificatie- en clientgegevens zijn opgegeven. Zie Verificatie aanvragen krachtens SOAP. |
file params | Optioneel. 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 van | uploadPostParams, elementnaam | Type | Beschrijving |
---|---|---|---|
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | companyHandle | xsd:string | Vereist. Verwerk het bedrijf waarnaar het bestand wordt geüpload. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | jobName | xsd:string | Willekeurig jobName of jobHandle is vereist. Naam van de uploadtaak. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | jobHandle | xsd:string | Willekeurig 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) | locale | xsd:string | Optioneel. Taal- en landcode voor lokalisatie. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | description | xsd:string | Optioneel. Beschrijving van de taak. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | destFolder | xsd:string | Optioneel. 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) | fileName | xsd:string | Optioneel. Naam van het doelbestand. Hiermee wordt de eigenschap filename genegeerd. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | endJob | xsd:boolean | Optioneel. De standaardwaarde is false. |
uploadParams (Vereist. Een XML uploadParams document met de uploadparameters) | uploadParams | types:UploadPostJob | Optioneel 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--