HTTP POSTを使用したUploadFileサーブレットへのアセットのアップロード

Dynamic Media ClassicにPOSTをアップロードする場合は、アップロードしたファイルに関連付けられているすべてのログアクティビティを調整するためのジョブを設定する1つ以上のHTTPアセットリクエストが必要になります。

次のURLを使用して、UploadFileサーブレットにアクセスします。

https://<server>/scene7/UploadFile
メモ

アップロードPOSTに対するすべてのジョブリクエストは、同じIPアドレスから作成する必要があります。

Dynamic Media地域のアクセスURL

地理的位置

実稼動URL

ステージングURL(実稼動前の開発およびテストに使用)

北米

https://s7sps1ssl.scene7.com/scene7/UploadFile

https://s7sps1ssl-staging.scene7.com/scene7/UploadFile

ヨーロッパ、中東、アジア

https://s7sps3ssl.scene7.com/scene7/UploadFile

https://s7sps3ssl-staging.scene7.com/scene7/UploadFile

Japan/Asia Pacific

https://s7sps5ssl.scene7.com/scene7/UploadFile

https://s7sps5ssl-staging.scene7.com/scene7/UploadFile

アップロードジョブのワークフロー

アップロードジョブは、共通のjobHandleを使用して処理を同じジョブに関連付ける1つ以上のHTTP POSTで構成されます。 各要求はmultipart/form-dataエンコードされ、次のフォーム部分で構成されます。

メモ

アップロードPOSTに対するすべてのジョブリクエストは、同じIPアドレスから作成する必要があります。

HTTPPOSTフォーム部分 説明
auth 必須. 認証情報とクライアント情報を指定するXML authHeaderドキュメント。 SOAPの​Request authentication​を参照してください。
file params オプション. アップロードリクエストごとに、1つ以上のファイルを含めてPOSTできます。 uploadPostParams/fileNameパラメータが指定されていない場合、各ファイル部分のContent-Dispositionヘッダーにfilenameパラメータを含めることができます。このパラメータは、IPSでターゲットファイル名として使用されます。
HTTPPOSTフォーム部分 uploadPostParams要素名 種類 説明
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) companyHandle xsd:string 必須。ファイルのアップロード先の会社に対する処理。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) jobName xsd:string jobNameまたはjobHandleが必要です。 アップロードジョブの名前。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) jobHandle xsd:string jobNameまたはjobHandleが必要です。 前のリクエストで開始されたアップロードジョブの処理。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) locale xsd:string (オプション)ローカリゼーションの言語と国コード
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) description xsd:string (オプション)ジョブの説明。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) destFolder xsd:string (オプション)filenameプロパティにプレフィックスするターゲットフォルダーパス。特に、ファイル名のフルパスをサポートしないブラウザーや他のクライアントの場合に使用します。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) fileName xsd:string (オプション)ターゲットファイルの名前。 filenameプロパティを上書きします。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) endJob xsd:boolean (オプション)初期設定は false。
uploadParams (必須. アップロードパラメーターを指定するXML uploadParamsドキュメント) uploadParams types:UploadPostJob 既存のアクティブなジョブの後続のリクエストの場合はオプションです。 既存のジョブがある場合、uploadParamsは無視され、既存のジョブアップロードパラメーターが使用されます。 UploadPostJobを参照

<uploadPostParams>ブロック内には、インクルードされたファイルの処理を指定する<uploadParams>ブロックが含まれます。

UploadPostJobを参照してください。

uploadParamsパラメーターは、同じジョブの一部として個々のファイルに対して変更される可能性があると想定するかもしれませんが、そうではありません。 ジョブ全体に同じuploadParamsパラメーターを使用します。

新しいアップロードジョブの最初のPOSTリクエストでは、jobNameパラメーターを指定し、できれば一意のジョブ名を使用して、後続のジョブステータスポーリングとジョブログクエリを簡略化する必要があります。 同じアップロードジョブに対する追加のPOSTリクエストでは、最初のリクエストから返されたjobHandle値を使用して、jobNameではなくjobHandleパラメーターを指定する必要があります。

アップロードジョブの最終POSTリクエストでは、endJobパラメーターをtrueに設定して、今後、このジョブに対してPOSTされるファイルがないようにする必要があります。 これにより、すべてのPOST済みファイルが取り込まれた直後にジョブを完了できます。 そうしないと、30分以内に追加のPOSTリクエストを受信しない場合、ジョブはタイムアウトします。

UploadPOST応答

POSTリクエストが成功した場合、応答本文はXML uploadPostReturnドキュメントになります。XSDは以下で指定されています。

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

返されたjobHandleは、同じジョブに対する後続のPOSTリクエストのuploadPostParams/ jobHandleパラメーターに渡されます。 また、getActiveJobs操作でジョブステータスをポーリングしたり、getJobLogDetails操作でジョブのログを照会したりする場合にも使用できます。

POSTリクエストの処理中にエラーが発生した場合、応答本文はFaultsで説明されているAPI障害タイプの1つで構成されます。

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--

POST応答の例 — 成功

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>

POST応答の例 — エラー

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> 
 

このページ