前のトピック: attachURLLinkToTicket次のトピック: removeAttachment


createAttachment

createAttachment メソッドでは、以下のパラメータを使用します。

パラメータ

データ タイプ

説明

SID

INTEGER

ログインにより取得したセッションを指定します。

repositoryHandle

STRING

ドキュメント リポジトリのオブジェクト ハンドルを指定します。

objectHandle

STRING

この添付ファイルを添付するコール リクエスト、変更要求、または案件のオブジェクト ハンドルを指定します。

このパラメータは NULL になる場合があります。NULL が渡された場合、添付ファイルはチケットに関連付けられていないため、返される添付ファイル ID を管理する必要があります。

description

STRING

添付オブジェクトの説明を指定します。

fileName

STRING

アップロードするファイルの完全パスを指定します。

説明

バックエンド サーバにファイルをアップロードします。 アップロードされたファイルは、repositoryHandleで指定したドキュメント リポジトリに保存されます。 添付オブジェクトが作成され、objectHandle で指定したチケット オブジェクトに添付されます。 添付オブジェクトには、リポジトリに新規アップロードされたファイルへのアクセス情報がすべて格納されています。

戻り値

createAttachment は以下の値を返します。

パラメータ

タイプ

説明

<Handle>

STRING

新しく作成された添付オブジェクトのオブジェクト ハンドルを示します。

操作を実行できませんでした。ポリシーの制限を超えています

症状

createAttachment() Web サービス メソッドを使用して、既存のリクエストまたはインシデントにドキュメントを添付すると、添付ファイルの Web サービス ポリシー設定が標準装備のデフォルト値である -1(無制限)に設定されている場合でも、このエラーが返されます。 受信した SOAP メッセージに添付ファイルがない場合には、createAttachment () を呼び出したときにこのエラーが返されることがあります。 createAttachment() Web サービス メソッドを呼び出す前に、SOAP メッセージに少なくとも 1 つのファイルを添付する必要があります。

解決方法

createAttachment() メソッドを呼び出す前に、Direct Internet Message Encapsulation(DIME)をサポートするように SOAP 実装を設定し、DIME サポートを使用して手動でアップロード対象のファイルを添付します。

DIME をサポートする方法の例については、$NX_ROOT¥samples¥sdk¥websvc¥java¥test3_attachments ディレクトリを参照してください。

例: Visual Basic .NET

以下のコード例は、createAttachment() Web サービス メソッドを呼び出す前に DIME サポートを使用してファイルを添付するサンプルの Visual Basic .NET コードを示しています。

Dim reqContext As SoapContext = objUSD_WS.RequestSoapContext
Dim dimeAttach As New DimeAttachment("image/gif",
TypeFormat.MediaType, "c:¥test.txt")
reqContext.Attachments.Add(dimeAttach)

strResult = objUSD_WS.createAttachment(sid, "doc_rep:1002",
"cr:400001", "my desc", "c:¥test.txt")

注: 前のサンプル コードで使用されている DIME 添付ファイル メソッドについては、Microsoft の Web サイトを参照してください。 ほかの言語によるプログラムについては、DIME をサポートする SOAP 実装のドキュメントを参照してください。

例: Java

以下のコード例は、createAttachment() Web サービス メソッドを呼び出す前に DIME サポートを使用してファイルを添付するサンプルの Java コードを示しています。

FileDataSource fds = new FileDataSource(filename);
DataHandler dhandler = new DataHandler(fds);
usd._setProperty(Call.ATTACHMENT_ENCAPSULATION_FORMAT,
Call.ATTACHMENT_ENCAPSULATION_FORMAT_DIME);
usd.addAttachment(dhandler);

String handle = usd.createAttachment(sid, repHandle, objHandle,
description, filename);