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

最終更新日: 2022-11-11
  • 作成対象:
  • Developer
    Admin

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

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

日本/アジア太平洋

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

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

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

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

メモ

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

HTTPPOSTフォーム部分 説明
auth 必須. 認証情報とクライアント情報を指定する XML authHeader ドキュメント。 詳しくは、 認証をリクエスト under SOAP.
file params オプション. アップロードリクエストごとに、1 つ以上のファイルを含めてPOSTできます。 各ファイル部分には、Content-Disposition ヘッダーに filename パラメータを含めることができます。指定しない場合は、IPS でターゲットファイル名として使用されます。 uploadPostParams/fileName パラメーターが指定されています。
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 パラメーターの代わりに jobNamejobHandle 最初のリクエストから返された値。

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

UploadPOST 応答

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

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

この jobHandle 返された uploadPostParams/ jobHandle 同じジョブに対する以降のPOSTリクエストのパラメーター。 また、 getActiveJobs 操作を実行するか、 getJobLogDetails 操作。

POSTリクエストの処理中にエラーが発生した場合、応答本文は、 障害.

サンプルの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>

このページ