private void SendOutfittingData_i()
{
try
{
MessageHeader header;
String schema;
StringBuilder outfittingMessage = new StringBuilder();
// fill the header
header = new MessageHeader()
{
SoftwareName = "ED-IBE (API)",
SoftwareVersion = VersionHelper.Parts(System.Reflection.Assembly.GetExecutingAssembly().GetName().Version, 3),
GatewayTimestamp = DateTime.Now.ToString("s", CultureInfo.InvariantCulture) + DateTime.Now.ToString("zzz", CultureInfo.InvariantCulture),
UploaderID = UserIdentification()
};
// fill the schema : test or real ?
if((m_lDBCon.getIniValue(IBE.EDDN.EDDNView.DB_GROUPNAME, "Schema", "Real", false) == "Test") || (Program.actualCondition.GameversionIsBeta))
schema = "http://schemas.elite-markets.net/eddn/outfitting/2/test";
else
schema = "http://schemas.elite-markets.net/eddn/outfitting/2";
do
{
// create full message
outfittingMessage.Clear();
outfittingMessage.Append(String.Format("{{" +
" \"header\" : {0}," +
" \"$schemaRef\": \"{1}\","+
" {2}" +
"}}",
JsonConvert.SerializeObject(header, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }),
schema,
_Send_Outfitting.Dequeue().ToString()));
using (var client = new WebClient())
{
try
{
Debug.Print(outfittingMessage.ToString());
client.UploadString("http://eddn-gateway.elite-markets.net:8080/upload/", "POST", outfittingMessage.ToString());
m_OutfittingSendingError = false;
DataTransmittedEvent.Raise(this, new DataTransmittedEventArgs(enTransmittedTypes.Outfitting_V2, enTransmittedStates.Sent));
}
catch (WebException ex)
{
_logger.Log("Error uploading json (outfitting)");
_logger.Log(ex.ToString());
_logger.Log(ex.Message);
_logger.Log(ex.StackTrace);
if (ex.InnerException != null)
_logger.Log(ex.InnerException.ToString());
using (WebResponse response = ex.Response)
{
using (Stream data = response.GetResponseStream())
{
if (data != null)
{
StreamReader sr = new StreamReader(data);
m_OutfittingSendingError = true;
DataTransmittedEvent.Raise(this, new DataTransmittedEventArgs(enTransmittedTypes.Outfitting_V2, enTransmittedStates.Error));
_logger.Log("Error while uploading outfitting data to EDDN : " + sr.ReadToEnd());
}
}
}
}
finally
{
client.Dispose();
}
}
} while (_Send_Outfitting.Count > 0);
}
catch (Exception ex)
{
_logger.Log("Error uploading Json (outfitting)");
_logger.Log(ex.ToString());
_logger.Log(ex.Message);
_logger.Log(ex.StackTrace);
if (ex.InnerException != null)
_logger.Log(ex.InnerException.ToString());
CErr.processError(ex, "Error in EDDN-Sending-Thread (outfitting)");
}
}