Источник:
http://daxonline.org/1616-aif-docume...jobs-info.html
==============
Job to execute/process messages
static void AifTestRun(Args _args){ // inbound messages new AIFGatewayReceiveService().run(); new AIFInboundProcessingService().run(); // outbound messages new AIFOutboundProcessingService().run(); new AIFGatewaySendService().run(); info("done");}Example of "read" outbound:static void AifTest(Args _args){ AxdSendContext axdSendContext = AxdSendContext::construct(); AifEntityKey aifEntityKey = AifEntityKey::construct(); Map keyData; AifConstraintList aifConstraintList = new AifConstraintList(); AifConstraint aifConstraint = new AifConstraint(); VendInvoiceInfoTable vendInvoice; XMLDocPurpose _xMLDocPurpose = XMLDocPurpose::Original; AifSendMode _aifSendMode = AifSendMode::Async ; select firstOnly vendInvoice order by RecId desc where vendInvoice.PurchId == 'BHF-000060'; keyData = SysDictTable::getKeyData(vendInvoice); aifEntityKey.parmTableId(vendInvoice.TableId); aifEntityKey.parmRecId(vendInvoice.RecId); aifEntityKey.parmKeyDataMap(keyData); axdSendContext.parmXMLDocPurpose(_xMLDocPurpose); axdSendContext.parmSecurity(false); aifConstraint.parmType(AifConstraintType::NoConstraint) ; aifConstraintList.addConstraint(aifConstraint) ; AifSendService::submitDefault( classnum(VendInvoiceService), aifEntityKey, aifConstraintList, _aifSendMode, axdSendContext.pack()); info("done");}Example of "find" outbound. Export all records by query:static void ABIVend(Args _args){ VendTable vendTable; AxdSendContext axdSendContext = AxdSendContext::construct(); AifEntityKey aifEntityKey = AifEntityKey::construct(); AifConstraintList aifConstraintList = new AifConstraintList(); AifConstraint aifConstraint = new AifConstraint(); AifEndpointList endpointList; AifActionId actionId; Query query; QueryBuildDataSource qbds; query = new Query(queryStr(AxdVendTable)); AxdSend::removeChildDs(query); actionId = AifSendService::getDefaultSendAction(classnum(VendVendTableService), AifSendActionType::SendByQuery); aifConstraint.parmType(AifConstraintType::NoConstraint); aifConstraintList.addConstraint(aifConstraint) ; endpointList = AifSendService::getEligibleEndpoints(actionId, aifConstraintList); AifSendService::SubmitFromQuery(actionId,endpointList,query,AifSendMode::Async);}In case of changes and adding new services:
- Forward compile of modified AxBC class
- Incremental CIL
- Restart AOS
- AX Client config > tab:Connection >button:Refresh configuration
Also form AifService which is not available from menu. Open click Refresh button.
For error System Administration -> Periodic -> Services and Application Integration Framework -> Exceptions
// Note: For debugging
\Classes\AifInboundProcessingService\runAsUserInPartition
File name generation for a file adapter
\Classes\AifFileSystemSendAdapter\getNewOutFileName
Источник:
http://daxonline.org/1616-aif-docume...jobs-info.html