[DynamicsAX2009]AIFファイル上限値とその解除
デフォルト上限値の設定とエラー内容 DynamicsAXのAIFは外部ファイルとのやり取りを行うインターフェースの一つです。
外部ファイルとのやり取り時、明示されてはいませんがファイルサイズの上限値があります。
デフォルトでは10MBに設定されています。
これを超えるファイルのやり取りをAIFで行おうとすると下記エラーがイベントログに出力されます。
The adapter is unable to send the following message to Microsoft Dynamics AX:
MessageId: XXXXXXXX-1111-AAAA-9999-ZZZZZZZZZZZZ
Error: Error executing code: Insufficient memory to run script.
Error executing code: object not initialized.
(C)\Classes\processRequest
-————————————————————————-
Product Version : 5.0
Assembly Version : 5.0.0.0
Class : AppEventLog
Method : WriteLocalizedError
Subsystem : BizTalkDynamicsAdapter
-————————————————————————-
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
上限設定変更もしくは解除方法 レジストリを編集することで解除 or 上限値変更が出来ます。
regeditを起動します。
[DynamicsAX2009]DocumentServiceClassのアップデート
AIFサービスのベースになっているテーブルの定義変更をした場合に
DocumentServiceClassのアップデートを行わなければならない。
Query復元 AOTのQueryオブジェクト上で **Restore **を実行
Document Service の更新 AxClass より parm Method と set Method を消去する Ax ClassをAOT上で表示し、フィールド一覧を展開し、表示する。
変更フィールド名称が含まれている parm Method を消去する。
変更フィールド名称が含まれている set Method を消去する。
例)
Fooテーブルの Barフィールドに変更を加えたのなら、
AxFoo ClassのparmBarメソッドを消去し、
setBarメソッドを消去する。
Update document serviceを実行する Tool > Development tools > Application Integration Framework > Update document service を起動する。
Service class name で サービス名を選択する。
変更内容がフィールドの削除だった場合は
Regenerate data object classes にのみチェックを入れる。
変更内容がフィールドの変更ないしは、追加だった場合は、
Update AxBC classes にもチェックを入れる。
OKを押す。
終わった後に ServiceのRefresh、
AOTのノードでのCompile & Synchronize を実行する。