Elementen uploaden via HTTP POST's naar de UploadFile-server uploading-assets-by-way-of-http-posts-to-the-uploadfile-servlet
Bij het uploaden van middelen naar Dynamic Media Classic zijn een of meer HTTP-POSTEN vereist die een taak instellen om alle logactiviteiten te coördineren die aan de geüploade bestanden zijn gekoppeld.
Gebruik de volgende URL om toegang te krijgen tot de UploadFile-server:
https://<server>/scene7/UploadFile
Toegang tot URL's voor Dynamic Media-regio's
Workflow van de uploadtaak section-873625b9512f477c992f5cdd77267094
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:
auth
file params
uploadPostParams/fileName
parameter wordt opgegeven.uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)companyHandle
xsd:string
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)jobName
xsd:string
jobName
of jobHandle
is vereist. Naam van de uploadtaak.uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)jobHandle
xsd:string
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
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)description
xsd:string
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)destFolder
xsd:string
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)fileName
xsd:string
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)endJob
xsd:boolean
uploadParams
(Vereist. Een XML uploadParams
document met de uploadparameters)uploadParams
types:UploadPostJob
uploadParams
wordt genegeerd en worden de bestaande taakuploadparameters gebruikt. Zie UploadPostJobBinnen 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 section-421df5cc04d44e23a464059aad86d64e
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 section-810fe32abdb9426ba0fea488dffadd1e
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--
Respons POST voorbeeld - succes section-0d515ba14c454ed0b5196ac8d1bb156e
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 204
Date: Mon, 25 Jul 2016 19:43:38 GMT
Server: Unknown
'1.0' encoding='UTF-8'?><uploadPostReturn xmlns="http://www.scene7.com/IpsApi/xsd/2014-04-03">
<jobHandle>j|2101||uploadFileServlet-1376682217351|54091</jobHandle>
</uploadPostReturn>
Respons POST voorbeeld - fout section-efc32bb371554982858b8690b05090ec
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Content-Length: 210
Date: Mon, 25 Jul 2016 19:43:38 GMT
Server: Unknown
<?xml version='1.0' encoding='UTF-8'?><tns:authenticationFault xmlns:tns="http://www.scene7.com/IpsApi/xsd"><tns:code>10001</tns:code><tns:reason>Invalid username/password</tns:reason></tns:authenticationFault>