88 lines
3.7 KiB
C#
88 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Net;
|
|
using System.IO;
|
|
|
|
namespace EseguiMotorePrometeia
|
|
{
|
|
//EseguiMotorePrometeia.exe serverPrometeia portaServerPrometeia pathInput pathOnput tipoTracciato hp alfa
|
|
//EseguiMotorePrometeia.exe vmcolpra 9875 D:\BatchSEI\C6\input\input.txt D:\BatchSEI\C6\output\output 13 63 99
|
|
class EseguiMotorePrometeia
|
|
{
|
|
static int Main(string[] args)
|
|
{
|
|
try
|
|
{
|
|
string serverPrometeia = args[0];
|
|
string portaServerPrometeia = args[1];
|
|
string pathInput = args[2];
|
|
string pathOnput = args[3];
|
|
string tipoTracciato = args[4];
|
|
string hp = args[5];
|
|
string alfa = args[6];
|
|
StringBuilder xml = new StringBuilder();
|
|
xml.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
|
|
xml.Append("<methodCall>");
|
|
xml.Append("<methodName>riskengine.perform</methodName>");
|
|
xml.Append("<params>");
|
|
xml.Append("<param>");
|
|
xml.Append("<value>");
|
|
xml.Append("<string>");
|
|
xml.Append("<![CDATA[");
|
|
xml.Append("<messaggio>");
|
|
xml.Append("<testata>C6</testata>");
|
|
xml.Append("<richiesta03>");
|
|
xml.Append("<fileIn>" + pathInput + "</fileIn>");
|
|
xml.Append("<fileOut>" + pathOnput + "</fileOut>");
|
|
xml.Append("<tipoTracciato>" + tipoTracciato + "</tipoTracciato>");
|
|
xml.Append("<hp>" + hp + "</hp>");
|
|
xml.Append("<alfa>" + alfa + "</alfa>");
|
|
xml.Append("</richiesta03>");
|
|
xml.Append("</messaggio>");
|
|
xml.Append("]]>");
|
|
xml.Append("</string>");
|
|
xml.Append("</value>");
|
|
xml.Append("</param>");
|
|
xml.Append("</params>");
|
|
xml.Append("</methodCall>");
|
|
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create("http://" + serverPrometeia + ":" + portaServerPrometeia);
|
|
webrequest.KeepAlive = false;
|
|
webrequest.Method = "POST";
|
|
webrequest.ContentType = "text/xml";
|
|
webrequest.AllowAutoRedirect = false;
|
|
webrequest.Timeout = int.MaxValue;
|
|
BuildReqStream(ref webrequest, xml.ToString());
|
|
HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
|
|
Encoding enc = System.Text.Encoding.GetEncoding(1252);
|
|
StreamReader loResponseStream = new StreamReader(webresponse.GetResponseStream(), enc);
|
|
string Response = loResponseStream.ReadToEnd();
|
|
loResponseStream.Close();
|
|
webresponse.Close();
|
|
if (Response.ToLower().Contains("exception"))
|
|
{
|
|
throw new Exception("Esegui Motore Prometeia ha generato un errore: " + Response);
|
|
}
|
|
return 0;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine(ex.Message);
|
|
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
private static void BuildReqStream(ref HttpWebRequest webrequest, string xml)
|
|
{
|
|
byte[] bytes = Encoding.ASCII.GetBytes(xml);
|
|
webrequest.ContentLength = bytes.Length;
|
|
|
|
Stream oStreamOut = webrequest.GetRequestStream();
|
|
oStreamOut.Write(bytes, 0, bytes.Length);
|
|
oStreamOut.Close();
|
|
}
|
|
|
|
}
|
|
}
|