ParcelDownload

Greg Kolinski edited this page Sep 20, 2017 · 1 revision

Back To Common API Calls


Download Parcel from InBox or Archive.

 public FileInfo ParcelDownload(string SessionID, long ParcelID)

Parameters:


Returns

FileInfo


Remarks

Downloads a complete Parcel from ECGrid as long as it has not been archived.

Once a Parcel has been successfully downloaded from the InBox the first time, ParcelDownloadConfirm() should be called to remove it from the pending download list.

If the payload is non-EDI data, uploaded with ParcelUploadEx() or ParcelUploadGZipEx(), then ParcelDownload() will automatically strip the envelope and restore the original file name.


Code Example

C#

using System.Xml;
using System.Web.Services.Protocols;
using ECGridService = <ProjectName>.net.ecgridos;

try
{
    using (ECGridService.ECGridOSAPIv3 ECGrid = new ECGridService.ECGridOSAPIv3())
    {
        try
        {
            string SessionID = "00000000-0000-0000-0000-000000000000";
            long ParcelID = 46446847;

            ECGridService.FileInfo ParcelDownloadFile = ECGrid.ParcelDownload(SessionID, ParcelID);

            // Write to String
            string ParcelString = Encoding.ASCII.GetString(ParcelDownloadFile.Content);

            // Write to File
            string LocalFilePath = Path.Combine(@"C:\EDI", ParcelDownloadFile.FileName);
            File.WriteAllBytes(LocalFilePath, ParcelDownloadFile.Content);

            // Or using FileStream
            using (FileStream fs = new FileStream(LocalFilePath, FileMode.Create, FileAccess.Write))
            {
                fs.Write(ParcelDownloadFile.Content, 0, ParcelDownloadFile.Bytes);
            }

        }
        catch (SoapException SoapEx)
        {
            // See SOAP Exceptions in the Appendix
            var ECG_Ex = CatchException(SoapEx);
            Console.WriteLine($"ECGridOS Soap Exception: {ECG_Ex.ErrorCode} , Item: {ECG_Ex.ErrorItem}, Message: {ECG_Ex.ErrorMessage}, String: {ECG_Ex.ErrorString}");
        }
    } // END USING
}
catch (Exception ex){ Console.WriteLine("Unhandled Exception: " + ex.ToString()); }

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /v3.2/prod/ecgridos.asmx HTTP/1.1
Host: ecgridos.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://ecgridos.net/ParcelDownload"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ParcelDownload xmlns="http://ecgridos.net/">
      <SessionID>string</SessionID>
      <ParcelID>long</ParcelID>
    </ParcelDownload>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ParcelDownloadResponse xmlns="http://ecgridos.net/">
      <ParcelDownloadResult>
        <ParcelID>long</ParcelID>
        <FileName>string</FileName>
        <FileDate>dateTime</FileDate>
        <Bytes>int</Bytes>
        <Standard>X12 or EDIFACT or TRADACOMS or VDA or XML or TXT or PDF or Binary</Standard>
        <Content>base64Binary</Content>
      </ParcelDownloadResult>
    </ParcelDownloadResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /v3.2/prod/ecgridos.asmx HTTP/1.1
Host: ecgridos.net
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <ParcelDownload xmlns="http://ecgridos.net/">
      <SessionID>string</SessionID>
      <ParcelID>long</ParcelID>
    </ParcelDownload>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <ParcelDownloadResponse xmlns="http://ecgridos.net/">
      <ParcelDownloadResult>
        <ParcelID>long</ParcelID>
        <FileName>string</FileName>
        <FileDate>dateTime</FileDate>
        <Bytes>int</Bytes>
        <Standard>X12 or EDIFACT or TRADACOMS or VDA or XML or TXT or PDF or Binary</Standard>
        <Content>base64Binary</Content>
      </ParcelDownloadResult>
    </ParcelDownloadResponse>
  </soap12:Body>
</soap12:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /v3.2/prod/ecgridos.asmx/ParcelDownload?SessionID=string&ParcelID=string HTTP/1.1
Host: ecgridos.net
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<FileInfo xmlns="http://ecgridos.net/">
  <ParcelID>long</ParcelID>
  <FileName>string</FileName>
  <FileDate>dateTime</FileDate>
  <Bytes>int</Bytes>
  <Standard>X12 or EDIFACT or TRADACOMS or VDA or XML or TXT or PDF or Binary</Standard>
  <Content>base64Binary</Content>
</FileInfo>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /v3.2/prod/ecgridos.asmx/ParcelDownload HTTP/1.1
Host: ecgridos.net
Content-Type: application/x-www-form-urlencoded
Content-Length: length

SessionID=string&ParcelID=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<FileInfo xmlns="http://ecgridos.net/">
  <ParcelID>long</ParcelID>
  <FileName>string</FileName>
  <FileDate>dateTime</FileDate>
  <Bytes>int</Bytes>
  <Standard>X12 or EDIFACT or TRADACOMS or VDA or XML or TXT or PDF or Binary</Standard>
  <Content>base64Binary</Content>
</FileInfo>

Back To Common API Calls

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.