Överföringsjobbets arbetsflöde
Överföringsjobbet består av en eller flera HTTP POST som använder en gemensam jobHandle
för att korrelera bearbetningen till samma jobb. Varje begäran är multipart/form-data
-kodad och består av följande formulärdelar:
Formulärdel för HTTP-POST | Beskrivning |
---|---|
auth | Obligatoriskt. Ett XML authHeader-dokument som anger autentisering och klientinformation. Se Begär autentisering under SOAP. |
file params | Valfritt. Du kan inkludera en eller flera filer som ska överföras vid varje begäran om POST. Varje fildel kan innehålla en filnamnsparameter i Content-Disposition-huvudet som används som målfilnamn i IPS om ingen uploadPostParams/fileName -parameter har angetts. |
Formulärdel för HTTP-POST | uploadPostParams-elementnamn | Typ | Beskrivning |
---|---|---|---|
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | companyHandle | xsd:string | Obligatoriskt. Hantera till det företag som filen överförs till. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | jobName | xsd:string | Antingen jobName eller jobHandle krävs. Namn på överföringsjobbet. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | jobHandle | xsd:string | Antingen jobName eller jobHandle krävs. Hantera ett överföringsjobb som har startats i en tidigare begäran. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | locale | xsd:string | Valfritt. Språk- och landskod för lokalisering. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | description | xsd:string | Valfritt. Beskrivning av jobbet. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | destFolder | xsd:string | Valfritt. Sökväg till målmappen om du vill lägga till prefix till en filename-egenskap, särskilt för webbläsare och andra klienter som inte har stöd för fullständiga sökvägar i ett filnamn. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | fileName | xsd:string | Valfritt. Målfilens namn. Åsidosätter filename-egenskapen. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | endJob | xsd:boolean | Valfritt. Standardvärdet är false. |
uploadParams (obligatoriskt. Ett XML uploadParams -dokument som anger överföringsparametrarna) | uploadParams | types:UploadPostJob | Valfritt om detta är en efterföljande begäran för ett befintligt aktivt jobb. Om det finns ett befintligt jobb ignoreras uploadParams och de befintliga jobböverföringsparametrarna används. Se UploadPostJob |
I blocket <uploadPostParams>
är det <uploadParams>
-block som anger bearbetningen av de inkluderade filerna.
Se UploadPostJob.
Du kan anta att parametern uploadParams
kan ändras för enskilda filer som en del av samma jobb, men så är inte fallet. Använd samma uploadParams
-parametrar för hela jobbet.
Den initiala POSTEN för ett nytt överföringsjobb bör ange parametern jobName
, helst med ett unikt jobbnamn för att förenkla efterföljande jobbstatusavsökningar och jobbloggfrågor. Ytterligare POSTER för samma överföringsjobb ska ange parametern jobHandle
i stället för jobName
, med det jobHandle
-värde som returneras från den ursprungliga begäran.
Den sista POSTEN för ett överföringsjobb ska ange parametern endJob
till true så att inga framtida filer POSTed för det här jobbet skickas. Detta innebär i sin tur att jobbet kan slutföras omedelbart efter att alla POSTed-filer har importerats. Annars går jobbet ut om inga fler begäranden om POST tas emot inom 30 minuter.
UploadPOST-svar
För en begäran om lyckad POST är svarstexten ett XML uploadPostReturn
-dokument, vilket anges i följande XSD:
<element name="uploadPostReturn">
<complexType>
<sequence>
<element name="jobHandle" type="xsd:string"/>
</sequence>
</complexType>
</element>
jobHandle
som returneras skickas i parametern uploadPostParams
/ jobHandle
för efterföljande POSTER för samma jobb. Du kan också använda den för att avfråga jobbstatus med åtgärden getActiveJobs
eller för att fråga jobbloggarna med åtgärden getJobLogDetails
.
Om det uppstår ett fel när POSTEN bearbetas består svarstexten av en av API-feltyperna som beskrivs i Felmeddelanden.
Exempelbegäran om POST
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--