Collettore di web services

sabato 14 marzo 2009 - 23.41

todero Profilo | Newbie

salve,

sto cercando di realizzare un collettore di web services ma non riesco a capire come fare. Mi spiego meglio. Vorrei realizzare un server che consenta ad un client di effettuare delle operazioni di acquisto esponendo dei web services. A sua volta questo server, utilizzerà dei web services offerti da altri server per esaudire la richiesta. Nel dettaglio il servizio sarebbe l'acquisto di prodotti, il server dovrebbe esaudire la richiesta inoltrando la ricerca( tramite ai web services) verso diversi negozi.

Dunque la vendita on line dovrebbe avvenire tramite un unico servizio che fa da collettore di tutti i negozi.

Come faccio a far si che il collettore conoscendo solo gli url dei negozi, sia in grado di localizzare e sfruttare i loro web services?

qualche suggerimento?

grazie, ciauzzzzzzzz

todero Profilo | Newbie

scusate il ritardo con cui rispondo, ma avevo dimenticato di aver postato questa richiesta di aiuto.

Cmq si il suggerimento che hai indicato è proprio quello che ho adottato. Ovvero sto modificando dinamicamente il Web.config o meglio un file user.config al quale punto dal web.config, e per questo devo ringraziare l'articolo che ho trovato spulciando la documentazione ufficiale. L'ho trovato per caso, un vero colpo di fortuna.
I web services che uso hanno tutti la stessa firma WSDL(altrimenti non potrei utilizzare lo stesso codice per tutti). Ancora sto lavorando a questa soluzione, appena otterrò qualcosa di perfettamente funzionante o quasi, posterò qui stesso i dettagli necessari per l'implementazione, in modo che in futuro qualcuno non debba soffrire come me :-D

grazie, ciauzzzzzzzzzzzzzzzz


ok, vi posto la soluzione perfettamente funzionante. Lo scenario da me realizzato è costituito da un server che fa da collettore di servizi offerti da dei negozi di videonoleggio. Questo server a sua volta fornisce dei web services affinchè dei client mobili(applicazioni pocket pc o smartphone, non ancora implementate) possano effettuare i noleggi.
Il server possiede un proprio db che alimenta attraverso i web services forniti dai singoli punti vendita.
Cambio dinamicamente l'url del web service(quindi del negozio) da utilizzare(i web service usati dai negozi presentano tutti identica firma, ovvero identico wsdl) all'interno di un file di configurazione. Ho trovato questa soluzione nella documentazione del visual studio 2008. In particolare cercate la voce:

"Web projects and source control integration in visual studio .NET" e poi scorrete la pagina fino a raggiungere la seguente appendice:
Appendix A: setting up dynamic URL web references.

Nel file Web.config del server, ho modificato il seguente tag

<appSettings file="User.config"></appSettings>

ho cancellato i valori racchiusi tra i due tag appSettings ed ho incluso come proprietà il nome del file User.config che è il file dove definisco gli url.
Il mio file User.config è così composto:
<?xml version="1.0" encoding="utf-8">
<appSettings>
<add key="Ws1.Service1" value="http://localhost/nome_servizio/Service1.asmx"/>
</appSettings>

nel codice del web service, per richiamare il web service desiderato ho scritto

System.Configuration.ConfigurationManager.AppSettings.Set("Ws1.Service1",url del web service che si vuole richiamare sotto forma di stringa);

Ws1.Service1 servizio = new Ws1.Service1();
servizio.nome_metodo();
etc......

spero di essere stato d'aiuto a qualcuno. Resto cmq perplesso su alcuni aspetti: perchè nella documentazione si suggerisce di creare un file .config a parte invece di usare il Web.config stesso????

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5