How to get data from URI
You should have schema of request like below
private string CreateXMLRequestGetAvailableImages(string ProNumber)
{
string XMLRequest = string.Empty;
XMLRequest = @"
xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
";
return XMLRequest;
}
----------------
Main function
---------------------
private byte[] GetByteCode(ShipmentsML shipment)
{
Uri InitUrl = new Uri("https://webservices.averittexpress.com/SendWebImageService");
byte[] imageData = null;
try
{
#region Authentication
CarrierUserML cUser = new CarrierUserML();
CarriersDAL cDal = new CarriersDAL();
cUser = cDal.GetCarrierCredentials(shipment.CreatedBy.Value, shipment.CarrierId.Value);
System.Net.NetworkCredential myCred = new System.Net.NetworkCredential();
myCred.UserName = cUser.UserName;
myCred.Password = cUser.Password;
#endregion
// Set up the HTTP Request
HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(InitUrl);
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(CreateXMLRequestGetAvailableImages(shipment.ProNumber));
wReq.ContentType = "text/xml; encoding='utf-8'";
wReq.Method = "POST";
wReq.Timeout = 10000;
wReq.KeepAlive = false;
// NetworkCredential myCred = new NetworkCredential("Progressp", "Edward42");
CredentialCache myCache = new CredentialCache();
myCache.Add(InitUrl, "Basic", myCred);
wReq.Credentials = myCache;
wReq.PreAuthenticate = true;
Stream requestStream = wReq.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)wReq.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
var xmlResponse = XDocument.Parse(reader.ReadToEnd());
var responseData = from r in xmlResponse.Descendants("return") select r;
foreach (var item in responseData)
{
imageData = Convert.FromBase64String(item.Value);
}
}
}
catch (Exception ex)
{
throw;
}
return imageData;
}
Comments
Post a Comment