Facebook Twitter Google+

.NET

Sabato, 12 Gennaio 2013 09:47

Integrazione c# - OpenBravo

Openbravo, tramite i suoi webservice, permette di eseguire interrogazioni di dati da programmi esterni sviluppati per le piu' svariate necessita'.
Per un cliente molto importante abbiamo sviluppato un software che gestisce il taglio delle travi d'acciaio, ovviamente integrato con OpenBravo (versione Enterprise).

Attenzione, OpenBravo ha un limite sulle chiamate ai Web-Service. Per la versione Enterprise non esistono limiti, mentre per le altre versioni il limite e' pari a 500 chiamate al giorno.

Prima di iniziare andiamo a vedere tutti gli oggetti disponibili; attraverso il link

 

http://[serverOpenBravo]/openbravo/ws/dal

otteniamo la lista di tutti gli oggetti esposti.


Ora in base a quello che vogliamo reperire dovremmo completare il link come segue:

http://[serverOpenBravo]/openbravo/ws/dal/[Oggetto]?where=[Condizioni Filtro]


Nel nostro esempio supponiamo di voler ottenere l'elenco delle Richieste d'Approvigionamento (RdA) confermate. La chiamata al Web-Service sara':

http://[serverOpenBravo]/openbravo/ws/dal/
ProcurementRequisition?where=documentStatus='CO'

 

Passiamo ad un po' di codice. Per recuperare i dati all'interno di un programma c# dovrai utilizzare questi comandi:

//Credenziali per utente
NetworkCredential cr = new NetworkCredential("utente","Password");
//Url WebService
string Url = "http://[serverOpenBravo/openbravo/ws/dal/ProcurementRequisition?where=documentStatus='CO'");
WebRequest request = WebRequest.Create(Url); 
request.Credentials = cr;
WebResponse response = request.GetResponse();
using (var srht = new System.IO.StreamReader(response.GetResponseStream()))
{
   //Usiamo Linq To Xml per analizzare la risposta dal web service di tipo Rest-Ful XML
   XDocument xmlDoc = new XDocument();
   xmlDoc = XDocument.Parse(srht.ReadToEnd());
   var terms = from term in xmlDoc.Descendants("ProcurementRequisition")
   //Analizzando l'XML scorriamo l'elenco delle testata
   select new
   {
      id = term.Attribute("id").Value,
      identifier = term.Attribute("identifier").Value
   }
}

 

Ovviamente questa a' una semplicissima guida che puo' essere estesa alla tue richieste particolari.

 

Se ha dubbi o perplessita' non esitare a contattarci alla nostra Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo. o qui sotto.

GMCE Staff

GMCE Staff

Email Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo.