EDIdEv - Electronic Data Interchange Development      EDIdEv


 
EDI Transmission

  EDI Tool for Developers

(You must have EDIdEv Framework EDI - installed on your machine to run the programs successfully.  An evaluation copy can be downloaded at www.edidev.com.)

The Internet has brought about more methods of file transmission opening up different ways for companies to send and receive EDI files. Below are short descriptions of different file transport protocols and how Framework EDI supports them:


Dial-Up

This is the earlier and traditional way of sending and receiving EDI files before the Internet became popular.  Communications would normally be over dedicated lines directly between trading partner or through a VAN (Value-Added-Network).  But, because setting up a host server would require many modems and an application server that required complex maintenance, only large companies were able to provide dial-up service.  Their servers would act like electronic post-offices, which provided mailboxes where companies could send outgoing or check for incoming EDI files.  (Please note that Framework EDI has no method or function to support dial-up protocols.)


SMTP or email

Email over the Internet provides for a less expensive and simple means of sending and receiving EDI files.  However, EDI files are less secure if sent by email over the Internet, and the size of an account's mailbox limits the size of EDI files one can send.  Also, email generally requires a user to retrieve an attached message, which is not in accordance to the EDI definition of having no human intermediary.

Below is an example of how one can use the Framework EDI component to send an EDI file by SMTP:

' Send by SMTP
Set oTransport = oTransports.CreateTransport

' Set required parameters for email
oTransport.SetSMTP
Set oSmtpCfg = oTransport.GetSmtpCfg
oSmtpCfg.ServerName = ""smtp.maildomain.com""
oSmtpCfg.User = "useracountid"
oSmtpCfg.Password = "accountpassword"
oSmtpCfg.AddTo ("UserTo")
oSmtpCfg.From = "UserFrom@domain.com"
oSmtpCfg.FromDisplay = "UserFirst UserLastname"
oSmtpCfg.Subject = "Subject Title"
oSmtpCfg.MessageText = "Message Body. EDI file attached"
oTransport.Send sEdiFile


FTP

With FTP communication servers becoming affordable, and easier to set up and operate, the FTP protocol has become one of, if not the most popular way of sending and receiving files.  Trading partners can easily set up their own FTP server and have their EDI files directly uploaded to them.  However, with FTP, files can only be sent to folders (or directories), which wait to get polled for processing, therefore the receipts of EDI files are not immediately acknowledged to inform the sender whether its files have been received or not.  

Below is an example of how one can send and receive EDI files by FTP with the Framework EDI component:

' Send by FTP
Set oTransport = oTransports.CreateTransport
oTransport.SetFTP 
oTransport.Address = "www.domain.name"
oTransport.Password = "password"
oTransport.User = "username"
oTransport.TargetPath = "/inboundfolder/"
oTransport.Send sEdiFile

' Receive by FTP
Set oTransport = oTransports.CreateTransport
oTransport.SetFTP 
oTransport.Address = "www.domain.name"
oTransport.Password = "password"
oTransport.User = "username"
oTransport.TargetPath = "/inboundfolder/"
oTransport.Receive sEdiFile

  • TransportFTP - Download an example program in VB6 that sends an EDI file by FTP. 

  • ReceiveFTP - Download an example program in VB6 that gets an EDI file by FTP.


HTTP or HTTPS
With nearly every company owning a Web Site and a Web Server, the HTTP server is the most available of all communication servers, but yet only a handful of companies take advantage of this powerful and almost free resource for sending and receiving EDI files.  Just like the FTP server, the HTTP server is inexpensive and is easy to set up; but unlike the FTP protocol, which is limited to sending files to folders, the HTTP protocol allows one to send a file straight to a program (destination application).  This makes it possible to have a destination application acknowledge back to the sender an EDI acknowledgment (TA1, 997 or CONTRL) immediately after it receives an EDI file.

Below are sample programs that demonstrate how one can send an EDI file securely using HTTPS and get an acknowledgment back immediately.

  • SendHttpAckTa1.zip - Download an example program written in VB6 that sends an EDI X12 file by HTTPS to our server and immediately receives a TA1 acknowledgment.  (The TA1 is an EDI file that acknowledges whether an Interchange has been accepted or rejected.)

  • EdiServer.zip - Download an example program of a destination application written in VB .NET.  This is an ASP .NET program that receives EDI files posted to it, and then generates and sends a TA1 file acknowledgment back to the sender synchronously .


EDIINT AS2

EDIINT AS2 is basically a more sophisticated version of the above HTTP file exchange, but more complicated because of the extra standards it introduces over the HTTP protocol responses, and message format wrapped over the EDI standard.  The AS2 protocol is not specific to EDI files only, so another acknowledgment called the MDN is used to acknowledge receipt of AS2 files.  The extra layers in AS2 that are not related to EDI make this protocol cumbersome and difficult to implement, and can become expensive if certification and support maintenance are required.

  • To run and download an ASP .NET example program that sends an AS2 message to our test AS2 server, click here.  (Source code for the ASP .NET AS2 Server sample program is included in the Framework EDI Enterprise License only, or email support@edidev.com to request for it.)

Below are sample programs in VB6 to demonstrate how to use the FREDI-COM to send and receive AS2 messages.  In our example, the sample client application will send an AS2 message to an AS2 server program located on one of our computers, which will reply back to the client with an MDN.

  • As2Client - Download an example AS2 client application program with source code (written in VB6).  (This AS2 client can be used to send AS2 messages to the sample DefaultAs2Server program below.)
  • DefaultAs2Server - Download an example AS2 Server application program with source code  (written in VB6 using the FREDI-ISAPI included only in the Enterprise License).  This AS2 server demonstrates how one can receive AS2 messages and validate the EDI files contained in them before acknowledging with an MDN while in a synchronous connection.  

Below are sample programs in VB6 to show how one can use the component to create and import security certificates.

  • CreateCert - Creates a key container, certificate store and a certificate file.
  • ImportCert - Imports a security certificate.

Click here to download Framework EDI 

 

Frequently Asked Questions

Q.  Is it possible to send and receive AS2 messages with only the Framework EDI Professional License (without using the Enterprise License)?
A.  Yes, it is possible to send and receive AS2 messages with the Framework EDI Professional License.  However, utilities such as the eSecurity Console and ISAPI Extension Console that are only available in the Enterprise License help make AS2 development much easier.

Q.  Can the security certificates created by Framework EDI be used in a production environment?
A.  We don't recommend it because these security certificates are not trusted, or have not been specifically assigned to you, which means that it could be possible for someone else to create the same certificate you may have created for yourself.  Creating your own certificates (not trusted) should be limited to testing environments only.

Q.  Is the Framework EDI AS2 functionality certified by Drummond?
A.  No, we have not sought for Drummond certification.  The functionalities in our component have not been limited or restricted to AS2 making it possible to create other message standards exchanged over HTTP (such as NAESB) with the Framework EDI component.

EDIdEv provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. EDIdEv  support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.

  Home

  Evaluate Framework EDI

  Source Code Examples
    HIPAA EDI
    Business X12 EDI
    Education X12 EDI
    Web EDI Application
    UN/EDIFACT EDI
    Useful EDI Programs
    .NET
    Security X12.58
    EDI Transmission <

  Purchase

  Support

  About EDIdEv LLC

 

EDIdEv - EDI Development
www.edidev.com