-
Notifications
You must be signed in to change notification settings - Fork 2
ParcelDownload
Download Parcel from InBox or Archive as Base64Array.
public long ParcelDownload(string SessionID,
long ParcelID)
long
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.
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()); }
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /v4.1/prod/ECGridOS.asmx HTTP/1.1
Host: os.ecgrid.io
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://os.ecgrid.io/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="https://os.ecgrid.io/">
<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="https://os.ecgrid.io/">
<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 or PEPPOL</Standard>
<Content>base64Binary</Content>
<ContentBase64String>string</ContentBase64String>
<routerArchive>boolean</routerArchive>
</ParcelDownloadResult>
</ParcelDownloadResponse>
</soap:Body>
</soap:Envelope>
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /v4.1/prod/ECGridOS.asmx HTTP/1.1
Host: os.ecgrid.io
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="https://os.ecgrid.io/">
<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="https://os.ecgrid.io/">
<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 or PEPPOL</Standard>
<Content>base64Binary</Content>
<ContentBase64String>string</ContentBase64String>
<routerArchive>boolean</routerArchive>
</ParcelDownloadResult>
</ParcelDownloadResponse>
</soap12:Body>
</soap12:Envelope>
The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.
GET /v4.1/prod/ECGridOS.asmx/ParcelDownload?SessionID=string&ParcelID=string HTTP/1.1
Host: os.ecgrid.io
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<FileInfo xmlns="https://os.ecgrid.io/">
<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 or PEPPOL</Standard>
<Content>base64Binary</Content>
<ContentBase64String>string</ContentBase64String>
<routerArchive>boolean</routerArchive>
</FileInfo>
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /v4.1/prod/ECGridOS.asmx/ParcelDownload HTTP/1.1
Host: os.ecgrid.io
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="https://os.ecgrid.io/">
<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 or PEPPOL</Standard>
<Content>base64Binary</Content>
<ContentBase64String>string</ContentBase64String>
<routerArchive>boolean</routerArchive>
</FileInfo>
Getting Started
- Getting Started - Basics
- Getting Started - Extended Capabilities
- HTTP Connections
- Visual Studio SOAP Connections
- About ECGridOS and Loren Data Corp.
- Documentation & Nomenclature
- Using Web Services
- Networks & Mailboxes
- Users & Authorization Levels
- API Keys & Sessions
- Trading Partners & ECGridIDs
- Interconnects & Trading Partnerships
- Parcels, Interchanges & Mailbags
- Carbon Copies
ECGridOS API Calls
- API Calls - Full Definitions Available
- Asynchronous API Calls - Events
- Asynchronous API Calls - Task\Async\Await