Click or drag to resize

CFX.InformationSystem.DataTransfer Namespace

CFX Topic implemented by enterprise information systems (such as an MES or ERP system) and other types of endpoints capable of performing secure data transfer. For example, endpoints capable of exchanging IPC-2581 (DPMX) design data implement the messages of this topic.
Classes
 ClassDescription
Public classFileTransferRequest

** NOTE: ADDED in CFX 1.4 **

Sent by an endpoint to another endpoint to initiate a file transfer. File transfers may proceed either from the initiator/requester to the recipient (PUSH Mode), OR from recipient to initiator/requester (PULL Mode). File transfers may also be "In-Band", meaning that the file data payload is included in the CFX message directly and transferred via the AMQP protocol. OR, they may be "Out-of-Band", meaning that a secure link to the data file is passed via the CFX message over AMQP protocol, and a secondary protocol (such as HTTPS or SFTP) is then used to transfer the file data payload, independent of the AMQP message stream. When in PUSH mode, the FileTransferRequest will either contain the In-Band file data payload, or an Out-Of-Band secure link. When in PULL mode, the FileTransferResponse will contain the In-Band file data payload, or an Out-Of-Band secure link.

In-Band file transfers should only be used for small data files. Many AMQP message broker platforms limit the maximum total message size of an AMQP message. Microsoft's Azure message bus, for example, limits messages to 256KB for a standard subscription, and 1MB for a premium subscription. RabbitMQ recommends limiting messages to 128MB or less. Use OutOfBand transfer for larger file sizes.

Out-of-Band PULL Example:

{
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferDirection": "Pull",
  "TransferMode": "OutOfBand",
  "File": null
}
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferMode": "OutOfBand",
  "File": {
    "FileType": "DPMX",
    "MimeType": null,
    "FileData": null,
    "FileURL": "https://jsmith:Pa$$w0rd@designserver1.mydomain.com"
  }
}

Out-of-Band PUSH Example:

{
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferDirection": "Push",
  "TransferMode": "OutOfBand",
  "File": {
    "FileType": "DPMX",
    "MimeType": null,
    "FileData": null,
    "FileURL": "https://jsmith:Pa$$w0rd@designserver1.mydomain.com"
  }
}
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferMode": "OutOfBand",
  "File": null
}
Public classFileTransferResponse

** NOTE: ADDED in CFX 1.4 **

Sent by an endpoint in response to a FileTransferRequest. File transfers may proceed either from the initiator/requester to the recipient (PUSH Mode), OR from recipient to initiator/requester (PULL Mode). File transfers may also be "In-Band", meaning that the file data payload is included in the CFX message directly and transferred via the AMQP protocol. OR, they may be "Out-of-Band", meaning that a secure link to the data file is passed via the CFX message over AMQP protocol, and a secondary protocol (such as HTTPS or SFTP) is then used to transfer the file data payload, independent of the AMQP message stream. When in PUSH mode, the FileTransferRequest will either contain the In-Band file data payload, or an Out-Of-Band secure link. When in PULL mode, the FileTransferResponse will contain the In-Band file data payload, or an Out-Of-Band secure link.

In-Band file transfers should only be used for small data files. Many AMQP message broker platforms limit the maximum total message size of an AMQP message. Microsoft's Azure message bus, for example, limits messages to 256KB for a standard subscription, and 1MB for a premium subscription. RabbitMQ recommends limiting messages to 128MB or less. Use OutOfBand transfer for larger file sizes.

Out-of-Band PULL Example:

{
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferDirection": "Pull",
  "TransferMode": "OutOfBand",
  "File": null
}
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferMode": "OutOfBand",
  "File": {
    "FileType": "DPMX",
    "MimeType": null,
    "FileData": null,
    "FileURL": "https://jsmith:Pa$$w0rd@designserver1.mydomain.com"
  }
}

Out-of-Band PUSH Example:

{
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferDirection": "Push",
  "TransferMode": "OutOfBand",
  "File": {
    "FileType": "DPMX",
    "MimeType": null,
    "FileData": null,
    "FileURL": "https://jsmith:Pa$$w0rd@designserver1.mydomain.com"
  }
}
{
  "Result": {
    "Result": "Success",
    "ResultCode": 0,
    "Message": "OK"
  },
  "FileTitle": "IPC_2581_DPMX_DesignData_Example1.xml",
  "FileLocation": "\\DesignDataRoot\\Folder1",
  "TransferMode": "OutOfBand",
  "File": null
}